**
Redhat常用的系统排错方法
**
下面先对系统的引导流程进行简述
1.通电
2.bios(basic input or output system基本输入输出系统)初始化,主要作用是自检及初始化,开机后bios最先被启动,他会对电脑的硬件设备进行完全彻底的检验和测试。
3.grub系统引导
grub系统有2个阶段:
1.mbr主引导记录,在硬盘的0磁道,1扇区,共446字节
2.grub文件引导阶段
4.启动内核,只读挂载根设备,检测设备,对设备驱动进行初始化。
5.系统初始化阶段:系统初始化阶段加载initrd镜像,开启初始化进程systemd,开启selinux,加载内核参数,初始化系统时钟,键盘,主机名称,重新读写挂载设备,激活RAID,lvm,激活配额,启动multi-user.target.wants中的所有服务,开启虚拟控制台,启动图形界面。
**
问题一:硬盘引导阶段 mbr主引导记录的恢复
**
mbr 的作用是为了记录 /boot 目录所在分区位置,磁盘的 0 磁道 1 扇区的前 446 字节。
模拟问题
问题样式
解决办法
- 将系统镜像导入光盘
完成!!
**
问题二:文件引导阶段
**
模拟错误
rm -fr /boot/grub2/grub.cfg
系统没有重启时
grub2-mkconfig>/boot/grub2/gurb.cfg # 修补文件
当系统已经重启,出现问题如下:
set root = 'hd0,msdos1' # 找boot分区的挂载点
linux16 /vmlinuz-3.10.0-327.e17.x86_64 ro root=/dev/sda3 #根分区设备名称,系统内核文件
initrd16 /initramfs-3.10.0-327.e17.x86_64.img #系统初始化镜像文件
重启成功以后:
grub2-mkconfig > /boot/grub2/grub.cfg
**
问题三:内核文件丢失
**
模拟错误情况:
rm -rf /boot/vmlinuz-3.10.0-327.el7.x86_64
与问题一中同样进入挽救者模式
chroot /mnt/sysiamge #切根
mkdir /rhel7
mount /dev/cdrom /rhel7 #镜像挂载
cp /rhel7/Packages/kernel-3.10.0-327.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0-327.e17.x86_64.rpm | cpio -id
cd boot #cd /mnt/boot
cp vmlinuz-3.10.0-327.e17.x86_64 /boot
exit
exit
问题五:系统初始化镜像文件丢失
模拟错误情况:
rm -rf /boot/initramfs-3.10.0-327.e17.x86_64.img
如果系统还没有重启:
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
如果系统重启了以后就会出现如下报错
同样进入挽救者模式
chroot /mnt/sysimage/
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
问题六:/boot分区被删除
模拟错误情况:
rm -fr /boot/*
出现如下错误情况
同样先进入挽救者模式
chroot /mnt/sysimage
grub2-install /dev/sda3 #安装引导
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-327.e17.x86_64.rpm --force #内核被删了,需要重新安装,强制安装
grub2-mkconig > /boot/grub2/grub.cfg
问题七:如果忘记密码
开机按上下键
按 ’e‘进入编辑模式
上下键 到linux16 /boot/vmlinuz-xxxxxxxxxxxxxxxx
删除该行ro后的内容 改ro为rw rd.break ctrl+x chroot /sysroot/ passwd
输入密码 确认密码
touch /.autorelable
输入两次exit