linux+win7双系统重装win7修复grub的办法(转)

  本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友!

首先 在win7上下载一个EasyBCD2.2, 然后就是下面图示过程添加 linux系统所在分区 以便引导进入linux

                        

                        

                        

到这里就可以了, 注意!!!本人犯错了把win的删除了(所以只显示了linux的!), 一定不能删除!不然进到linux修复好grub之后再重启进不了win7的系统!!(又要悲催的用光盘重新修复win7引导文件 本人以为又要重新修复grub 结果是 linux的grub没受到影响!)  到这里 操作无误的话 可以点工具重新启动了!!

重新启动我们会发现出来了引导选项 进入linux系统, 但是到我这里遇到的问题就是 这个引导其实 没有找到我们在linux下 grub.conf 或者 grub.cfg所在的正确目录,(是cfg 还是 conf 后缀取决自己系统)!

所以我们要手工配置这就是说 我们最好 首先 在linux系统下 查找到grub.conf/cfg所在的目录, 和 清楚自己 linux系统(终端下 fdisk -l命令查看)  所在硬盘分区 再开始操作!!!

          

好 出现这个这个情况后 按 e 进入编辑状态, 注意!  这里 只要先把grub.conf或者grub.cfg 的给修改正确 然后 (hd0, x) x 就是系统所在分区, 其实这里可以一个一个试这里不会出问题的,修改好之后 按 b 进入引导 如果无误 到这里 就会重新看到你熟悉的 grub 引导界面了! 好 进入 系统后 还需要对 grub 进行 修复更新, 也就是 重写mbr的引导

          

进入了系统之后进入终端首先就是 update-grub   fdisk -l (查看系统所在分区编号) (至于更新下grub2是否必要和有何重要作用我也不知道...反正更新了也不会出问题!)

然后就是 mount /dev/sdax /mnt (x代表你系统所在分区编号)

重装grub-install --root-directory=/mnt  /dev/sda  (这里sda就是硬盘 不需要加分区编号)

成功之后 可以reboot 了( 注意, 我这里重启 会进入grub recue模式, 不知道为何,难道是还需要 update-grub一下再重启)

下面 再说下 如果遇到了 grub recue 情况 怎么解决的办法

grub resuce>ls 罗列所有磁盘分区信息  比如 (hd0) (hd0, msdos1) 这样

然后就是 找出 grub文件所在 分区  也就是 ls (hd0, msdosX)/boot/grub  (X可变)   当罗列出一大堆 说明找到了

可以继续下面的命令:

  set root=(hd0, msdosX)

  set prefix=(hd0, msdosX)/boot/grub

  insmod /boot/grub/normal.mod

  normal

现在就可以重新看到正确的grub引导了 不过 进入 系统 还需要再最后解决下问题!

  sudo update-grub

  sudo grub-install /dev/sda 

到这里 reboot 一般来说问题就解决了!其中个别缘由也不是太清楚, 希望以后慢慢能弄懂!

http://www.cnblogs.com/inva/p/4473445.html

原文地址:https://www.cnblogs.com/softidea/p/5116227.html