硬盘引导阶段 将mbr被删除
模拟问题:
dd if=/dev/zero of =/dec/vda bs=446 count=1
重启会卡在这个界面
解决办法:
1、重新安装镜像——>force off ——>关闭虚拟机添加光盘,光驱——>从2DE启动开始
2、进入光盘启动,进入rescue模式
3、在shell里面输入chroot /mnt/sysimage
4、grub2-install 启动分区所在硬盘。
grub2-install /dev/vda
5、退出:exit——>exit
6、用硬盘启动,正常则完成;
然后退出设置硬盘启动,重启就可以了
文件引导阶段
(1)引导文件丢失,grub.cfg被删除
模拟 问题:rm -fr /boot/grub2/grub.cfg
[root@server ~]# rm -fr /boot/grub2/grub.cfg # 模拟文件丢失
解决办法(2种):
第一种:系统未启动时
1、用命令恢复:grub2-mkconfig>/boot/grub2/grub.cfg
[root@server ~]# grub2-mkconfig > /boot/grub2/grub.cfg # 重新生成引导文件
第二种:重启系统后reboot
[root@server ~]# reboot
1、硬盘启动
2、grub>set root='hd0,msdos1’启动分区,第一块硬盘,加载内核/镜像
3、grub>linux16/boot/vmlinuxz-3.10.0-123.e17.x86_64 root=/dev/vda1 ##加载内核
4、grub>initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img #启动镜像
5、grub>boot
6、生成引导文件:grub2 mkconfig >/boot/grub2/grub.cfg
7、进入cd /boot/grub2/查看是否存在grub.cfg
8、vim grub.cfg 成功恢复;
(2)内核文件丢失
模拟问题:rm -fr /boot/vmlinuxz-3.10.0-123.e17.x86_64
解决办法:
1、进入rescue模式
2、chroot /mnt/sysimage
3、mkdir /rhe7
4、mount /dev/sr0 /rhel7(名字随意)
5、cd kernel-3.10.0-123.e17.x86_64.rpm /mnt
6、rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm|cpio -id
7、cd boot
8、cp vmlinuxz-3.10.0-123.e17.x86_64 /boot
9、exit(两次)
(3)初始化镜像文件丢失
模拟问题:rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
[root@server ~]# cd /boot/
[root@server boot]# rm -fr initramfs-3.10.0-123.el7.x86_64.img # 模拟文件丢失
解决办法(2种):uname -r # 查看系统的内核版本号
1、当系统没有启动时
mkinitrd /boot/initramfs-$(uname -r).img $ (uname -r)
#建立要载入ramdisk的映像文件
[root@server boot]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) # 重新生成文件
[root@server boot]# ls
2、系统启动后
1、启动光驱
与第二个类似
(4)当/boot分区被删除
reboot
解决办法:
1、用光盘启动,进入rescue模式
2、chroot /mnt/sysimage
3、mkdir /boot
4、grub2-install /dev/vda
5、mount /dev/sr0 /mnt
6、rpm -ivh /mnt/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
7、生成引导文件:grub2-mkconfig > /boot/grub2/grub.cfg
开机启动级别被篡改
模拟问题:
systemctl set-default reboot.target
解决办法:
1、开机按上下键停止读秒
2、按e编辑
3、选择内核启动行
linux16 /vmlinuz-xxx ro xxxx改为:linux16 /vmlinuz-xxx rw rd.break
4、按ctrl+x
5、chroot /sysroot
6、rm -fr /etc/systemd/system/default.target
7、ln -s /lib/systemd/system/graphical,target /etc/systemd/system/default.target
8、exit(两次)
忘记超级用户密码
解决办法
1、开机按上下键停止读秒
2、按e编辑
3、选择内核启动行
linux16 /vmlinuz-xxx ro xxxx改为:linux16 /vmlinuz-xxx rw rd.break
4、按ctrl+x #启动
5、chroot /sysroot #改变根
6、passwd或echo westos(密码)|passwd --stdin root
7、touch /.autorelabel 因为在此情况下,SElinux没有启动,对所有文件的更改,可能会造成文档的context(安全上下文)为确保开机重新设定selinux context必须在根目录下添加隐藏文件.autorelabel
获得超户身份,直接修改密码即可