[ 已解决 ] 修复 grub2 引导问题

在一次 WIN 出问题,选了一个“win 自动修复“功能后发现我的 GRUB2 不见了,开机直接 WIN。所以想恢复一下 GRUB2,按照这个网站 zh.opensuse.org/index.php?title=%E4%BF%AE%E5%A4%8DGRUB2&variant=zh-cn
的方式进行修复,但是我进行到 fdisk -l 后(sda4,5,6,7),能分清 SWAP 盘,无法区分 / 还有 /home 分区,没 /boot 分区,之前开了一个贴子问了这事, [ 已解决 ]opensuse13.1 grub2 修复问题
三楼 恋衣之曲 为我解答的我满心欢喜,觉得特别对这次肯定没错了,把问题改了 已解决 ],但是我的电脑太狡猾了,太坏了,还是不行,我发现计算机的博大精深是我永远不能搞懂的…现在上图



我是这样做的,忽略 /boot 分区,不加载它,加载一个 sda6 后, ls /mnt 后发现有 home 文件夹,确认它是 / 分区,继续按 zh.opensuse.org 那个网址的方式修复,到 chroot /mnt 这一步后光标前变成 Rescue:/> ,而不是 Rescue:#~
然后下一下就出错了,我就各种不会了…… 好无语啊,我现在还担心这过程中出了什么错,我开机都出问题了肿么办?

我有解决方法是采用了楼下的方法用的 EasyBCD, 在 win7 启动菜单加了一项,因为 grub2 还是没有弄好

知道 grub 是怎么修复,grub2 完全不晓得怎么弄。我这两天也碰到这个问题了。俺的解决方法是直接在 win7 下装个 easybcd 然后在 windows 引导菜单里加个 grub2 linux 的引导项……
另外,想恢复 grub2 引导的话,能进 opensuse 后直接用 yast2 里的引导里修复就能搞定了吧。

1赞

按照你图中的信息,你的 sda6 是 / 分区,你的 sda7 是 /home 分区,你的 sda7 挂错了,正确的挂法是这样的:

mount /dev/sda6 /mnt
mount /dev/sda7 /mnt/home
mount --bind /dev /mnt/dev
chroot /mnt
mount /proc
mount /sys
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda
exit
reboot
1赞

发生这样的事情应该去责怪 Windows,而不是 Linux 啊。。

我只用 Linux 单系统,从未发生任何此类问题。

你说的对,但是我有时候还得用到 WIN 系统,暂时还得用双系统