Windows 10 - Ubuntu:Windows bootmgr 设置为错误分区

Windows 10 - Ubuntu:Windows bootmgr 设置为错误分区

我正在使用戴尔 Inspiron 7560,双启动带有 Windows 10 和 Ubuntu。Windows 安装在 128 GB SSD 上,Ubuntu 安装在 1TB HDD 的一个分区上。每个驱动器还具有EFI 分区在他们开始的时候各自的操作系统。 之后最近的 Windows 更新,可能已经安装了一些 Boot Manager 补丁,bootmgr 变量已设置为HDD 的 EFI而不是 SSD 的 EFI,就像之前一样。

更新前,选项包括:

  1. Windows 启动管理器
  2. Ubuntu

现在我的 UEFI 启动有以下选项:

  1. Windows 启动管理器(错误设置为 HDD 的 EFI)
  2. UEFI:SK Hynix 128GB 分区 1(SSD,Windows EFI bootmgr)

Ubuntu (GRUB) 选项不知为何消失了。第一个启动选项无法启动 Windows(而是调出 Dell Recovery),但第二个启动选项工作正常并启动 Windows。 我尝试通过 Windows 上的 BCDEdit 更改 bootmgr 的设备,但失败了,并且 bootmgr 回到了相同的错误 EFI 分区。

这里有一些附加事实可能有助于诊断:

  1. 在 Ubuntu Live 安装中,我看到HDD(Ubuntu) EFI 上没有 Windows 启动文件并且 Windows EFI 分区上的 Windows 启动文件似乎也完好无损。
  2. 最近一次维修后,我重新安装了 Windows 10它进入了 HDD(默认),然后必须克隆到 SSD。然后我在 HDD 上安装了 Ubuntu。
  3. 这是我的笔记本电脑在 2019 年 3 月初重置后进行的第一次 Windows 更新之一。

我怀疑 Windows 在更新期间将编号最低的磁盘 (Disk0=HDD) 的 EFI 分区识别为 Windows EFI 分区。这可能导致创建新的启动管理器条目指向 Ubuntu EFI 和虚构路径:EFI\Microsoft\boot\bootmgfw.efi命名为“Windows Boot Manager”,而现有的分区则被搁置,并被赋予默认名称 SK Hynix Partition 1。

答案1

我找到了解决方案。问题是 Windows 更新从 HDD(包含 Ubuntu)添加了一个新的启动项。发生这种情况可能是因为 Windows 更新希望启动在第一个磁盘(Disk0)中,而该磁盘包含 Ubuntu。这个名为 Windows Boot Manager 的新条目失败了,因为它指向的目录中没有 Windows bootmgfw.efi。很可能在这个过程中也删除了 ubuntu 启动项。

解决方案是:在启动时,在 BIOS 中,我必须为 Ubuntu 添加另一个启动项。我选择了正确的文件 (efi/ubuntu/shimx64.efi)。

很多答案都建议修改 BIOS 中的启动项。其中很多都提到访问 EFI NVRam,我不明白。NVRam 是非易失性 RAM。EFI NVRam 托管启动选项。

必须注意的是,这可能不是永久的解决方案。另一个 Windows 更新可能会带来同样的问题。但这一次我们知道了解决办法。

相关内容