我最近买了一台装有 Windows 8 的戴尔 Inspiron 13z。我决定双启动 Ubuntu。
安装后,它直接启动到 Ubuntu,没有显示 GRUB 菜单。没问题。我刚刚运行了启动修复,一切似乎都正常。(顺便说一下,这是输出:http://paste.ubuntu.com/5891478/)
然后我启动了 Windows。现在我似乎无法回到 Ubuntu。我尝试通过REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /V HiberbootEnabled /T REG_dWORD /D 0 /F
以管理员身份在 PowerShell 中运行来禁用快速启动。即使是现在,GRUB 仍然以某种方式被绕过。
我应该怎么办?
编辑:我尝试通过启动 LiveUSB 并按照以下步骤重新安装 GRUB:https://superuser.com/questions/376470/how-to-reinstall-grub2-efi。不幸的是,这没有起作用。
答案1
引导修复工具并非 100% 可靠。您遇到的问题是引导修复过于热衷于处理引导加载程序文件。具体来说,引导修复会重命名 Windows 引导加载程序并在其位置安装 GRUB 副本;但是,这种“修复”除了非常令人困惑之外,有时还会被 Windows 撤消——Windows 看到更改并(相当合理地)重新安装其自己的引导加载程序。更重要的是,这种“修复”很少是必要的;该工具只是以一种漫无目的的方式将其与一堆其他“修复”一起应用,希望它会有用。不幸的是,有时它并没有用,并且可能会导致后续问题。
我建议你尝试一下这个:
- 备份 EFI 系统分区(ESP;你的
/dev/sda1
)的内容。万一情况恶化,这将起到后备作用。 - 重新运行 Boot Repair,但单击“高级选项”项并选中“恢复 EFI 备份”选项,然后再继续。这将撤消 Boot Repair 的一些更改。
- 重新启动并测试 Windows 和 Ubuntu。很有可能一切都会正常;但是……
- 如果系统直接启动 Windows,请启动管理员命令提示符窗口 (不是PowerShell;它不起作用)并输入
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
。 - 如果系统直接启动 Ubuntu,没有启动 Windows 的选项,请安装我的rEFInd 启动管理器。安装 Debian 软件包是最简单的方法。rEFInd 在启动 Windows 方面比 GRUB 更可靠,所以这很可能解决问题。
- 如果系统直接启动 Windows,请启动管理员命令提示符窗口 (不是PowerShell;它不起作用)并输入
答案2
您的 BIOS 设置中有一个启动顺序列表。您可以尝试在 BIOS 设置中更改该顺序。
正如您在启动修复链接中所报告的那样, “[现在使用的操作系统 - Ubuntu 13.04] 的启动文件距离磁盘的起始位置很远。您的 BIOS 可能无法检测到它们。您可能需要在创建 /boot 分区(EXT4,>200MB,磁盘的起始位置)后重试。这可以通过 gParted 等工具执行。然后通过 [Boot Repair] 的 [Separate /boot partion:] 选项选择此分区。(https://help.ubuntu.com/community/BootPartition)“
你的 EFI 系统检测到它了吗?