本文大体顺序为:某故障—表现形式(图)—排错—修复
因MBR损坏导致系统故障无法重启
重启表现形式:
排错:
如果重启系统后出现上图所示界面说明MBR损坏了。因为是MBR损坏的原因,操作系统重启时认为系统硬盘根本不具有可引导功能了,所以把硬盘忽略过去,直接进入第二个启动设备光盘。
修复方法:
进入救援模式 — chroot /mnt/sysimage/
— grub-install
— sync
— exit
— reboot
这里略过进入救援模式的步骤
切根:chroot /mnt/sysimage/
进入救援模式制后需要注意当前的根并不是我们系统里的根,是光盘自带的小Linux的根,而真正的根在进入救援模式的时候已经帮我们寻找到并把它挂载到了/mnt/sysimage上,可通过df
命令查看
所以进入救援模式的shell
之后最好先进行切根操作
修复:用grub-install命令
命令grub-install
是修复grub
的,它可以把系统启动流程中的stage1
和stage1_5
阶段安装到对应的磁盘上去,并把二阶段的相关文件复制到boot
目录下。
同步数据:用sync命令
sync命令是同步缓存数据的,因为我们向磁盘里写数据是先写进缓存里再读进磁盘里的。所以这时候不能急,多同步几下,让数据完全写进磁盘里在退出重启。请看上图;
代码块:
bash-4.1# chroot /mnt/sysimage <---- 切根
sh-4.1# grub-install /dev/sda <---- 修复
sh-4.1# sync <---- 同步数据
sh-4.1# sync
sh-4.1# exit
grub的stage1_5阶段出现故障无法重启
重启表现形式:
排错:
看到上图可以确定是stage1_5阶段损坏引起的故障,导致无法重启。如果一阶段没出问题,MBR没坏,系统会认为磁盘能启动,不会进入到光盘界面,只是后续起不来了,想进二阶段进不去了。
修复方法:
和修复stage1阶段出故障一样,特别注意重启表现形式的区别。所以下面我列出步骤和命令代码块
进入救援模式 — chroot /mnt/sysimage/
— grub-install
— sync
— exit
— reboot
代码块:
bash-4.1# chroot /mnt/sysimage <---- 切根
sh-4.1# grub-install /dev/sda <---- 修复
sh-4.1# sync <---- 同步数据
sh-4.1# sync
sh-4.1# exit
grub 的2 阶段出故障导致无法启动
重启表现形式:
排错:
初始安装的时候/boot/grub/下的文件并不是放在该目录下的,而是放在扇区里,如果后期经过grub-install命令修复过故障,会把那些文件写在该目录下。所以再次出故障表现的形式也不一样,如上图所示;
修复方法:
修复方法还是进入光盘引导的救援模式;与上述的故障修复一样。
但是:
如果你是因为误操作把整个grub目下的所有文件都删除了的话,上面的修复步骤还不能完全修复好,grub下的grub.conf文件可不是grub-install命令可以生成的!grub.conf文件是由我们安装系统的时候安装向导程序 anaconda生成的!!所以当我们完成上面的步骤reboot之后我们还需手动制作grub.conf文件!
显示界面:
制作grub.conf文件:
因为系统又一次去扫文件,我们需要再一次执行上面的操作才算完成
结语
这里我只列出三种相似系统故障的表现形式和修复方法。
有文件损坏、误操作等各种原因引起的系统故障导致无法重启,其表现形式都有所不同。我也不能在这么一篇简简单单的博文里全部列出来。当然我菜鸟级别的技术水平,也列不出所有来。所以这篇博文我称之为第一篇。后续还有更新更多的相关博文。我好你好大家好才是真的好...
如果本文那里有误,我会非常愿意大家帮纠错。同时大家有其他更多的系统故障排错修复经验强烈要求分享给我吧,大牛们!!!