2006 年初的 MacBook Pro 无法使用 rEFIt 和 Grub 启动

2006 年初的 MacBook Pro 无法使用 rEFIt 和 Grub 启动

我不知道发生了什么事导致了这种情况。

我在 2006 年早期的 MacBook Pro 上安装了 Snow Leopard、Ubuntu 11.04 Natty Narwhal 和 Windows XP SP3。它是 Core Duo 单元,而不是 Core 2 Duo,因此它只有 32 位 - 型号标识符 MacBookPro1,1。我使用rEFIt 0.14用于我的启动菜单。

由于某种原因,XP 和 Ubuntu 都无法启动。我只会看到一个黑屏,左上角有一个快速闪烁的下划线。

这两个操作系统都无法启动,说明我的 MBR 中的引导加载程序存在问题。rEFIT 分区工具验证了我的 MBR 分区仍与 GPT 分区同步,因此我在从Parted Magic

# fdisk /dev/sda

(fdisk 警告该磁盘具有 GPT。我还是继续按。)

p

(打印现有的分区表以确保其正常。)

w

(将旧的分区表写回到磁盘。这也会写入新的 MBR 引导加载程序。)

此后 XP 可以启动,但 Ubuntu 无法启动,症状相同。现在我使用 update-grub,并从 Parted Magic chroot 到 Ubuntu:

# mount /dev/sda3 /mnt
# mount --bind /dev /mnt/dev
# mount --bind /sys /mnt/sys
# mount --bind /proc /mnt/proc
# chroot /mnt

Chroot 发出一些无法识别某些组 ID 的警告。我不知道为什么会发生这种情况,也不知道这是否是个问题。

此时,虽然我仍然从 Parted Magic 的内核启动,但我正在从 Natty 的文件系统运行。

# update-grub

Update-grub 检测到我的每个操作系统,然后声称已成功完成,但仍然无法启动。

我问过同样的问题rEFIt 的 Sourceforge 支持论坛但至今没有回复。我也在 Google 上搜索了不少,发现很多人有同样的黑屏问题,但他们的情况似乎都不像我的。

感谢您给予我任何帮助。——堂吉诃德

答案1

啊,我需要运行 grub-install 而不是 update-grub。

在谷歌上搜索了一些文档后,我发现 update-grub 只会写入一个新的配置文件。我一直想做的是将一个新的引导加载程序放入我的 Ubuntu 分区的开头。

我有以下分区:

/dev/sda1 EFI FAt (Empty; required by UEFI Spec)
/dev/sda2 HFS+ Mac OS X Snow Leopard
/dev/sda3 ext4 Ubuntu 11.04 
/dev/sda4 NTFS Windows XP

当我从 Parted Magic Live CD 启动时,以下命令将运行完成并报告成功:

# mount /dev/sda3 /mnt
# mount --bind /proc /mnt/proc
# mount --bind /sys /mnt/sys
# mount --bind /dev /mnt/dev
# chroot /mnt
# /usr/sbin/update-grub /dev/sda3     ### THIS IS INCORRECT

正确的命令乍一看似乎是:

# /usr/sbin/grub-install /dev/sda3

但是,grub 警告不要将系统安装到带有阻止列表的分区上,这是它不想做的。我给它提供了“--force”选项:

# /usr/sbin/grub-install --force /dev/sda3

此后,Ubuntu 11.04 启动正常;我现在正在运行它。

GNU Grub 手册 1.99

使用 grub-install 安装 Grub

相关内容