有没有重装双系统之后找不到启动项的经历?有没有进入Grub修复模式却不知道用什么命令修复启动项?好吧,看了本文也许你就会留下幸福的泪水,好吧,废话少说。一、开机提示grub>或者还有Grub界面请尝试用工具盘启动,在grub菜单上按c进入命令行状态在grub>提示符下。1.输入:grub>find/boot/grub/core.img(有/boot分区的用find/grub/core.img)系统会显示(hdx,y)(查找到的分区号),2.然后输入grub>root(hdx,y)grub>kernel/boot/grub/core.img(/boot分区的用kernel/grub/core.img)grub>boot执行boot后能转入grub2菜单,3.重启ubuntu后,再在ubuntu终端下执行$sudogrub-install/dev/sda(或sdb,sdc等,根据第几硬盘而定)修复grub注意:如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复二、上面的方法不可以的话,就用LiveCD吧~用ubuntu9.10的liveCD试用ubuntu启动后,打开终端假如你的ubuntu的/分区是sda9,又假如/boot分区是sda6,在终端下输入$sudo-i$mount/dev/sda7/mnt$mount/dev/sda6/mnt/boot(如果没/boot单独分区这步跳过)$grub-install--root-directory=/mnt//dev/sda和前面一样,要装入第二硬盘的把sda改为sdb修复后无法引导windows,可以用下面的方法解决:进入ubuntu系统,打开终端,重建grub列表$sudoupdate-grub重新写入第一分区mbr$sudogrub-install/dev/sda如果想修改启动顺序,可以修改/boot/grub目录下的grub.cfg文件注意此文件不可写的,先执行一下命令$sudochmod+w/boot/grub/grub.cfg然后再执行$sudogedit/boot/grub/grub.cfg修改,类似于grub1的menu.lst修改Grubrescue模式rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)ls--列出分区ls(hd0,8)/--查看(hd0,8)分区根目录找到grub目录,然后继续grubrescue>root=(hd0,x)grubrescue>prefix=/boot/grub--(grub的目录)grubrescue>setroot=(hd0,x)grubrescue>setprefix=(hd0,x)/boot/grubgrubrescue>insmodnormalgrub>normal--------若出现启动菜单,按c进入命令行模式grub>linux/boot/vmlinuzroot=/dev/sdaxgrub>initrd/boot/initrd.imggrub>boot完成进入系统后,更新GRUB或重装GRUB:更新:sudoupdate-grub重装:sudogrub-install/dev/xxx(这儿的xxx是sda或者sdb)由于在Windows下面对分区修改,导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了grubrescue>在此情况下,可以如下解决,并不用重新安装系统第一步,找出你的Linux盘在那个分区以及grub目录在什么位置。如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可:grubrescue>ls回车后,ls命令会列出所有磁盘分区信息,如:hd0,4),(hd0,7),(hd0,8),(hd0,9)循环使用如下命令,直至显示该分区所包含文件内容而不是unknownfilesystem以及其他一些不正常信息grubrescue>ls(hd0,0)/boot/grub(网上有写ls(hd0,0)/grub的,可能根据不同linux发行版本不同吧,Ubuntu10.04是grub是放在/boot下面的。或者可以ls其他文件也一样)假设我们试到(hd0,8)时,成功显示了文件内容,则表示。第二步:grubrescue>setroot=(hd0,8)//括号里分区为上一步尝试成功的分区,即linuxgrub所在分区grubrescue>setprefix=(hd0,8)/boot/grub第三步:grubrescue>insmodnormal.mod网上有些insmod/grub/normal.mod的,我的Ubuntu10.04并不成功至此,应该退出了grubrescue模式,进入了熟悉的grub模式第四步:grub>normal第五步:修复grub进入Linux系统后,在命令行里sudoupdate-grub第六步:sudogrub-install/dev/sda//sda是你的启动磁盘