硬盘重新分区后,重启之后,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的解决办法