1.设置光盘启动拯救模式法
以虚拟机为例,我们删掉446字节MBR磁盘引导
dd if=/dev/zero of=/dev/vda bs=446 count=1
这时候系统就无法开机了
关闭后
进入virt-manager
添加光盘驱动。选择已有镜像。注意,镜像版本要与系统版本一致
在启动选项中将CDROM勾选并置顶
apply同意
选择Troubleshooting
选择第二项拯救模式
ok 进入
注意,正常启动后记得关机去boot option勾取CDROM,取消光盘启动
在恢复系统文件时,从光盘镜像恢复是最常用的做法
2)内核被删除
删除/boot/vmlinuz-3.10.0-123.e17.x86_64
重启报错
添加光盘启动项并链接镜像
chroot /mnt/sysimage 真实主机所在地
mount /dev/sr0 /rhel7.0/
找内核kernelrpm文件
拷贝到/mnt拆包
rpm2cpio kernel-XXXX.rpm | cpio -id
将解包出来的内核文件拷贝至真实主机/boot
exit x2
取消光盘启动即可
原理(安装镜像中有所有系统运行需要的内核文件,学会看报错,缺哪里,找哪里补上)
3)系统初始化镜像文件丢失
模拟问题:rm -rf /boot/initramfs-3.10.0-123.e17.x86_64.img 版本号
当系统没有重启时
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
适用所有版本
uname -r 查看内核版本号
当系统重启时,报错
设置光盘启动
chroot /mnt/sysimage
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
重新生成内核文件
exit x2
取消光盘启动即可
4)删掉/boot/
光盘启动,拯救模式
grub2-install /dev/vda
cp vmlinuz-3.10XXXXXXX /boot/
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
grub2-mkconfig > /boot/grub2/grub.cfg
即,将上述操作都做一遍,注意恢复顺序
2.手动引导启动
引导文件被删除
模拟实验:rm -rf -/boot/grub2/grub.cfg
1.当系统没有重新启动时:
grub2-mkconfig > /boot/grub2/grub.cfg
重定向恢复文件
2.当系统重启
grub > set root='hd0,msdos1'此部分内容不固定,位置指向/boot所在分区a代表0,msdos是MBR分区
可以看grub.cfg文件内容确定
grub > linux16 /挂载分区/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1
根分区设备名称
grub > initrd16 /挂载分区/initramfs-3.10.0-123.e17.x86_64.img
初始化程序指定镜像
grub > boot
以上操作可以使系统临时正常启动,但是进入系统后还要
grub2-mkconfig > /boot/grub2/grub.cfg
重定向恢复文件