首先学会进入挽救模式
##首先添加一个与自己系统版本一致的镜像文件当作光驱
##将光盘启动选为默认
##选择第三个enter
##选择第二个进入挽救模式
##进入主机操作shell
一、硬盘引导阶段 (mbr主引导记录的恢复)
#模拟问题:(开机无法进入系统)
mbr主引导为446b
dd if=/dev/zero of=/dev/vda(fdisk -l 查看,不同主机可能不同) bs=446 count=1
##进入挽救模式操作(进入方法见文章开头)
##关闭系统(输入两次exit),修改开机默认选项,重新进入系统
二、文件引导阶段
1.引导文件丢失
文件:/boot/grub2/grub.cfg
#模拟问题:
rm -fr /boot/grub2/grub.cfg
##当系统没有重新启动时(重新生成配置文件即可)
grub2-mkconfig > /boot/grub2/grub.cfg
##当系统被重新启动(直接reboot就是下面的界面)
##ENTER后进入系统
(但这只是一次性的修复,下次启动时还需重复此操作,若要彻底解决,则进入系统后执行下面的命令)
grub2-mkconfig > /boot/grub2/grub.cfg
(2)#修改开机默认引导是第几个(使双系统默认windons启动)
grub2-set-default 2 (即第三个选项为windowns)
2.内核文件丢失
#模拟问题:
rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
##进入到挽救模式
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/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
cd boot
cp vmlinuz-3.10.0-123.el7.x86_64 /boot
exit
exit
3.系统初始化镜像文件丢失
#模拟问题
rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
##当系统没有重启时(uname -r 是内核的版本号)
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
##当系统重启后
进入挽救模式
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
4.当开机启动级别被篡改
#错误形成
systemctl set-default reboot.target ##reboot后就会陷入自动开机关机的死循环
##解决方法
1.开机按上下键停止读秒
2.选择第一个,按“E”进入编辑模式
3.选择内核启动行
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx 改变为:
linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxxx 5
4.启动系统
ctrl + x
5.重新设定启动(恢复正常启动)
systemctl set-default graphical.target
四、忘记超级用户密码时的解决方法
1.开机按上下键停止读秒
2.选择第一个,按“E”进入编辑模式
3.删除linux16 开头的那一行ro后的所有包括ro,然后加上 rw rd.break
4.ctrl+x 启动系统
5.chroot /sysroot/ ##进入用户操作界面
6.输入passwd更改密码
7.touch /.autorelabel ##使selinux识别我们更改的信息
exit
exit