当前位置:金沙js333娱乐场 > 网络频道 > 更改磁盘分区后修复GRUB启动

更改磁盘分区后修复GRUB启动

文章作者:网络频道 上传时间:2019-10-11

上次为了通过硬盘引导安装Linux(见上一篇文章 http://www.linuxidc.com/Linux/2015-01/111190.htm),专门分了一个1GB的FAT32分区。今天回到Win7中,用磁盘管理工具把这个分区撤销且合并后,重启后就进入了grub rescue终端,并且提示:

Windows 7&金沙js333娱乐场,Ubuntu 10.10双系统下一键Ghost,出现提示grub rescue的解决方法。

error:unknown filesystem
grub rescue>

本人安装的是Windows 7+Ubuntu 10.10,硬盘直接安装。因为Windows 7下装了几个大软件,所以决定一键Ghost备份一下,结果重启之后,就进入了grub rescue界面:

还好有了解决方案(见 http://www.linuxidc.com/Linux/2015-01/111189.htm)。原来,在合并分区之前,我的Linux分区被标识为/dev/sda8,在grub rescue中通过set命令查看到是hd0,msdos8:

error:unknown filesystem grub rescue>

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

研究了半天,才解决这个问题。先说说是怎么回事。  安装Ubuntu时,启动是用grub2进行启动。我的Windows 7在C盘, Ubuntu空间是从D盘里分出来的。我们知道,每次系统启动时都是先进入grub,也就是先在ubuntu的启动目录里选择进入哪个系统,如果按分区来讲,grub2在(hd0,msdos7)也就是我的ubuntu所在的分区。那么启动时root应该设在(hd0,msdos7),可一键ghost会修改启动,它把root改在(hd0,msdos9),这是个windows分区,也就是NTFS分区,ubuntu是不能识别这种文件系统的,所以就有了error:unknown filesystem,这种情况下自然不能启动,那么grub2就会启动grub rescue模式,就是修复模式。那么我们要做的就是把grub重新指向(hd0,msdos7)。  下面是具体步骤: 

在合并分区之后,之前的Linux分区变成了(hd0,msdos6)(是通过在gurb rescue中用ls命令,从ls (hd0, msdos1)一直试到ls (hd0, msdos6)查出来的),而(hd0,msdos8)指向了一个NTFS逻辑分区,这是grub识别不了的。因此需要修改grub设置,将prefix和root定向到(hd0, msdos6):

①查看分区

grub rescue>set root=(hd0,msdos6)
grub rescue>set prefix=(hd0,msdos6)/boot/grub
grub rescue>insmod normal
grub rescue>normal

因为每个人的分区不一样,所以我们要查看分区,用ls指令  grub rescue>ls 回车后,就会出现

现在又再次看到grub启动界面了!

(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)  grub rescue>

不过事情还没完。进入Linux系统后,在root终端中将grub再刷一遍:

注:我用的是grub2,对于grub用户,分区前没有msdos字样 上面是我的分区,每个人的不一样。 grub rescue>set 回车

# update-grub

prefix=(hd0,msdos9)/boot/grub root=hd0,msdos9

# grub-install /dev/sda

从上面可以看出来现在我的系统是从(hd0,msdos9)里启动的。 那么怎么知道ubuntu在哪个分区呢?进入第二步 

这才放心,之后再怎么重启都没问题了。

②寻找ubuntu所在分区

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-01/111191.htm

这一步我们要一个一个的试, 还是用ls指令

金沙js333娱乐场 1

先试下在不在(hd0,msdos8)里边 grub rescue>ls (hd0,msdos8)

回车会发现,不是,还是unknown filesystem 接着来 。。。。。。。。。 当我试到

(hd0,msdos7)的时候,可以看到一下子多了很多字,这些就是我ubuntu主文件夹下的文件夹和文件的名字。OK,找到分区了! 

wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});

③修改启动分区

grub rescue>root=(hd0,msdos7)

grub rescue>prefix=/boot/grub  //grub路径设置 grub rescue>set root=(hd0,msdos7)

grub rescue>set prefix=(hd0,msdos7)/boot/grub grub rescue>insmod normal //启动normal启动

grub rescue>normal

依次敲入上面的指令,是不是看到熟悉的启动菜单了?选Windows 7后,一键Ghost就开始备份系统了。别高兴太早,一切还都没开始呢。如果你不是因为一键Ghost问题进入grub rescue,可以直接跳到第⑤步

④再来一遍

当你等着一键Ghost备份完系统,重启后,你发现还是

本文由金沙js333娱乐场发布于网络频道,转载请注明出处:更改磁盘分区后修复GRUB启动

关键词: