1、磁盘引导阶段 mbr主引导记录异常的恢复
磁盘引导阶段 mbr主引导记录如果损坏或者缺失导致系无法正常启动。
模拟问题 :
使用该命令dd if=/dev/zero of=/dev/vda bs=446 count=1 #剪切446个字节的数据放入主引导记录所在的磁盘。通过 fdisk -l 查看系统存储设备,带有*的磁盘为主引导记录所在的磁盘。
出现系统启动异常
- 选择进入挽救模式
关闭虚拟机
讲系统安装包关在在光驱之上
chroot=/mnt/sysimage
grub2-install /dev/vda #恢复主引导记录mbr
exit
exit #退出挽救模式
退出使用系统镜像进行启动程序,选择使用硬盘进行系统启动。系统正常开启。
挽救模式只是临时使系统正常开启,正常进入系统之后需要再次对主引导记录进行恢复。
grub2-install /dev/vda
2、文件引导阶段引导文件丢失
引导文件: /boot/grub2/grub.cfg 作用:
1 指定/boot分区位置
2 加载内核
3 启动系统初始化进程
问题模拟:rm -fr /boot/grub2/grub.cfg 删除文件引导文件。
- 当系统没有重启的时候
grub2-mkconfig > /boot/grub2/grub.cfg
使用该命令直接生成新的引导文件即可。
- 当系统重新启动以后
grub> set root='hd0,msdos1' #指定/boot 分区的位置
#‘hd0,msdos1’(表示第一个磁盘的第一个分区),该位置为系统/boot分区所咋的位置,不是固定的,根据自己系统/boot分区的实际位置确定
grub> linux16 /vmlinuz-3.10-123.el7.x86_64 ro root=/dev/vd3 #指定内核文件以及根分区所在位置
#3.10-123.el7.x86_64为系统版本,根据具体系统版本而定;/dev/vd3 为/所在的设备名称,根据系统实际的根分区确定。
grub> initrd16 /initramfs-3.10.0-123.el7.x86_64.img
# 指定系统初始化文件
grub> boot #继续启动
以上操作可以是系统正常启动,但是时临时的,所以进入系统后哈时需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
才能生成新的引导文件,确保下次正常系统正常启动。
3、文件引导阶段内核文件丢失
内核文件:/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 #退出
退出挽救模式。选择使用磁盘启动系统 关闭虚拟机后开启,系统正常启动。
4、文件引导阶段系统初始化镜像文件丢失
系统初始化文件:/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 #显示当前系统版本
恢复正常 - 当系统重启之后
进入挽救模式
chroot /mnt/sysimage #切换到正常的跟环境,
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) # 重新生成系统初始化文件
退出挽救模式
使用磁盘启动系统即可
5、无限重启
模拟问题:systemctl set-default reboot #默认系统默认开机重启 导致一直在重新启动
开机时候在下图界面按上下键进行选择,然后按e
ctrl+x 继续进行系统启动
正常进入系统后 进行设置systemctl set-default graphical.target ,将默认指向图形模式
6、忘记超级用户密码,进行重新设置
忘记超级用户密码,无法使用超级用户,需重新进行设置。
开机时候在下图界面按上下键进行选择,然后按e
进入下图界面,对内核文件进行修改
ctrl+x 继续进行系统启动
touch /.autorelabel #在内核强制级别下需要让内核知道进行的修改。默认一般使用该步骤。
退出后系统正常启动,超级用户密码为新设置的密码。