一招搞定grub.conf文件丢失

回复 收藏

今天做扩展练习。铭哥帖子:http://ask.apelearn.com/question/5472   

作为新手的我,对于内核并不是很懂,相信很多同学在照着帖子做的时候并不能完全成功。(因为内核版本不同)

此贴作为grub.conf丢失问题的补充。希望能帮助有需要的同学

原文:http://dreamfire.blog.51cto.com/418026/1076824/

教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏

实验环境:

1.png

2.jpg

GRUB是大多数Linux系统默认使用的引导程序,当“/boot/grub/grub.conf”配置文件丢失或者关键配置出现错误,或者MBR记录中的引导程序遭到破坏时,Linux主机启动可能会出现”grub>”的提示符,无法完成系统其它,如何修复系统

实验原理:

实验模拟:

一、系统/boot/grub/grub.conf文件丢失。

以下是正常的grub.conf配置文件,可以先参考下。

3.jpg

实验之前,先将grub.conf备份一份,以防出错。备份好之后,删除grub.conf文件,模拟文件丢失。

4.png

系统重启后,进入grub>模式

5.jpg

接下来开始恢复grub.conf信息,不过以下操作都是临时写入内存的,不会保存到/boot/grub/grub.conf文件中。

操作方法:

假如你不知道包含内核等引导文件的/boot分区所在的位置,可通过尝试进行,先输入”root (hd0,”然后按Tab键,其中后面写0X83的都是分区都有可能是/root分区,(0X82 是swap分区,就不用试了)

输入完成之后回车,接下来输入 kernel /vm 按Tab键,如果出来内容,说明选择对了;如果不对,再继续尝试。

6.jpg

补全了内核文件之后,还需要在后面设置内核加载权限为只读 ro,并通过“root=”指定根分区设备文件的位置。至于什么位置,只能一个一个试了(如果位置不对。boot之后会出现错误提示:下下图所示)。目前(hd0,0)、(hd0,2)都被使用了。剩下(hd0,1)和(hd0,3)[备注:(hd0,1)=/dev/sda2 (hd0,3)=/dev/sda4]

7.jpg

出现以下信息,说明选择的根分区不对,关闭电源继续。

8.jpg

关闭电源后,再开机,由于刚才写的内容都是暂时写入内存的,所以还需要重新写一遍。

最后一行输入启动内核所使用的临时系统镜像文件所在的位置,也是 先输入initrd /in 然后通过Tab补全即可,无需记忆。以下两种写法都可以。

9.jpg

10.jpg

重启后,正常进入系统。

11.png

如果在你没有grub.conf文件的情况下,只能通过手工编写grub.conf文件,防止下次重启再次进入grub>模式。

12.png

以下是默认的四行,必须写清楚,具体什么意思,参考man grub.conf文件。

13.png

timeout:等待用户动作倒计时

title:可自己定义

第五行开始写kernel文件,通过一些特殊命令协助你写完kernel文件。在vim查找模式下输入.! 命令可以将结果追加到文档后面。

建议:光标移到空行,再输入命令。否则将覆盖光标所在行的内容

14.jpg

#blkid /dev/sda4 显示分区的UUID信息

15.jpg

得到/dev/sda4的uuid,以uuid启动。注意:root=这段(没有双引号 及空格)

16.jpg

17.jpg

18.jpg

下面就写好了grub.conf的配置文档

19.jpg

ro --- 只读rhgb --- redhat graphics boot 就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后dmesg也可以看到。quiet --- 表示在启动过程中只有重要信息显示,类似硬件自检的消息不显示

重启系统,看是否能进入系统

进入成功。

20.jpg

原文还有一个grub.conf文件破坏的解决方式。。

2016-12-03 00:21 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: