最新消息:

硬盘重新分区后无法引导Grub的解决办法

grub admin 4249浏览 0评论

硬盘重新分区后,重启之后,grub报错,无法重新引导,第一次我采用的方法是U盘启动 WINPE系统,修复windows启动,然后重装linux.

之后再此遇到这样的情况,就再也不想重装系统了,毕竟配置好一个系统还是很麻烦的。

于是经过不断的折腾,终于有了以下的方法:

先看看grub的错误提示:

 

error:unkown filesystem

grub rescue>

 

解决办法如下:

输入命令ls查看当前磁盘分区:

 

grub rescue> ls
(hd0,4),(hd0,7),(hd0,8),(hd0,9)

 

然后循环使用ls这个命令找到新的boot的分区:

 

grub rescue> ls (hd0,x)/grub
(hd0,4),(hd0,7),(hd0,8),(hd0,9)

 

如果没有将boot分区单独分区,那么就不需要跟/grub直接查找主分区即可。
我在这里找到的新的boot分区为(hd0,6)
下面执行操作:

 

grub rescue> set root=(hd0,6)
grub rescue>set prefix=(hd0,6)/grub/normal.mod
grub rescue>normal

 

执行完以上操作之后我有看到grub启动菜单了,笔者欣喜若狂,以为这样就算修好了,但是在选择ubuntu的菜单进入时候,ubuntu一直卡在进入界面,使用CTRL+ALT+DEL之后报找不到/boot分区。

但是我发现能够进入windows xp;于是进入xp,配置好livecd启动项。

进入livecd

修复grub引导(其实不用修复)

 

sudo mount /dev/sda8 /mnt //挂载/到/mnt
sudo mount /dev/sda6 /mnt/boot //挂载boot到/mnt/boot(如果你没有单独给boot分区就不需要这一步了)
sudo grub-install -root-directory=/mnt/boot /dev/sda
reboot

 

重启之后顺利进入grub菜单但是无法进入ubuntu,错误依旧。
于是再次进入livecd,此次修改/boot/grub/grub.cfg中的boot分区的盘符为/dev/sda6和修复/分区的盘符为/dev/sda8,保存重启,
问题还没有解决。
为什么呢?
我想grub能够正确引导,那么是在ubuntu启动的时候无法加载boot
问题应该出在ubuntu分区加载哪里,
于是再次启动livecd,加载/分区
打开终端:输入命令:

 

gedit /etc/fstab

 

果然,里面的boot分区指向的是不正确的分区。
修改其为/dev/sda6
重启,顺利进入ubuntu.
删除windows启动livecd的选项,大功告成。

转载请注明:爱开源 » 硬盘重新分区后无法引导Grub的解决办法

您必须 登录 才能发表评论!