因此,我将 BIOS 中的启动模式从 UEFI 更改为 Legacy,用于一个完全不相关的项目(USB 上的 Linux 发行版)。现在我想回到使用内置硬盘上的 Windows,但在 UEFI 中启动时,我收到错误“未找到可启动媒体”,而在 Legacy 中启动时,我只能在 Windows 中获得恢复选项。我该如何解决这个问题?
答案1
首先,您应该意识到,您不能简单地关闭和打开兼容性支持模块 (CSM;提供“传统”启动支持的固件组件),并期望以任一模式启动已安装的操作系统。为了在 EFI 模式下启动,操作系统必须安装了 EFI 模式的引导加载程序;并且要在 BIOS 模式下启动,操作系统必须安装了 BIOS 模式的引导加载程序。大多数操作系统安装只安装一个引导加载程序,用于 BIOS 模式或者对于 EFI 模式,在硬盘上,但不是两个。更糟糕的是,Windows 将其启动模式与其分区表类型紧密联系在一起——要以 EFI 模式启动,磁盘必须使用GUID 分区表 (GPT),要在 BIOS 模式下启动,磁盘必须使用主引导记录 (MBR)分区表。有一些方法可以绕过这些限制,但它们很麻烦,而且您几乎肯定没有设置使用它们。听起来您的计算机是在 EFI 模式下启动 Windows,因此您的目标应该是让它再次以 EFI 模式启动。(顺便说一句,如今大多数 Linux 发行版也支持 EFI 模式启动,因此启用 CSM 可能没有必要。不过,这引出了很长的题外话,所以我就不多说了。)
话虽如此,您描述的问题不应该发生。我猜您的固件有问题,并且做了以下两件事之一:
- 删除了你的 Windows 启动项-- 为了在 EFI 模式下启动,EFI 会在 NVRAM 中维护一个启动项列表。当您切换到 BIOS/CSM/传统模式时,您的固件可能会删除 Windows 的 EFI 模式项。如果是这样,那么由于该项消失,您的计算机将无法再在 EFI 模式下启动 Windows。此问题的解决方法是重新创建此启动项。
- 更改了启动顺序-- 一台计算机可以有多个 NVRAM 启动项,因此一个启动项命令也存储在 NVRAM 中。重要的是,这些条目可以包括 BIOS 模式和 EFI 模式启动条目。您的固件可能重新排序了这些条目,将 BIOS 模式条目放在顶部;尽管您已禁用 BIOS 模式支持,但计算机仍会尝试使用该条目进行启动并失败。
这两个问题都可以在 Windows 中修复,第二个可能可以在固件设置实用程序中修复,但细节有所不同。由于这是一个相对容易修复的问题,因此我建议您在设置实用程序中寻找调整启动顺序的方法。Windows 条目称为“Windows 启动管理器”。确保它在启动顺序列表中位于第一位。您还应该检查其他设置;启用 CSM 可能会自动切换您需要切换回的其他设置。不幸的是,这些细节往往高度特定于机器,因此您可能需要在专门针对您的计算机或主板品牌的论坛上提问。
如果失败了,那么可能有一个方法可以用 Windows 紧急磁盘来修复这个问题;但是,我对这样的工具不是很熟悉,所以我不能告诉你怎么做。我能,但是,建议一个解决方法,可以让您暂时启动并使用 Windows 的常规工具来解决问题:
- 禁用计算机上的安全启动。具体细节因系统而异;但请参阅我的这个页面了解一些操作方法的示例。(完成后您可以重新启用安全启动。)请注意,并非所有计算机都支持安全启动,但几乎所有 Windows 8 及更高版本附带的计算机都支持安全启动。
- 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器。该页面上有这两种媒体的下载链接。
- 从您下载的 rEFInd 映像准备可启动介质。
- 使用 rEFInd 介质启动。它应该会检测到您的 Windows 安装并允许您启动它。
- 在 Windows 中,打开行政人员命令提示符窗口并输入
bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi
。这将创建一个新的 Windows 启动项并使其成为默认启动项。
重新启动后,计算机应该会重新引导至 Windows。如果没有,则可能是您忽略了固件中的某些内容,因此请仔细检查其设置。
一旦您再次启动 Windows,我建议您重新启用安全启动,如果您必须禁用它以按照我建议的程序进行操作。
编辑:看到你的启动修复输出,看来您最初的 Windows 安装处于 BIOS/CSM/legacy 模式,而不是 EFI/UEFI 模式,正如您关于从 UEFI 模式切换到 BIOS 模式启动以在 USB 驱动器上启动 Linux 的评论所让我相信的那样。这一事实改变了一切,您应该忽略我在此编辑之前的大部分回答。(我将其保留在原处作为我们迄今为止讨论的记录,因为它包含有关在启动模式之间切换的风险的信息。)
我建议您不要尝试让 Windows 的 EFI 模式启动正常工作(这将非常困难),而是重新启用固件中的 CSM(“传统”启动支持),并使用 Windows 工具修复 Windows 启动。我不是这个过程的专家,所以我帮不上什么忙。我不知道是什么原因导致 Windows 启动失败,但修复过程将非常特定于 Windows,并遵循较旧的(大多数 2012 年之前)Windows 安装的模式,而不是较新的 EFI 模式安装。