尝试将 Ubuntu 与 Win 10(UEFI)一起安装,并将 GRUB2 安装在单独的驱动器上(使用此 Wiki:Grub2/安装) 在第一次启动后就消失了。我的计划是将安装了 GRUB 的驱动器列为 Bios 启动顺序中的主要启动源。
我有两个驱动器,其中一个是用于 Windows 和系统文件的 SSD,另一个 (2TB) 用于存储。但我的 Windows 启动位于 2TB 驱动器上,这让我尝试将 GRUB2 加载到 SSD 上并将 SSD 设置为主启动驱动器。
安装 Ubuntu 后,该选项确实在 Bios 启动顺序菜单中弹出,但当我尝试将 SSD 设为我的 #1 可启动设备时,该选项不再存在。我尝试查看它是否保留在启动顺序中,但事实并非如此。
这是 Windows 阻止/覆盖 GRUB 的常见情况吗?有什么解决方案可以防止这种情况发生?
答案1
首先,请理解,在 EFI 模式启动中,你通常不会从设备(如磁盘第一个扇区的引导代码)或分区(如分区第一个扇区的启动代码);相反,EFI 模式启动文件存储在EFI 系统分区 (ESP)。要使用的 EFI 引导加载程序在 NVRAM 中引用。我想明确说明这一点,因为您的问题暗示了 BIOS 模式思维,这可能会让您误入歧途。
这引出了第二点:你没有 BIOS。你有一个 EFI(或 UEFI,即 EFI 2.x)。BIOS 和 EFI 是两个完全不同启动计算机的方法。不幸的是,许多人,甚至制造商,都将 EFI 称为“BIOS”。恕我直言,这是一个错误,因为它会让人们以 BIOS 术语来思考 EFI,从而导致问题。话虽如此,还是存在一些交叉条件。最重要的是,大多数现代 EFI 都包含兼容性支持模块 (CSM),这是 EFI 使用旧 BIOS 模式引导加载程序的一种方式。如果 CSM 处于活动状态,则引导路径会变得非常复杂,除非您真正了解自己在做什么,否则这可能会造成混乱。不过,您的帖子中没有任何内容让我认为您遇到了 CSM 复杂问题。
您所描述的是基于 NVRAM 的 EFI 启动管理器中的一个条目,它出现后又消失了。这可能是由多种原因造成的,包括(但不限于):
- 用户错误——您可能意外地(甚至是不知不觉地)使用
efibootmgr
Ubuntu 或固件自己的用户界面之类的工具将其删除了。 - 程序错误-- 操作系统级程序可能存在导致删除的错误。
- EFI 错误-- 许多 EFI 存在错误,可能会导致此类问题。您没有说明您的计算机是什么品牌和型号,这可能有助于确认或否定这一假设。
- 磁盘交换-- 许多经验丰富的多引导程序在将操作系统安装到另一个磁盘时会拔掉一个磁盘。但是,某些 EFI 会自动删除无法访问的引导加载程序的 NVRAM 条目,因此这种策略可能会导致您看到的症状。
在极端情况下,如果您的基于 NVRAM 的启动管理器条目无法稳定,您可能需要使用EFI/BOOT/bootx64.efi
启动管理器的后备文件名。您可以使用以下方法将 GRUB 放在那里靴子修理,但您必须使用“高级”菜单来激活执行此任务的选项。(我不记得它的具体名称。)
答案2
请确保安全启动已完全禁用并且 Windows 休眠功能也已关闭。
然后单击关机(重启)并按下 Shift 键,按照屏幕上的说明启动 Ubuntu Linux。
登录 Linux 后,你需要安装启动修复从终端( Ctrl++ Alt )T
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
它应该可以解决您的问题。或者至少您有一些 pastebin 内容可以与我们分享。