BIOS 中的空启动顺序

BIOS 中的空启动顺序

我有一台预装了 Windows 10 的 Dell Inspiron 5000。我尝试在其上安装 Linux 发行版 (OpenSuse 42.2)(双启动),但现在 BIOS 无法识别我的硬盘。我应该注意,这是我第一次处理 UEFI,因此我在这方面有点力不从心。我将列出我所做的一切。

引导加载程序无法将装有 Linux DVD 的 DVD 驱动器识别为可引导设备,因此我进入 BIOS 设置并禁用安全启动,启用旧版选项 ROM,最后将启动列表选项从 UEFI 更改为旧版。然后我就能够从 Linux DVD 启动并安装到新分区。安装时,我保留所有引导加载程序设置的默认设置。我注意到它使用的是 Grub2,而不是 Grub2-efi。

重新启动计算机后,找不到任何可启动设备;它进行了一些诊断检查。我重新启动到引导加载程序菜单,在 Legacy 标题下,我能够选择启动 Grub 的硬盘。但是 Grub 只显示了 OpenSuse 的选项,没有双启动 Windows 的选项。所以我回到 BIOS 设置并将设置更改为以前的设置:UEFI、无 Legacy 和启用安全启动。当我重新启动到引导加载程序菜单时,legacy 标题和所有从硬盘启动的选项都消失了。

我再次进入 BIOS 设置,在启动顺序中,启动顺序完全是空的。所以我点击了“添加启动选项”以将硬盘添加为选项。但是弹出一个错误对话框,提示“警告:未找到文件系统!”无论我启用的是传统启动、UEFI 还是安全启动,这个错误都会持续存在。

我现在有一台在不同的分区上安装了 Windows 和 Linux 的计算机,但我只能启动到 Linux,并且只有在 BIOS 处于传统模式时手动进入引导加载程序菜单才能启动。

有什么方法可以恢复我的 BIOS 以启动 Windows 吗?

我备份了文档等,但是在摆弄 BIOS 之前没有备份整个硬盘。

答案1

首先,传统启动(即 BIOS 模式)与“新”UEFI 启动模式互斥。在系统处于其中一种模式下安装的 Windows 版本至少可以说加重以另一种模式开展工作。

目前,如果您关心的是 Windows,那么我们可以忽略 Linux。首先,您需要禁用旧版启动选项。您的 Windows 副本是在 UEFI 模式下安装的,因此其引导加载程序的设置与“旧版”BIOS 引导加载程序不同。

如果 Windows 可以启动,那就太好了,如果不能,那么你需要取出一个可启动的 Windows USB 棒。微软的媒体创作者会帮你完成这个。有一个选项可以修复启动,它应该可以解决你可能遇到的任何问题。

Windows 恢复运行后然后我们可以再看一下Linux。不要切换回传统启动。如果 Linux 无法在新的 UEFI 模式下启动,那么您需要找到一个可以启动的发行版,或者找到一种更好的方法将下载的 ISO 文件写入 USB 记忆棒。我对这两种方法都感到很满意联合国网启动优盘linux过去。创建一个新的可启动棒,看看它是否能启动,如果不行,则尝试不同的发行版。几年前我尝试过,Ubuntu 拒绝从笔记本电脑上的 USB 启动,而 Xubuntu 则没问题,据说是相同的版本。YMMV。希望新版本的 Linux 可以正常启动。


另一方面,如果您不关心当前的 Windows 副本,并且在非传统模式下启动 Linux 无法工作,那么您将不得不咬紧牙关,切换到传统模式,将硬盘格式化为 MBR,重新安装 Windows,重新安装 Linux 并继续这样做。

Windows 无法在传统模式下启动的原因之一是,Windows 仅限于 UEFI 模式下的 GPT 分区磁盘,而 BIOS(传统)模式无法从 GPT 分区启动。Linux 可以解决这个问题,但它不适合双重启动。


因此,您要么坚持使用 UEFI 模式(而不是传统模式)并找到让 Linux 正常工作的方法,要么在传统模式下重新安装所有内容。

答案2

Mokubai 的分析是正确的,我同意禁用 BIOS/CSM/旧版启动支持是恢复的必要部分。(当然,还有其他方法,但它们可能很笨拙且低劣。)我只是想提供一种替代的恢复方法:

  1. 下载我的 USB 闪存驱动器或 CD-R 版本的rEFInd 启动管理器。
  2. 使用您下载的文件创建启动媒体。
  3. 使用外部 rEFInd 介质启动。(您可能需要禁用安全启动或完成额外的步骤才能使安全启动与 rEFInd 配合使用。)
  4. 从 rEFInd 的菜单中,测试 Windows 选项是否有效,然后重新启动回到 rEFInd。
  5. rEFInd 应该至少提供一个选项来启动您的 OpenSUSE。这些选项可能会或可能不会直接起作用,具体取决于您安装 OpenSUSE 的方式。特别是,您可能需要在 rEFInd 中按两次 F2 或 Insert 并向root={your-root-device}内核参数添加一个选项,特别是如果您使用了单独的/boot分区。不过,这还不确定,所以您应该先尝试不使用此选项。
  6. 如果您可以通过 rEFInd 启动 OpenSUSE,则可以从该启动中安装全新的 EFI 模式引导加载程序。两个选项可能相对简单。
    • 如果安装了 GRUB EFI 包,那么输入grub-installasroot可能就可以完成这项工作;但是,您可能还需要使用 来更新 GRUB 配置文件grub-mkconfig。我不记得在 OpenSUSE 下使用的具体选项将文件写入正确的位置。
    • 您可以安装 rEFInd RPM(可从前​​面提到的页面获取)。一旦安装到硬盘上,它应该就像您从外部介质启动的版本一样工作。

附带说明一下,一些用于创建可启动 Linux 安装程序的工具忽略了 BIOS 模式或 EFI 模式引导加载程序。这可能导致它们无法在一种或另一种模式下启动。许多人在遇到此类问题时,都会犯下与您一样的错误,即在固件中启用 BIOS/CSM/旧版支持——但正如您所发现的,这只会在后期造成更大的问题。使用为您的计算机创建可启动介质并处于所需启动模式的工具是适当的响应。请参阅我的这个页面这是我关于这个主题的经验;但是,请注意,不同发行版和不同计算机之间存在差异,因此,对我的计算机上的 Ubuntu 或对计算机上的 Fedora 的随机用户有用的方法可能不适用于您的计算机上的 OpenSUSE。因此,您可能需要尝试两三种工具或方法,才能找到一种有效的方法。

相关内容