|
我们在引导修复时需要利用光盘进入系统,所以需要事先为虚拟机添加一个挂载了系统镜像的光驱、挂载系统镜像到光盘 
?挂载系统镜像到光盘

?1、磁盘引导
问题模拟:
[root@westoslinux ~]# fdisk -l
Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors ##系统启动分区/dev/vda1处于系统硬盘/dev/vda上
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x34fd8722
Device Boot Start End Sectors Size Id Type
/dev/vda1 * 2048 2099199 2097152 1G 83 Linux
/dev/vda2 2099200 6293503 4194304 2G 82 Linux swap / Solaris
/dev/vda3 6293504 41943039 35649536 17G 83 Linux
dd if=/dev/zero of=/dev/vda bs=446 count=1 ##清空系统启动磁盘/dev/sda上的mbr数据
reboot ##重启
重启系统,系统找不到启动分区,停止启动
引导恢复
按e进入挽救模式,选择Troubleshooting

选择Rescue a Red Hat Enterprise linux system 
?输入1,continue
?重新安装grub2到系统硬盘/dev/vda 
?编辑/etc/sysconfig/selinux文件,设置SELINUX=disabled

?关闭虚拟机,设定用硬盘启动系统,可以成功开启虚拟机,完成引导恢复。
grub2文件引导
系统文件引导过程中需要用到以下两类引导文件: 一个主引导文件:/boot/grub2/grub.cfg 两个子引导文件:/boot/loader/entries/xxxxxxxxx.conf 主引导文件指定启动分区/boot位置,子引导文件指定系统启动时加载的文件名称,这两类文件丢失时系统无法启动。
1、问题模拟:主引导文件丢失
rm -fr /boot/grub2/grub.cfg删除主引导文件

?解决:
重新生成主引导文件,引导恢复完成

2、问题模拟: 子引导文件丢失
rm -fr /boot/loader/entries/xxxxxxxxx.conf删除子引导文件,重启虚拟机,无法成功开启


解决:
手动引导,开启虚拟机

?kerne-install add 内核版本号 内核镜像重新生成内核引导文件,引导恢复完成

内核加载
系统启动过程中通过加载/boot/vmlinuz-$(uname -r)这一内核初始化硬件设备,内核丢失后,系统报错无法重新启动。
问题模拟: ?
rm -fr /boot/vmlinuz-$(uname -r)删除/boot下的系统内核

解决:
关闭虚拟机,设定用光驱启动系统

复制光驱系统中usr下的内核文件到/boot中即可完成恢复

?关闭虚拟机,设定用硬盘启动系统,可以成功开启虚拟机。
系统初始化镜像
问题模拟:
rm -fr /boot/initramfs-xxxxx.img删除/boot下的系统初始化镜像
引导解决:

?系统启动级别
????????级别号?? ?含义 ????????????????0?? ?关机 ????????????????1?? ?单用户 ????????????????2?? ?无图形网络模式 ????????????????3?? ?无图形网络模式 ????????????????4?? ?无图形网络模式 ????????????????5?? ?有图形网络模式 ????????????????6?? ?重启
问题模拟:
设定系统默认启动级别为6,重启虚拟机,系统会一直处于重启状态,无法开启虚拟机
解决:在开机选择界面按 e 进入到引导文件编辑模式,在内核加载选项最后加入启动级别5,ctrl+x后可以成功开启虚拟机。

超级用户密码破解
在开机选择界面按 e 进入到引导文件编辑模式,删除到ro选项,更改ro为rw,加入rd.break参数终止系统启动进入单用户模式;

?切换到真实系统环境的shell下,修改超级用户密码,建立 /.autorelabel 文件

?重启虚拟机,超级用户密码更改完成,可以成功登录超级用户。
|