1.超级用户密码被篡改或丢失
修改倒数第五行
两次exit退出
2.grub磁盘引导阶段:
MBR主引导记录的恢复:
MBR的作用是为了记录/boot目标所在分区位置
磁盘的0磁道1扇区的前446字节。
模拟问题:dd if=/dev/zero of=/dev/sda bs=446 count=1
解决办法:手动引导第一块硬盘的第一个分区
进入挽救模式:(进入挽救模式前需要强制停止虚拟机,添加cdrom,并设置启动顺序为cdrom优先)
chroot /mnt/sysimage/
df
grub2-install /dev/sda ##启动分区所在的硬盘
exit
exit
退出后强制停止虚拟机,取消cdrom启动,再正常启动即可。
3.文件引导阶段:
1)引导文件丢失
df查看根分区和/boot分区上挂载的文件系统名称
/boot/grub2/grub.cfg ##指定/boot分区位置,加载内核并且只读挂载根,启动系统初始化进程 grub2-mkconfig。
模拟问题:rm -fr /boot/grub2/grub.cfg
解决办法:
当系统没有重新启动时:
grub2-mkconfig > /boot/grub2/grub.cfg #即可修复
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190214234215852.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyMTExNg==,size_16,color_FFFFFF,t_70)
当系统被重新启动:
最后
grub > boot
以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
2)内核文件丢失
模拟问题:rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
解决办法:
进入到挽救模式:
chroot /mnt/sysimage
mkdir /rhel
mount /dev/sr0 /rhel
cd /rhel/Packages
cp kernel-3.10.0-123.el7.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id ##解压内核文件包
ls
cd boot
cp vmlinuz-3.10.0-123.el7.x86_64 /boot ##将内核文件复制到/boot下
exit
exit
退出后强制停止虚拟机,取消cdrom启动,再正常启动即可。
3)系统初始化镜像文件丢失
模拟问题:rm -fr /boot/initramfs-3.10.0-514.el7.x86_64.img
解决办法:
当系统没有重启时:mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
mkinitrd ##内核版本
uname -r ##查看内核版本
当系统重启后:进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##创建镜像文件
cd /boot
ls
exit
exit
退出后强制停止虚拟机,取消cdrom启动,再正常启动即可。
4)当/boot分区被删除
模拟问题:rm -fr /boot/*
解决办法:
进入挽救模式
chroot /mnt/sysimage
mkdir /boot ##建立boot分区
grub2-install /dev/sda ##启动分区所在的硬盘
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force ##安装内核文件
grub2-mkconfig > /boot/grub2/grub.cfg ##引导文件
exit
exit
退出后强制停止虚拟机,取消cdrom启动,再正常启动即可。
5)启动级别被篡改
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
启动级别修改,造成一直重复开机操作
解决办法:
开机按上下键停止读秒
按“E”进入编辑模式
选择内核启动行
linux16 /vmliunz-xxxxxx ro xxxxxxxxxxxxxx
改为:
linux16 /vmliunz-xxxxxx ro xxxxxxxxxxxxxx 5
ctrl+x 启动系统
以上操作可以使系统正常启动,但是是临时的,所以进入系统后还是需要执行以下操作:
有无图形界面都可以