感谢支持
我们一直在努力

RedHat 救援模式下排错

我们先要自己制造一个错误,导致系统无法启动,首先备份一下grub.conf、fstab两个文件,然后删除MBR前446个字节,删除引导程序(MBR的512字节中前446字节为引导程序,紧跟着后面64字节为分区表,最后面2个字节为结束标记)


修改系统的文件grub.conf、fstab  我这里就不删除了,只是更改名称让系统找不到就可以了


RedHat,Linux


使用以下命令把bootloader( 启 动引导程序MBR中的446字 )覆盖掉


dd if=/dev/zero of=/dev/sda bs=446 count=1


RedHat,Linux


重新引导系统


系统无法启动,没有引导程序


我们放入光盘,按F5进入救援模式输入Linux rescue


RedHat,Linux

选择英文的语言和键盘


RedHat,Linux


RedHat,Linux


是否配置网络,我们选择 NO


RedHat,Linux


选择继续


RedHat,Linux


然后进入了救援模式


使用fsdisk -l 查看一下分区请看

在当前的目录创建一个目录,用来挂载根


mkdir a


mount /dev/sda2 /a                        挂载根目录到a下


mount /dev/sda1 /a/boot                   挂载boot目录,因为它为单独分区


挂载成功之后就可以看到所有的系统文件,可以进行修复和修改文件了


恢复被我们修改的文件


RedHat,Linux


接下来是安装MBR中的446字节的引导程序


装grub就是装/boot/grub/stage1,救援模式下输入 #grub 就可以进入grub的命令模式下


1、root(hd0,0)  这里是指的第一块一盘的一个分区,就是要指定/boot所在的分区


2、setup(hd0) 这里是安装grub的意思,当出现successed就是安装成功了


3、quit退到shell模式


4、exit重启


重启后就自动进入了 grub> 的模式,在这里手动引导系统先看一下手动引导系统


root(hd0,0)  指定一下内核文件的位置,还是/boot目录所在的分区


kernel/vmlinuz-2…ro root=/dev/sda2 具体的内核文件并以只读的形式挂载上


initrd/initrd…….      具体的内存启动镜像


boot  加载系统


如下图:


RedHat,Linux


以上操作完成之后,进入系统,这时候系统的 grub.conf 尚未恢复,需要进入目录恢复此系统文件才算是系统修复完成了。


这里还有一个问题就是:假如我的系统分区除了/boot 之外全部是LVM卷,那么在救援模式下我们应该如何去激活这个LVM卷呢?

赞(0) 打赏
转载请注明出处:服务器评测 » RedHat 救援模式下排错
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏