有没有重装双系统之后找不到启动项的经历

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有没有重装双系统之后找不到启动项的经历?有没有进入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终端下执行$sudo grub-install /dev/sda (或sdb,sdc等,根据第几硬盘而定)修复grub

注意:如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复

二、上面的方法不可以的话,就用Live CD吧~用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列表$sudo update-grub 重新写入第一分区mbr $sudo grub-install /dev/sda 如果想修改启动顺序,可以修改/boot/grub目录下的grub.cfg文件注意此文件不可写的,先执行一下命令$sudo chmod +w /boot/grub/grub.cfg 然后再执行$sudo gedit /boot/grub/grub.cfg 修改,类似于grub1的menu.lst修改Grub rescue模式rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径) ls --列出分区ls (hd0,8)/ --查看(hd0,8)分区根目录找到grub目录,然后继续grub rescue>root=(hd0,x) grub rescue>prefix=/boot/grub --(grub 的目录) grub rescue>set root=(hd0,x) grub rescue>set prefix=(hd0,x)/boot/grub grub rescue>insmod normal grub>normal --------若出现启动菜单,按c进入命令行模式grub>linux /boot/vmlinuz

root=/dev/sdax grub>initrd /boot/initrd.img grub>boot 完成进入系统后,更新GRUB或重装GRUB: 更新:sudo update-grub 重装:sudo grub-install /dev/xxx (这儿的xxx是sda或者sdb)

由于在Windows下面对分区修改,导致grub所在分区由sda3变成了sda2了,这样一来找不到grub了,Ubuntu开机就出现了

grub rescue >

在此情况下,可以如下解决,并不用重新安装系统

第一步,找出你的Linux盘在那个分区以及grub目录在什么位置。

如果你还记得最好,忘了也无所谓,使用下面命令逐个试探即可:

grub rescue>ls

回车后,ls命令会列出所有磁盘分区信息,如:

hd0,4),(hd0,7),(hd0,8),(hd0,9)

循环使用如下命令,直至显示该分区所包含文件内容而不是unknown filesystem以及其他一些不正常信息

grub rescue>ls (hd0,0)/boot/grub

(网上有写ls (hd0,0)/grub的,可能根据不同linux发行版本不同吧,Ubuntu 10.04是grub是放在/boot下面的。或者可以ls其他文件也一样)

假设我们试到(hd0,8)时,成功显示了文件内容,则表示。

第二步:

grub rescue>set root=(hd0,8)

//括号里分区为上一步尝试成功的分区,即linux grub 所在分区

grub rescue>set prefix=(hd0,8)/boot/grub

第三步:

grub rescue>insmod normal.mod

网上有些insmod /grub/normal.mod的,我的Ubuntu 10.04并不成功

至此,应该退出了grub rescue模式,进入了熟悉的grub模式

第四步:

grub>normal

第五步:修复grub

进入Linux系统后,在命令行里

sudo update-grub

第六步:

sudo grub-install /dev/sda //sda是你的启动磁盘

相关文档
最新文档