BIOS中的空启动顺序


1

我预装了安装了Windows 10的Dell Inspiron 5000。我尝试在其上安装Linux发行版(OpenSuse 42.2)(双启动),但现在BIOS无法识别我的硬盘。我应该注意到这是我第一次与UEFI打交道,所以我在这里有点深入了解。我会列出我所做的一切。

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

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

我再次进入BIOS设置,在Boot Sequence中,启动顺序完全为空。所以我点击“添加启动选项”添加硬盘作为选项。然而,出现了一个错误对话框,说“警告:找不到文件系统!”无论是启用旧版,UEFI还是安全启动,都会出现此错误。

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

有没有办法恢复我的BIOS启动到Windows?

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


通过将引导模式更改为legacy并禁用安全引导,您可以在启动操作系统时有效地禁用UEFI。之后安装的任何操作系统都可能认为它是基于BIOS的系统并采取相应的行动。您需要将选项恢复为UEFI启动以使Windows正常工作,它应该足以禁用安全启动。目前还不清楚是否在安装Linux时删除或覆盖了任何分区,因此您可能已经取消了启动分区。
Mokubai

1
至少您需要从旧版本启动更改,并且可能从Windows安装USB启动,看看它是否可以进行启动修复。如果那样的话 然后 重新安装Linux,同时将其保持在较新的“非遗留”模式。如果你无法在这种新模式下从USB启动,那么你需要获得一个可以发布的发行版,或者一个更好的程序来为发行版创建启动盘。
Mokubai

无论是那个还是你把它留在传统模式,完全重新安装Windows,以便它适合该启动模式,并且 然后 安装Linux。这样他们都是正确的并使用旧模式。
Mokubai

Answers:


4

首先,Legacy Boot(即BIOS模式)与“新”UEFI引导模式互斥。系统处于一种模式时安装的Windows版本至少可以说是 恼人的 以其他模式工作。

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

如果Windows启动然后很棒,如果没有,那么你需要打破可启动的Windows USB棒。微软的 媒体创作者 会为你做这件事。有一个选项可以在那里进行启动修复,它应该有希望解决您可能遇到的任何问题。

Windows备份并运行后 然后 我们可以再看看Linux。 不要 切换回传统启动。如果Linux无法在新的UEFI模式下启动,那么您需要找到一个发行版,或者找到一种更好的方法将下载的ISO文件写入USB记忆棒。我和两个都好运 UNetbootin 以及 Pendrivelinux 在过去。创建一个新的可引导棒,看它是否引导,如果没有,则尝试不同的发行版。几年前我试过的时候Ubuntu拒绝在我的笔记本电脑上从USB启动,而Xubuntu很好,据说相同的版本。因人而异。 Linux的新版本应该没问题。


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

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


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


很好的建议,谢谢。根据你上面的评论,似乎Grub在传统模式下覆盖了启动分区。为了修复分区,我改为UEFI启动模式并重新安装了OpenSuse,确保我使用了GRUB-EFI。这似乎解决了问题的一部分;当我启动时,我现在直接去Grub。缺点是Grub仍然无法识别Windows。我将按照您的建议修复Windows分区运行Windows的恢复光盘(如果需要,重新安装Grub之后)。
jla

0

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-installroot 可能会做这个工作;但是,您可能还需要使用更新GRUB配置文件 grub-mkconfig。我不记得您在OpenSUSE下使用的确切选项将文件写入正确的位置。
    • 您可以安装rEFInd RPM(可从前​​面引用的页面获得)。安装到硬盘后,它应该像从外部介质启动的版本一样工作。

另外,一些用于创建可启动Linux安装程序的工具省略了BIOS模式或EFI模式启动加载程序。这可以使它们在一种模式或另一种模式下无法启动。当遇到这样的问题时,许多人会犯下你在固件中启用BIOS / CSM /遗留支持所犯的错误 - 但这只会产生更大的问题,正如你所发现的那样。使用为您的计算机创建可启动媒体的工具以及所需的启动模式是适当的响应。看到 我的这个页面 我对这个主题的经验;然而,请注意,从一个发行版到另一个发行版以及从一台计算机到另一台计算机之间存在差异,因此对我来说,在我的计算机上使用Ubuntu或者在计算机上使用Fedora的随机人员可能不适合您使用计算机上的OpenSUSE 。因此,在找到有效的工具或方法之前,您可能需要尝试两个或三个工具或方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.