我知道这个问题已经被问了很多次了,但我在这里没有找到答案。
几个小时前刚刚在一个 ext4 分区上离线安装了 Ubuntu 12.04.2 64 位,并且还创建了一个交换分区。
安装顺利,但现在我无法进入 Ubuntu。
我想使用 Windows 8 启动管理器在两个操作系统之间进行选择,因此我下载了 EasyBCD 并为 Ubuntu 添加了一个条目。
该条目出现在启动管理器菜单中,但是当我单击 Ubuntu 时,出现以下消息:
NST/AutoNeoGrub0.mbr not found
我尝试启用/禁用安全启动并重新启动,但仍然显示错误消息。
无奈之下,我尝试自己寻找解决方案,并通过 EasyBCD 重置 BCD 配置。现在 Grub 可以正常启动,Ubuntu 也可以,但我再也无法启动 Windows 8。
然后,不知什么原因,在安装了 Ubuntu 的所有更新后,我重新启动了系统,现在无法启动 Ubuntu。只有通过 Live CD 和旧的 Linux 条目我才能启动它。
答案1
首先,据我所知,EasyBCD 对于管理基于 EFI 的计算机上的 Windows/Linux 双启动毫无用处,所以我建议您不要再尝试使用它。
第二,鉴于您目前的情况(如您的更新),有几种可能的解决方案。最简单的两个是:
- 运行 Boot Repair。我知道您说您已经尝试过此操作,但不清楚自从您可以启动 Ubuntu 但无法启动 Windows 的情况发生变化后您是否尝试过此操作。如果没有,值得再次尝试 Boot Repair。
- 安装我的rEFInd 启动管理器。在 Ubuntu 中安装 Debian 软件包是最简单的方法,尽管首先尝试使用 CD-R 或 USB 闪存驱动器版本会更安全一些,并且只有当 CD-R/USB 闪存驱动器版本可以启动两个操作系统时才安装 Debian 软件包。rEFInd 在启动 Windows 方面不像 GRUB 那样挑剔,所以它可能会解决这个问题。
如果这两种方法都不能解决您的问题,请发回最新的启动修复运行的新 URL。
更新:首先,确保安全启动已禁用。
接下来,你能通过 rEFInd USB 闪存驱动器或 CD-R 映像启动吗?如果可以,请尝试以下操作:
- 启动到 Linux。
- 打开终端窗口。
- 在终端中,输入
sudo efibootmgr
以查找所有当前启动项。 - 在终端中输入
sudo efibootmgr -b 0000 -B
。这将删除该Boot0000
条目。 - 重复步骤 4,用步骤 3 中确定的每个数字替换。(您的 Boot
0000
Repair输出表明您将拥有、、、、、、、、、和。Boot####
0000
0001
0002
0004
0005
0007
0008
2001
2002
2003
- 键入
sudo efibootmgr -c -p 2 -l "\EFI\ubuntu\grubx64.efi" -L "Ubuntu"
。请注意用作目录分隔符的反斜杠。 - 如果您在运行最后一次启动修复后将 rEFInd 安装到硬盘,请输入
sudo efibootmgr -c -p 2 -l "\EFI\refind\refind_x64.efi" -L "rEFInd"
。 - 重启。
如果一切顺利,rEFInd 应该会弹出,或者至少是 GRUB,并且您应该能够启动 Linux 和 Windows。
如果 rEFInd CD-R 或 USB 闪存驱动器不工作,您可以尝试从以 EFI 模式启动的 Linux 实时 CD 执行相同的操作。