实验环境:
GRUB是大多数Linux系统默认使用的引导程序,当“/boot/grub/grub.conf”配置文件丢失或者关键配置出现错误,或者MBR记录中的引导程序遭到破坏时,Linux主机启动可能会出现”grub>”的提示符,无法完成系统其它,如何修复系统
实验原理:
实验模拟:
一、系统/boot/grub/grub.conf文件丢失。
以下是正常的grub.conf配置文件,可以先参考下。
实验之前,先将grub.conf备份一份,以防出错。备份好之后,删除grub.conf文件,模拟文件丢失。
系统重启后,进入grub>模式
接下来开始恢复grub.conf信息,不过以下操作都是临时写入内存的,不会保存到/boot/grub/grub.conf文件中。
操作方法:
假如你不知道包含内核等引导文件的/boot分区所在的位置,可通过尝试进行,先输入”root (hd0,”然后按Tab键,其中后面写0X83的都是分区都有可能是/root分区,(0X82 是swap分区,就不用试了)
输入完成之后回车,接下来输入 kernel /vm 按Tab键,如果出来内容,说明选择对了;如果不对,再继续尝试。
补全了内核文件之后,还需要在后面设置内核加载权限为只读 ro,并通过“root=”指定根分区设备文件的位置。至于什么位置,只能一个一个试了。目前(hd0,0)、(hd0,2)都被使用了。剩下(hd0,1)和(hd0,3)[备注:(hd0,1)=/dev/sda2 (hd0,3)=/dev/sda4]
出现以下信息,说明选择的根分区不对,关闭电源继续。
关闭电源后,再开机,由于刚才写的内容都是暂时写入内存的,所以还需要重新写一遍。
最后一行输入启动内核所使用的临时系统镜像文件所在的位置,也是 先输入initrd /in 然后通过Tab补全即可,无需记忆。以下两种写法都可以。
重启后,正常进入系统。
如果在你没有grub.conf文件的情况下,只能通过手工编写grub.conf文件,防止下次重启再次进入grub>模式。
以下是默认的四行,必须写清楚,具体什么意思,参考man grub.conf文件。