APUE学习第二天(1)——双系统重装Ubuntu出现:error file not found. grub rescue之grub修复

昨天把etc/的权限搞乱了,决定重装系统(换成Ubuntu12.04)。但昨晚重装之后,windows的正版验证失效了,久试无果,这个以后在修复吧,当务之急是把Ubuntu系统调好。因为重装Ubuntu之后是开机linux引导windows,图省事,又想用easyBCD在windows下调整启动顺序,菜鸟在各种自以为是的调整之后,Ubuntu引导又被我搞乱了,看来easuBCD这样的软件菜鸟还是少用为妙。盛怒之下,决定再次重装Ubuntu,以后第一启动项就是它了!

重装之后,不知什么原因,问题来了。开机的DELL界面出现后,紧接着出现以下错误:

error file not found
grub rescue >

这是系统刚装好,引导grub反而崩了啊!自动进入了grub rescue的救援模式。那么先来了解一下grub,wikipedia上如是说:

GNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
计算机启动后,BIOS将寻找第一个可启动的设备(通常为硬盘),而后从MBR中载入启动程序,然后把控制交给这段代码。MBR位于硬盘的前512字节内。

好了,了解到这里,grub是什么已经清楚了,就是一个启动引导嘛!那就修复呗,grub rescue下提供了仅仅以下几种命令:

ls, root, prefix, set, insmod

不懂什么意思的话,网上查吧,或者直接输,很快就知道了。

那么接下来,就是修复工作了。首先ls,看看下面的几个盘,一般是一连串的(hd0,msdos7)这种类似的格式;接着set,看看主引导在哪里,既然出了问题,肯定是root或者prefix不对呗。不对的话,就改呗。set提供了修改命令,但前提是你得找对修改目标。我按照网上的说法查了很多,老让我找(hd0,msdos7)/root/grub,可我找不到啊!终于有一篇帖子拯救了我,这里要强调一下:如果装系统的时候分配了/root盘,那么,不是找(hd0,msdos7)/root/grub,而是找(hd0,msdos7)/grub!!!本质的区别啊,因为菜鸟装Ubuntu的时候大多都会按照网上教程来分配/root区域!感谢http://blog.csdn.net/liangxanhai/article/details/7654478。当然,接下来normal;最后进入Ubuntu系统update,install,搞定!

现在,主引导是Ubuntu,windows不用了,我也不管了。

晚上开始apue的代码内容。

你可能感兴趣的:(APUE学习笔记)