我使用的是三重启动的 MacBook(OSX、Ubuntu、Windows)。Windows 开始出现问题,需要重新安装(这种情况经常发生)。重新安装 Windows 后,MBR 现在直接指向 Windows,而不是 GRUB。
GRUB 恢复可以在大多数 MRB 分区表上运行,但无法在该 GPT 分区表上运行:
$ sudo grub-install --root-directory /media/ubuntu /dev/sda
Ubiquity 知道如何正确执行此操作。我可以运行哪个命令来恢复 Intel Mac 上的 GRUB/MBR?
解决方案:虽然这并不简单,但我找到了解决方法。感谢 Colin Watson 和 Debian IntelMac[1] 文档,他们为我提供了部分解决方案。
这是我所做的:
1)从 LiveCD 启动
2)前往某个地方并使用 Ubuntu 挂载分区
3)在 nautilus 中按 CTRL-L 或使用 mount 命令找出该分区的挂载位置(例如:/media/123)
4)打开终端(应用程序>附件>终端)
5)运行以下命令:
$ for x in dev proc sys; 执行 sudo mount --bind /$x /media/123/$x; 完成
$ sudo chroot /media/123
# dhclient
# apt-get install grub-pc os-prober gptsync
# gptsync /dev/sda # Say YES
# grub-install --force /dev/sda #Tried sda4 (the ubuntu partition) but resulted w/blink _ at boot
# update-grub
# exit
$ sudo reboot
答案1
我根本不会对您的 windows/linux 分区使用 grub,而是使用 rEFit:
这意味着您的 Windows 分区在首次启动时就会出现在菜单中,紧邻 Mac OS X 和 Ubuntu。
要恢复当前分区,您应该将 grub 修复指向 MBR(而不是 GPT)并使用 /boot/grub 位置。我不知道您是否已将引导安装到 sda 或 sda1,因为在这种情况下磁盘引导记录似乎更合理。
sudo grub-install --root-directory /media/ubuntu /dev/sda1
答案2
我认为使用 refit 没有任何好处,但每个人都可以随心所欲。
要使用 SuperGrub2Disk 恢复 Grub2 启动到 ubuntu(可从此处获取:http://www.supergrubdisk.org/),然后简单运行sudo update-grub
就完成了。