使用easybcd修复linux+win7双系统grub的办法
首先 在win7上下载一个EasyBCD2.2, 然后就是下面图示过程添加 linux系统所在分区 以便引导进入linux! 到这里就可以了, 我是已经把win 自己的给删除了 所以 只显示了linux的!到这里 操作无误的话 可以点工具重新启动了!! 重新启动我们会发现出来了引导选项 进入linux系统, 但是到我这里遇到的问题就是 这个引导其实 没有找到我们在linux下 grub.conf 或者 grub.cfg所在的正确目录,(是cfg 还是 conf 后缀取决自己系统)! 所以我们要手工配置这就是说 我们最好 首先 在linux系统下 查找到grub.conf/cfg所在的目录, 和 清楚自己 linux系统(终端下 fdisk -l命令查看) 所在硬盘分区 再开始操作!!! 好 出现这个这个情况后 按 e 进入编辑状态, 注意! 这里 只要先把grub.conf或者grub.cfg 的给修改正确 然后 (hd0, hdx) x 就是系统所在分区, 其实可以一个一个试这里不会 出问题的,修改好之后 按 b 进入引导 如果无误 到这里 就会重新看到你熟悉的 grub 引导界面了! 好 进入 系统后 还需要对 grub 进行 修复, 也就是 重写mbr的引导 进入了系统之后进入终端首先就是 update-grub fdisk -l (查看系统所在分区编号) 然后就是 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 一般来说问题就解决了!其中个别缘由也不是太清楚, 希望以后慢慢能弄懂! |