我设法在 hp pavillion 笔记本上安装了 ubuntu 并进行了双重启动。为此,我必须在按下电源后立即按下 esc 和 f10,以便访问 BIOS。在 BIOS 的启动选项中启用旧版。然后我安装并配置了 linux(debian ubuntu 和 arch linux)。只要我保留启用旧版选项,启动后我就能获得 grub。我想要实现的是,如果我在 BIOS 中禁用旧版支持,笔记本会提示我使用 grub2。现在,如果我禁用旧版,笔记本会启动 Windows 10 并忽略 grub2。我认为这与 efi 有关,但我有限的知识仅限于此。
答案1
在 bios 的启动选项中启用 legacy。然后我安装并配置了 linux(debian ubuntu 和 arch linux)
这也许不是你可能做过的最糟糕的事情,但这一行为几乎注定会给你带来麻烦。要了解原因,请参阅我的有关该主题的网页。(简而言之:启用 CSM(又称“遗留支持”)会将启动过程变成掷硬币,其中“正面”与禁用没有什么不同,而“反面”则 100% 保证双启动会出现问题。)
一个解决方法是备份并重新启动 - 禁用 CSM 并重新安装所有 Linux 发行版。这有点过头了,但从很多方面来说,这是最简单的解决方案。请注意,如果您因为启动安装介质时遇到问题而启用了 CSM,则很可能是它们准备不正确。有关该主题的更多信息,请参阅我在上一段中链接的页面。
另一个解决方案是安装 EFI 模式引导加载程序,这应该可以使您现有的安装正常工作。有很多方法可以做到这一点,但在所有情况下,您都应该从禁用 CSM 开始。两个可能相对容易的方法是:
- 如果尚未禁用,请在固件中禁用安全启动。下载我的 USB 闪存驱动器或 CD-R 版本rEFInd 启动管理器并准备一个介质。您应该能够启动它,并从中启动任何 Linux 发行版。(有些可能需要一些额外的引导,具体取决于您如何安装它们。)在 Linux 发行版中,将 rEFInd 安装到您的硬盘上。(我提供了一个可以在 Debian 或 Ubuntu 中运行的 Debian 软件包和一个可以在 Ubuntu 中运行的 PPA。Arch 有自己的 rEFInd 软件包。)然后您应该可以启动了——但同样,您可能需要稍微调整一下。
- 跑过启动修复实用程序从 Ubuntu 紧急磁盘启动,以 EFI 模式启动。这应该会将 EFI 版本的 GRUB 2 安装到您的计算机上,它将拾取您的发行版并使它们可启动。不幸的是,GRUB 2 在多个 Linux 发行版(尤其是奇特的发行版)上可能有点不稳定——操作系统检测脚本有时未针对除制作软件包的发行版之外的发行版进行优化或更新。因此,如果您使用 Boot Repair(基本上是 Ubuntu 工具),很可能无法正确检测到 Arch,甚至 Debian。
这两种方法可能都有效,但会给你带来新的问题。如果发生这种情况,请回复或提出新问题;您的四重启动设置中存在太多潜在陷阱,我无法预先解决其中哪怕一小部分。