1.硬盘引导阶段 mbr主引导记录的恢复
fdisk -l ## 查询启动分区所在硬盘
*表示有自举功能,可以自举。
模拟问题:mbr主引导记录的恢复
dd if=/dev/zero of=/dev/vda bs=446 count=1
解决办法:
进入挽救模式
grub2-install 启动分区所在硬盘
grub2-install /dev/vda ##恢复硬盘引导
2.文件引导阶段
1.引导文件丢失
/boot/grub2/grub.cfg
模拟问题:rm -rf /boot/grub2/grub.cgf
当系统没有重新启动时
grub2-mkconfig > /boot/grub2/grub.cfg ##生成引导文件
当系统被重新启动
grub > set root='hd0,msdos1' ##此位置不是固定的,位置指定/boot所在分区(第一块硬盘的第一个分区)
grub > linux16 /vmlinuz-3.10.0-514.e17.x86_64 ro root=/dev/vda3##根分区的设备名称
grub > initrd16 /initrams-3.10.0-514.e17.x86_64.img
grub > boot
以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
2.内核文件丢失
模拟问题:rm -rf /boot/vmlinuz-3.10.0-123.el7.x86_64
解决方法:
进入挽救模式
选择光盘启动
光盘加入镜像文件
启动后选择troubleshoot
选择rescure挽救模式
1 continue
chroot /mnt/sysimage ##改变程序执行时参考的根目录位置(增加系统安全性)
mkdir /rhel7 ##建立临时挂载目录
mount /dev/sr0 /rhel7 ##将光盘挂载在/rhel7
cd /rhel7/Packages ##进入数据包
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt ##复制内核文件到/mnt
cd /mnt
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id ##拆解安装包
cd boot
cp vmlinuz-3.10.0-123.el7.x86_64 /boot ##复制删除的文件到/boot
exit
exit
3.系统初始化镜像文件丢失
模拟问题:rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##只能用命令恢复(uname -r)#查询系统版本号
当系统重启后
进入挽救模式
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.el7.x86_64.rpm --force ##强制安装内核
grub2-mkconfig > /boot/grub2/grub.cfg ##生成引导文件
5.系统启动级别被篡改,无法进入登陆界面
模拟问题:
rm -rf /etc/systemd/system/default.target
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
##重启后会无限重启
解决方法:
在引导界面按e进入编辑模式
在linux16 /vmlinuz-0-rescue-e… …=autorhgb quiet 后面加上5 ##设定启动级别5以图形界面启动
ctrl+x 执行
进入后
[root@foundation75 ~]#systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.