1、硬盘引导阶段
(1)模拟mbr主引导记录损坏
命令 | 功能 |
---|---|
dd if=/dev/zero of=/dev/vda(mbr所在设备) bs=446 count=1 | 在虚拟机中进行操作,将mbr主引导记录覆盖损坏 |
reboot | 重启模拟mbr主引导记录损坏后开机,此时使用硬盘无法开机 |
(2)mbr主引导记录如何恢复
命令 | 功能 |
---|---|
Boot Options–>将IDE CDROM 1上移 | 给虚拟机挂载镜像,使用镜像开机 |
选择Troubleshooting | |
选择Rescue a Red Hat Enterprise Linux system | 进入到设置界面 |
选择1)Continue | 开始设置 |
按键盘回车键 | 打开一个虚拟系统的shell |
输入chroot /mnt/sysimage | 打开一个真实系统的shell进行操作 |
grub2-install /dev/vda(mbr所在设备) | 恢复mbr |
exit | 退出真实系统的shell |
exit | 推出虚拟系统的shell |
Boot Options–>将VirtIO Disk 1上移 | 恢复硬盘开机 |
重新启动虚拟机 | 查看是否能正常开机,此时应能正常开机 |
2、文件引导阶段
(1)模拟引导文件丢失
命令 | 功能 |
---|---|
/boot/grub2/grub.cfg | 引导文件所在绝对地质 |
rm -rf /boot/grub2/grub.cfg | 删除文件,模拟引导文件丢失的问题 |
reboot | 重启模拟丢失后开机,此时无法正常开机 |
(2)引导文件丢失如何恢复
命令 | 功能 |
---|---|
set root=‘hd0,msdos1’ | 指定内核文件和初始化镜像文件在哪个分区 |
linux16 /vmlinuz-3.10.0-514.e17.x86_64 ro root=/dev/vda3(根挂在的设备) | 开启内核文件,只读模式 |
initrd16 /initramfs-3.10.0-514.e17.x86_64.img | 运行初始化镜像文件 |
boot | 设定完成后重启 |
grub2-mkconfig > /boot/grub2/grub.cfg | 此时可正常开机,开机后使用命令自动创建引导文件内容,将之放入引导文件中 |
reboot | 引导文件恢复完成,重启查看是否可以正常开机,此时应可以正常开机 |
3、内核文件丢失
(1)模拟内核文件丢失
命令 | 功能 |
---|---|
rm -rf /boot/vmlinuz-3.10.10-514.e17.x86_64 | 删除内核文件,模拟丢失 |
reboot | 重启模拟丢失后开机,此时无法正常开机 |
(2)内核文件丢失如何恢复
命令 | 功能 |
---|---|
Boot Options–>将IDE CDROM 1上移 | 给虚拟机挂载镜像,使用镜像开机 |
选择Troubleshooting | |
选择Rescue a Red Hat Enterprise Linux system | 进入到设置界面 |
选择1)Continue | 开始设置 |
按键盘回车键 | 打开一个虚拟系统的shell |
输入chroot /mnt/sysimage | 打开一个真实系统的shell进行操作 |
mount /dev/sr0 /media | 挂载镜像 |
cd /media | 进入到挂载的目录方便操作 |
cd Packages | 进入到镜像中的该目录 |
cp kernel-3.10.0-514.e17.x86_64.rpm /mnt | 将内核安装包复制至mnt方便操作 |
cd mnt | 进入到mnt方便操作 |
rpm2cpio kernel-3.10.0-514.e17.x86_64.rpm | cpio -id |
cd boot | 进入到解开后的mnt下的boot中 |
ls | 查看是否有内核文件,找到内核文件 |
cp vmlinuz-3.10.10-514.e17.x86_64 /boot | 将内核文件复制至原先所在的目录,恢复完成 |
exit | 退出真实shell |
exit | 退出虚拟shell |
Boot Options–>将VirtIO Disk 1上移 | 恢复硬盘开机 |
重新启动虚拟机 | 查看是否能正常开机,此时应能正常开机 |
4、初始化镜像文件丢失
(1)模拟初始化镜像文件丢失
命令 | 功能 |
---|---|
rm -rf initramfs-3.10.0-514.e17.x86_644.img | 删除初始化镜像文件,模拟丢失 |
reboot | 重启虚拟机,模拟丢失后开机 |
(2)初始化镜像文件如何恢复
命令 | 功能 |
---|---|
Boot Options–>将IDE CDROM 1上移 | 给虚拟机挂载镜像,使用镜像开机 |
选择Troubleshooting | |
选择Rescue a Red Hat Enterprise Linux system | 进入到设置界面 |
选择1)Continue | 开始设置 |
按键盘回车键 | 打开一个虚拟系统的shell |
输入chroot /mnt/sysimage | 打开一个真实系统的shell进行操作 |
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) | 生成一个新的初始化镜像文件 |
exit | 退出真实shell |
exit | 退出虚拟shell |
Boot Options–>将VirtIO Disk 1上移 | 恢复硬盘开机 |
重新启动虚拟机 | 查看是否能正常开机,此时应能正常开机 |
5、系统感染病毒后开机自动重启
开机启动级别可能被篡改
命令 | 功能 |
---|---|
/etc/systemd/default.target | 可能是该文件的链接地址被修改为reboot.target |
在启动时选择系统时按e | 进入编辑界面 |
找到linux16 xxx(内核设定行),添加5 | 可添加0-6,表示开启时的模式,5为图形模式,3为多用户模式,这里开启图形模式 |
Ctrl + x | 更改完成后保存并执行,系统自动正常开启 |
cd /etc/systemd | 开启后进入该目录方便操作 |
systemctl set-default graphical.target | 设定以图形模式开机 |
reboot | 检测设定是否生效,此时系统以图形模式正常开机 |
6、超级用户密码丢失如何重置
命令 | 功能 |
---|---|
开机时在选择系统界面停留,按E | 进入编辑模式 |
找到内核启动行:linux16开头的行 | 编辑该行 |
删除ro之后的所有,再将ro改为rw | 该为可读 |
在rw后添加“ rd.break” | 编辑完成后Ctrl+x启动系统 |
输入chroot /sysroot | 启动一个真实的shell |
echo 123456 | passwd --stdin root |
touch ./autorelabel | 建立selinux重新初始化标识文件 |
exit | 退出真实shell |
exit | 退出虚拟shell,系统自动重启,改动生效,密码已修改为123456 |