我无法启动 Windows 和 ubuntu

我无法启动 Windows 和 ubuntu

我是 ubuntu 新手,正在尝试将 ubuntu 16.04 安装到预装 Windows 8 的台式电脑中。

但似乎出了点问题,现在我无法启动 Windows 和 ubuntu,现在我能看到的只有 UEFI 窗口。

以下是我目前所做的。


[Ubuntu 安装]

  1. 我在我的硬盘中创建了新的分区,并通过 Windows 中的控制面板禁用了快速启动。

  2. 我通过 DVD 中的映像文件安装了 ubuntu 16.04。我选择了“无需安装即可试用 ubuntu”选项,然后使用 GUI 安装程序中的“与 Windows 启动管理器一起安装 ubuntu”选项。

  3. 安装成功结束,我重新启动了 ubuntu。


[首次启动问题]

  1. 安装 ubuntu 后,我关闭 ubuntu 并启动 Windows 以检查没有任何问题。

    1.1 这时grub正常启动了,可以选择要启动的OS(Windows或者ubuntu)。

  2. 然而,一旦我关闭 Windows,grub 就不再出现。并且每次我打开 PC 时,Windows 都会自动开始启动。


[第二个致命的启动问题]

  1. 我关注了这个话题(Windows 8.1 Ubuntu 13.10 双启动时不显示 Grub) 来解决这个问题。

    1.1. 我尝试按照命令操作。但什么都没有改变。

    bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
    
    bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
    
    bcdedit /set {bootmgr} path \EFI\ubuntu\shim.efi
    
  2. 我再次用 Google 搜索,发现有时 Windows 中的控制面板无法正确禁用快速启动。

    2.1. 我打开了 UEFI 菜单,发现快速启动选项仍然处于启用状态。

    2.2 我禁用了快速启动,并且(可能是不小心)也禁用了安全启动选项。

  3. 此后,Windows 不再自动启动,并且每次打开电脑时都会自动打开 UEFI 选项菜单。

    3.1. 此外,启动选项优先级列表中只剩下 Windows 启动管理器(以前还有其他选项,例如 DVD 磁盘驱动器)。

  4. 我加载了 UEFI 默认设置,但问题仍然未解决。

  5. 我注意到 CSM 选项也被禁用了,所以我启用了它。

    5.1. 然后,启动选项优先级列表中再次出现了缺少的其他选项。

    5.2. 但是,UEFI 选项菜单停止自动打开,并且窗口显示

    Reboot and Select proper Boot device
    or Insert Boot Media in selected Boot device and press a key
    

有什么办法可以解决这个问题吗?

笔记:

  1. 我仍然可以从 ubuntu 安装 DVD 启动。

  2. 我的 UEFI 选项菜单是“Asrock UEFI 设置实用程序”

答案1

我终于找到问题的根本原因了!

运行 Boot-Repair 程序后(https://help.ubuntu.com/community/Boot-Repair) 正如@CelticWarrior 所建议的,grub 菜单恢复打开并且我可以成功启动任何操作系统(Windows 或 ubuntu)。

但是,一旦我启动并关闭 Windows,我就无法再次访问 grub 菜单。

这是因为 Windows 不知何故改变了启动优先级,以至于只有其列表包含 Windows 启动管理器。更糟糕的是,其配置不正确,无法正确启动。

以下是我的解决方案的总结。

[根本原因]

  1. 两个不同的 EFI 系统(Windows 和 ubuntu)安装在不同的分区中。(在我的情况下,Windows 在第 2 卷中,ubuntu 在第 6 卷中)

  2. 在 Windows 启动管理器的配置中,假定卷 2 包含正确的 EFI(对于 Windows 来说确实如此)

  3. 但是,正确 EFI 的假定路径设置为 ubuntu 的路径 (\EFI\ubuntu\shimx64.efi)!

  4. 由于卷 2 中没有 \EFI\ubuntu\shimx64.efi,启动过程崩溃。

[解决方案]

我使用管理员权限在命令提示符中使用以下代码检查了分区的卷和编号。(我认为您应该事先使用标准方法检查哪个分区包含正确的 EFI 系统)

diskpart
>DISKPART select disk 1
>DISKPART list volume

并将字母“S”分配给正确的卷(也许任何字母都足够?)

>DISKPART select volume 6 #this is right volume in my case
>DISKPART assign letter=s

之后,我重新配置了 Windows 启动管理器,以便它知道 ubuntu 的 EFI 系统的正确路径。

bcdedit #check its configuration
bcdedit /set {bootmgr} device partition=s: #set true volume
bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi #actually I omit this line because my boot manager already know this true path

然后我关闭 Windows,现在 grub 菜单按我预期的那样打开了!

我希望它能够帮助其他有同样问题的人:)

相关内容