我想到双启动 Win 7 和 Ubuntu,我所做的如下:
使用我的整个硬盘驱动器全新安装了 win 7,接下来我使用 Ubuntu live cd 和 gparted 将我的驱动器分区如下:
/dev/sda1 ext4 20GB (Linux root)
/dev/sda2 ntfs 100GB(Win7)
/dev/sda3 ext4 350GB(Home)
/dev/sda4 extended 4GB(swap)
问题是,在安装 ubuntu 时,我删除了 win 7 为其引导扇区和恢复创建的分区,然后调整了驱动器的大小,使其看起来像我提到的那样,Ubuntu 将 GRUB 安装到了 MBR。
当 GRUB 启动时,我可以看到 Ubuntu,但看不到 Windows,我该如何链式加载它?或者我应该用 windows 7 安装盘修复 windows mbr,然后尝试从那里设置双启动?
我并不真正关心最终使用哪一个引导加载程序,我只希望双引导能够正常工作。
谢谢
答案1
使用更新 grub 安装sudo update-grub
应该可以解决这个问题。运行时,它会在每个分区上搜索可启动映像。例如,这是我运行它时的输出:
andy@ubuntu:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.5.0-20-generic
Found initrd image: /boot/initrd.img-3.5.0-20-generic
Found linux image: /boot/vmlinuz-3.5.0-19-generic
Found initrd image: /boot/initrd.img-3.5.0-19-generic
Found linux image: /boot/vmlinuz-3.2.0-33-generic
Found initrd image: /boot/initrd.img-3.2.0-33-generic
Found linux image: /boot/vmlinuz-3.0.0-17-generic
Found initrd image: /boot/initrd.img-3.0.0-17-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Recovery Environment (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
Found Windows 7 (loader) on /dev/sda4
done
如果这不起作用,请确保你手边有 Live CD 或 USB,并尝试以下操作:-
- 检查分区是否可读且未被损坏(大约 2 个月前我遇到过这种情况)。最简单的方法是运行 GParted 并检查出现的分区列表。(测试盘可以恢复任何丢失的分区)
- 如果一切正常,请启动 Windows 恢复并使用启动修复
- 确保 Windows 可以启动后,重新启动并启动到您的 Live CD。
- 用于
grub-install
重新安装 grub。
答案2
由于您更改了分区布局,您的 Windows 7 BCD 很可能已损坏。我建议您使用 Windows 7 CD 并尝试使用恢复选项并选择“启动修复”。
Windows 7 通常不会自行覆盖 GRUB。相反,它只会修复其引导加载程序配置 (BCD)。如果成功,请返回 Ubuntu 并调用
sudo update-grub
然后你的列表中应该会再次出现 Windows 7。
答案3
除了其他答案之外,您还可以查看以下链接:
答案4
我很感谢大家的回答,他们真的给了我宝贵的信息,告诉我应该怎么做。基本上,我所做的就是在原先的分区上重新安装 Windows,它将引导加载程序写入 MBR,接下来我使用 Ubuntu Live CD 和重新安装 grub 的说明,可惜的是,grub 恢复了,并在启动时识别了 Windows 加载程序,从而解决了我的双启动问题。
我希望这篇文章能帮助遇到同样问题的人。感谢社区 (: