有人能解释一下为什么我在没有尝试安装 Windows 的情况下收到 Windows EFI 错误消息吗?

有人能解释一下为什么我在没有尝试安装 Windows 的情况下收到 Windows EFI 错误消息吗?

我正在使用 HP Z620 工作站。

我的主硬盘是 Ubuntu,它运行良好。我物理移除了装有 Ubuntu 的硬盘,放入了一个全新的硬盘,并尝试安装另一个操作系统(不是 Windows),但失败了。所以我取出了新硬盘,重新放入了我的 Ubuntu 硬盘,并希望它能像以前一样工作。相反,我得到了一个 Windows 蓝色 EFI 错误屏幕,说我需要修复我的电脑?

现在,当我想启动我的旧 Ubuntu 磁盘时,我必须放入 rEFIt USB 引导加载程序来手动选择硬盘,否则它将无法启动。我确信我可以以某种方式修复它,我只是想知道这里到底发生了什么?

谢谢你!

答案1

我有两个假设。第一个假设是您报告的错误消息实际上不是 Windows 消息,而只是类似于 Microsoft 使用的格式。您没有准确引用它或提供屏幕截图,因此我们无法准确判断它是什么。

我的第二个假设是,当你在第一个磁盘上安装 Ubuntu 时,你没有完全擦除EFI 系统分区 (ESP),这是引导加载程序驻留在基于 EFI 的计算机上的位置。这不会立即导致问题,因为您的 Ubuntu 安装将 NVRAM 中的 EFI 变量设置为指向 Ubuntu 引导加载程序 (GRUB) 作为默认值,因此 Windows 引导加载程序未被激活。但是,当您交换磁盘时,您的 EFI 注意到 Ubuntu 引导加载程序不可用,因此从 NVRAM 中删除了它的条目。当您交换磁盘时,固件依赖于 Windows 引导加载程序位置的硬编码作为后备,因为它在 NVRAM 中没有可用的条目,并且 Windows 引导加载程序重新恢复运行。

第二种假设在我看来更有可能。如果它是正确的,解决方案是重新创建您的 Ubuntu/GRUB 引导加载程序条目。这可以通过多种方式完成。从计算机角度来看,最简单的方法是启动紧急系统并使用bcfg(在 EFI shell 中)或efibootmgr(在 Linux 中)等工具重新创建丢失的条目。不过,这需要一定的专业知识;请参阅这一页总结一下。从人的角度来看,一个更简单的解决方案是使用 Ubuntu 的引导修复工具,它将重新安装 GRUB 并将新的 GRUB 设置为默认设置。另一个选项是安装另一个 EFI 引导加载程序;有几种可用的,如果你的 GRUB 有问题,那么使用另一个可能比修复 GRUB 更容易,因为 GRUB 的手动设置相当神秘和复杂。

相关内容