[email protected]启动阶段系统排错
启动阶段系统排错
本节介绍系统排错,但首先要了解系统启动的引导过程,即如下:
如上,假使某一过程出了问题系统将会无法正常启动。那该如何解决呢?接下来我们将以问题的模拟及解决的方式来学习本节内容
1. 磁盘引导阶段
mbr主引导记录的恢复问题模拟:
dd if=/dev/zero of=/dev/sda bs=446 count=1
RESCURE:grub2-install 启动分区所在的硬盘
*法一:
>>grub2-install /dev/sda
*法二:
>>reboot
>>chroot /mnt/sysimage #切换成root模式
>>grub2-install /dev/sda
其启动过程解决如下:
1)页面显示如下
2)关闭虚拟机,并添加磁盘
3)设置从磁盘启动
4)进入挽救模式
5)选择第二项,接下来会得到一个shell
6)在shell中输入如下命令
7)关掉虚拟机,并设置为从硬盘启动
2. 文件引导阶段
1)引导文件丢失/boot/grub2/grub.cfg
问题模拟:rm -rf /boot/grub2/grub.cfg
*法一:
直接在shell中输入如下命令
>>grub2-mkconfig > /boot/grub2/grub.cfg
*法二:
>>reboot
其恢复如下:
grub > set root='hd0,msdos1' ##此位置是不固定的,位置指定/boot所在分区
grub > linux16 /vmlinuz-3.10.0-327.el7.x86_64 ro root=根分区的设备名称
grub > initrd16 /initramfs-3.10.0-327.el7.x86_64.img
注:以上操作可以使系统正常运行,但是是临时的,所以进入系统后还是要执行:
>>grub2-mkconfig > /boot/grub2/grub.cfg其启动过程解决如下:
页面显示如下:
输入如下命令,可用table键补齐
开启后莫忘执行如下命令
2)内核文件丢失
问题模拟:
rm -rf /boot/vmlinuz-3.10.0-327.el7.x86_64
*法一
>>mount /dev/cdrom /mnt
>>rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
*法二
其开始方式如上,从磁盘启动进入到挽救模式
>>cp /run/install/repo/Packages/kernel-3.10.0-123.e17.x86_64.rpm /mnt/sysimage/mnt
>>cd /mnt/sysimage/mnt
>>rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
>>cd boot/
>>cp vmlinuz-3.10.0-123.e17.x86_64 /mnt/sysimage/boot
3)系统初始化镜像文件丢失
问题模拟:
rm -rf /boot/initramfs-3.10.0-123.el7.x86_64.img
*法一:
直接在shell中执行如下命令
>>mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
*法二:
>>reboot
>>进入挽救模式
>>chroot /mnt/sysimage/
>>mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
4)当/boot/分区被删掉后
>>进入到挽救模式
>>chroot /mnt/sysimage
>>mkdir /boot
>>grub2-install /dev/vda
>>mount /dev/cdrom /mnt
>>rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
>>grub2-mkconfig > /boot/grub2/grub.cfg