一.硬盘引导阶段
mbr主引导记录的恢复,如果损坏或者缺失则系统无法正常启动
模拟问题:dd if=/dev/zero of=/dev/vda bs=446 count=1
grub2-install 启动分区所在的硬盘
grub2-install /dev/vda
此时系统重启出现异常
关闭虚拟机
将系统启动模式改为光盘驱动,并将系统安装包关在光驱上
开启虚拟机并选择troubleshooting模式
进入挽救模式
chroot=/mnt/sysimage
grub2-install /dev/vda #恢复主引导记录mbr
exit
exit #退出挽救模式
选择使用硬盘启动程序而不是镜像
挽救模式只是临时使系统正常开启,正常进入系统之后需要再次对主引导记录进行恢复
二.文件引导阶段
引导文件: /boot/grub2/grub.cfg 使引导文件丢失
模拟问题:rm -fr /boot/grub2/grub.cfg 删除文件引导文件
查看引导文件
[root@localhost Desktop]# cd /boot
[root@localhost boot]# ls
config-3.10.0-327.el7.x86_64
grub2
initramfs-0-rescue-9470e338d3ad465ea024f4cb29aa9f63.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-9470e338d3ad465ea024f4cb29aa9f63
vmlinuz-3.10.0-327.el7.x86_64
[root@localhost boot]# cd grub2/
[root@localhost grub2]# ls
device.map fonts grub.cfg grubenv i386-pc locale themes
删除引导文件
[root@localhost Desktop]#rm -fr /boot/grub2/grub.cfg
当系统未重启
[root@localhost Desktop]#grub-mkconfig > /boot/grub2/grub.cfg ##恢复引导文件
当系统重启
grub> set root=‘hd0,msdos1’ #指定/boot 分区的位置
#‘hd0,msdos1’(表示第一个磁盘的第一个分区),该位置为系统/boot分区所咋的位置,不是固定的,根据自己系统/boot分区的实际位置确定
以上操作可以是系统正常启动,但是时临时的,所以进入系统后需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
才能生成新的引导文件,确保下次正常系统正常启动
以上操作可以是系统正常启动,但是时临时的,所以进入系统后哈时需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
才能生成新的引导文件,确保下次正常系统正常启动
三.文件引导阶段内核文件丢失
内核文件:/boot/vmlinuz-3.10.0-123.el7.x86_64
模拟问题: rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
进入挽救模式
chroot /mnt/sysimage #切换正常的跟环境
mount /dev/sr0 /mnt #将带有系统安装包的光驱挂载在任意目录上
cd /mnt #进入系统光盘
cp kernel-3.10.0-123.el7.x86_64.rpm /opt #将系统内核安装包复制到另一个目录
cd /opt # 切换到存放内核安装包的目录
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm |cpio -id #将压缩的安装包进行解压
ls #显示该安装包分解后产生的文件
cd boot/ # 进入解压后产生的boot目录中,该目录中存在需要的内核文件。
cp vmlinuz-3.10.0-123.el7.x86_64 /boot #将系统丢失的内核文件复制到/boot中
exit
exit #退出
退出挽救模式,将系统由镜像驱动改为硬盘驱动,重新启动虚拟机恢复正常
四.文件引导阶段系统初始化镜像文件丢失
系统初始化文件:/boot/initramfs-3.10.0-123.el7.x86_64.img
模拟问题 : rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
当系统未重启
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
uname -r #显示当前系统版本 恢复正常
当系统重启以后
进入挽救模式选择镜像驱动
退出挽救模式选择磁盘驱动虚拟机即成功
五.无限重启
模拟问题:systemctl set-default reboot ##默认系统默认开机重启 导致一直在重新启动
按上下键进行选择,按e进入更改模式
进入此界面
更改
更改成功,ctrl+x退出更改模式,系统进入正常启动模式
设置systemctl set-default graphical.target ,将默认指向图形模式
六.未进入系统前忘记超级用户密码
按e进入下列界面,对内核进行修改
ctrl+x进行系统启动
touch /.autorelabel #在内核强制级别下需要让内核知道进行的修改。默认一般使用该步骤。
退出后系统正常启动,超级用户密码为新设置的密码。