- 系统引导
MBR,它是Master Boot Record的缩写。硬盘的0柱面,0磁头,0扇区称为主引导扇区。它由三部分组成,包括512个字节。
- 主引导记录(mbr——master boot record),占用446个字节。
- 主分区表(mpt——master partition table),占用64个字节。每个盘符占16个字节,一共可以分4个盘符。
- 硬盘有效性标识(55aa),占用2个字节。
一.硬盘引导阶段:主引导记录(MBR)丢失的情况下的处理办法
模拟问题:
假如,我们在虚拟机中执行下面的操作让磁盘破坏:
dd if=/dev/zero of=/dev/vda bs=446 count=1
reboot
重启后会出现下面的错误:
解决方法:首先进入援救模式
1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)
2.在真机(物理机)中利用命令关闭desktop虚拟机
rht-vmctl poweroff desktop
3.在真机(物理机)中打开虚拟机管理器
方法一:图形方式
Applications-------System Tools------Virtual Machine Manager
方法二:命令行方式
vire-manager
4.添加光驱设备
双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束
5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply
6.选择右三角图表,打开desktop虚拟机-----选择Troubleshooting
7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式
8.在援救模式切换到真实环境
chroot /mnt/sysimage
grub2-install /dev/vda
9.点击倒三角,Force Off----关闭虚拟机
10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply
11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动
二.文件引导阶段:引导文件丢失的情况下的处理办法
模拟问题:
假如,我们在虚拟机中执行下面的操作让grub文件丢失:
rm -rf /boot/grub2/grub.cfg
解决方法:
1.如果此时虚拟机没有重启,执行下面的命令重新生成grub.cfg文件即可
grub2-mkconfig > /boot/grub2/grub.cfg
2.如果此时虚拟机已经重启,那么需要手动进行引导
手动引导方法:
(1)输入下面的命令:
set root='hd0,msdos1' hd0,msdos1表示第一个磁盘的第一个分区
linux16 /boot/vmlinuz-3.10.0-123 .e17.x86_64 ro root=/dev/vda1
initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img
boot 引导完成,启动系统
此时虚拟机可以正常启动,
(2)进入desktop虚拟机之后,执行命令重新生成grub2.cfg文件即可,下次可以正常启动desktop虚拟机
grub2-mkconfig > /boot/grub2/grub.cfg
三.文件引导阶段:内核文件丢失的情况下的处理办法
模拟问题:
假如,我们在虚拟机中执行下面的操作让内核文件丢失:
rm -rf /boot/vmlinuz-3.10.0-123.e17.x86_64
reboot
重启后,会出现下面的错误
解决方法:首先进入援救模式
1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)
2.在真机(物理机)中利用命令关闭desktop虚拟机
rht-vmctl poweroff desktop
3.在真机(物理机)中打开虚拟机管理器
方法一:图形方式
Applications-------System Tools------Virtual Machine Manager
方法二:命令行方式
vire-manager
4.添加光驱设备
双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束
5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply
6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting
7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式
8.在援救模式切换到真实环境
chroot /mnt/sysimage
mkdir /rhel7
mount /dev/sr0 /rhel7
cd /rhel7/Packsges
cp kernel-3.10.0-123.e17.x86_64.rpm /mnt
cd /mnt
rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id
cd boot
cp vmlinuz-3.10.0-123.e17.x86_64 /boot
exit 退出系统真实环境
exit 退出挽救模式
9.点击倒三角,Force Off----关闭虚拟机
10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply
11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动
四.文件引导阶段:系统初始化镜像文件丢失的情况下的处理办法
模拟问题:
假如,我们在虚拟机中执行下面的操作让系统初始化镜像文件丢失:
rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
解决方法:首先进入援救模式
1.如果此时虚拟机没有重启,执行下面的命令重新生成文件即可
mkinitrd /boot/initramfs-3.10.0-123.el7.x86_64.img 或者
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
其中uname -r是用来查看内核版本号的。
2.如果此时虚拟机已经重启,那么需要手动进行引导
手动引导方法:
1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)
2.在真机(物理机)中利用命令关闭desktop虚拟机
rht-vmctl poweroff desktop
3.在真机(物理机)中打开虚拟机管理器
方法一:图形方式
Applications-------System Tools------Virtual Machine Manager
方法二:命令行方式
vire-manager
4.添加光驱设备
双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束
5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply
6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting
7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式
8.在援救模式切换到真实环境
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
exit 退出系统真实环境
exit 退出挽救模式
9.点击倒三角,Force Off----关闭虚拟机
10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply
11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动
五.文件引导阶段:/boot分区丢失的情况下的处理办法
模拟问题:
假如,我们在虚拟机中执行下面的操作让/boot丢失:
rm -fr /boot
reboot
重启系统之后,会出现下面的错误
解决方法:首先进入援救模式
1.准备好与虚拟机对应的版本镜像(以7.0的desktop虚拟机为例)
2.在真机(物理机)中利用命令关闭desktop虚拟机
rht-vmctl poweroff desktop
3.在真机(物理机)中打开虚拟机管理器
方法一:图形方式
Applications-------System Tools------Virtual Machine Manager
方法二:命令行方式
vire-manager
4.添加光驱设备
双击desktop-------选择小灯泡---------AddHardware------Select or create custom storage选择相应的镜像------Device Type选择光驱设备(CDROM device)---------点击finish结束
5.Boot Options--------Boot device order 将之前的硬盘驱动改为光驱驱动,即把光驱驱动放在首位----------Apply
6.点击小电视的图标,选择右三角图表,打开desktop虚拟机-----选择Troubleshooting
7.选择Rescue a Red Hat Enterprise Linux system,进入援救模式
8.在援救模式切换到真实环境
chroot /mnt/sysimage
mkdir /boot
grub2-install /dev/vda
mount /dev/cdrom /mnt
rpm -ivh /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm --force
grub2-mkconifg > /boot/grub2/grub.cfg
exit 退出系统真实环境
exit 退出援救模式
9.点击倒三角,Force Off----关闭虚拟机
10.选择小灯泡-----Boot Options--------Boot device order 将之前的光驱驱动改为硬盘驱动,即把硬盘驱动放在首位----------Apply
11.选择右三角图表,打开desktop虚拟机,desktop虚拟机可以正常启动
六.开机启动级别被篡改的情况下的处理办法
启动级别0-6
0 表示关机
1 表示单用户修改密码
2-4 表示无图形
5 表示图形开启
6 表示重启
模拟问题:
假如,我们在虚拟机中执行下面的操作让开机过程中发生错误:
systemctl set-default reboot.target
reboot
开机之后会出现下面的错误:
系统一直在反复的重启,就是进入不了登陆界面。
解决方法:
1.开机按上下键停止读秒
2.按“e”进入编辑模式
3.选择内核启动行:
找到linux16引导条目这一行,从这行删除到ro选项,并把ro改为rw,然后添加rd.break
4.ctrl +x启动设定过后的的系统引导条目
5.进入系统后执行chroot /sysroot:切换到真实的系统环境 输入命令:chroot /sysroot/
6.rm -fr /etc/systemd/system/default.target
7.ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
8.两次exit使系统自动重新启动 输入命令:exit exit
此时desktop虚拟机可以正常启动了