我目前有一个双启动设置,其中一个磁盘上安装有 Windows 10,另一个磁盘上安装有 ubuntu。这是在 CSM 模式下安装的,而不是 UEFI。它运行良好,当我启动 PC 时,我可以选择带有 GRUB 引导加载程序的 Ubuntu 或 Windows。现在我想为 Windows 11 做好准备,Windows 11 的一个要求是启用“安全启动”。为了启用它,我必须更改为 UEFI。问题是,使用 UEFI 我无法启动 Ubuntu。在启动选项中,它只显示“Windowsbootmanager”,我唯一可以选择的磁盘是带有 Windows 的磁盘。切换回 CSM 模式后,我可以访问 Windows 和 ubuntu。
我的研究附注:
- 我的
/boot/efi
目录是空的。 grub-install --version
给我:grub-install (GRUB) 2.04-1ubuntu26.13
按照答案中的说明(创建分区并使用启动修复)后:
现在我在 BIOS/UEFI 中看到两个选项,和Windows Boot Manager (Samsung SSD EVO 250GB)
。ubuntu (Samsung SSD EVO 250GB)
如果我选择 Ubuntu 作为第一个启动选项,我会收到以下错误屏幕:
Ubuntu GRUB 错误屏幕
现在无法再启动 ubuntu。即使我切换回 CSM。
以下是启动修复中的 pastebin:http://paste.ubuntu.com/p/4qhwYQt8k8/
我想知道我是否必须将装有 ubuntu 的磁盘从 MBR 转换为 GPT 分区表。如果是这样,我该怎么做?我找到了工具 gdsik,但如上所述,我的 ubuntu 无法再启动。
答案1
来自Ubuntu 帮助:
将 Ubuntu 转换为 UEFI 或 Legacy 模式
注意:如果您的计算机已正确启动,请不要遵循此过程。仅当您认为您意外地在 BIOS/CSM/传统模式下安装了 Ubuntu 并且希望它以 UEFI/UEFI 模式启动时才使用此过程。
开始启动修复,点击“高级选项”,进入“GRUB 位置”选项卡。
如果您没有看到“Separate/boot/efi partion”行,则表示您的 PC 没有任何 UEFI 分区。在这种情况下,退出 Boot-Repair,然后创建一个 UEFI 分区(请参阅上面的“创建 UEFI 分区”段落)。
如果您看到“单独的 /boot/efi 分区”行,请勾选它然后单击“应用”按钮。
设置 BIOS,使其以 UEFI 模式启动 HDD(请参阅在 UEFI 或 Legacy 模式下设置 BIOS段落 1)。
跳过 1 和 2,直接进入“创建 UEFI 分区”
可以通过最新版本的分区(Live 会话中包含的 Gparted 版本就可以了),并且必须具有以下属性:
- 挂载点:/boot/efi(备注:使用手动分区时无需设置此挂载点,Ubuntu 安装程序会自动检测)
Size: minimum 100Mib. 200MiB recommended. Type: FAT32 Other: needs a "boot" flag.
答案2
我需要让 PC 使用 TPM 模块进行 Windows 11 升级,因此也需要 UEFI 启动。
PC 没有从 USB 启动的选项,因此我使用 dd 命令将 Linux .iso 安装文件从 USB 复制到交换分区。swapoff
必须先运行该命令。然后系统重新启动,固件启动菜单有了一个新选择。选择后,安装磁盘从旧交换分区启动。从那里,安装到当前 Linux 分区以重写 UEFI 信息。之后,BIOS 中的 Legacy 启动选项被重置。
系统默认启动到 Windows。当系统重新启动并选择 Ubuntu UEFI 启动管理器时,系统启动 Linux。