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

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

error:unknown filesystem
grub rescue>

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

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

在合并分区之后,之前的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

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

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

# update-grub

# grub-install /dev/sda

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17048.html