如何将双启动系统(Linux / Win10)从 Legacy/BIOS 迁移到 EFI,而无需重新安装所有内容?
我的情况:双启动(Linux Mint / Windows 10)系统,具有三个SSD 和一个 HDD,基于 MBR,grub2 作为启动管理器。
我尝试了此处描述的步骤:https://wiki.ubuntuusers.de/GRUB_2_von_BIOS_nach_EFI_umstellen/(德语,抱歉……)但失败了 - 不知道为什么。shim_lock
完成该过程后缺少,efibootmgr -v
输出中没有 Ubuntu 或 Linux mint 条目。此外,没有使用将 MBR 转换为 GPT 的步骤。我通过使用实时系统gdisk
重新安装来恢复结果。grub-pc
我想知道我是否必须先将 Win10 从 MBR 迁移到 GPT?或者我可以随后迁移 Windows?我认为我不能直接使用Microsoft 提供的MBR2GPT,因为 Win10 所在的同一磁盘上有 ext4 分区?
也许值得考虑投资另一个 SSD(时间成本与驱动器成本)**。
如果您选择这条路径,我建议将新驱动器分区为 GPT,然后将您的 Linux 系统迁移到 EFI,应该可以从 UEFI 媒体启动并将引导加载程序安装到 EFI 分区中 - Linux 的其余部分不应该关心驱动器分区机制 - Linux 不关心它是否从一个驱动器启动并且它的大多数文件都在不同的驱动器上。
完成后,将所有 ext4 分区从 Windows 驱动器迁移到新驱动器(只需复制它们并更新挂载点)。然后,您可以从 Windows 驱动器中删除 ext4 分区,这样该驱动器上就只有 Windows。
可选:从机器中删除除 Windows 驱动器之外的所有内容(您可以自行决定,但我对 Windows 安装程序的信任有限 - 我已经被坑过太多次了)。
完成标准 Windows 转换(到 GPT)并升级到 Windows 11 过程 - 您的驱动器上只有 Windows,因此安装程序(理论上)应该能够处理它。
将其他驱动器放回盒子中,在您的 BIOS 中将 EFI 启动驱动器设置为 linux,并更新您的 linux 启动加载程序以链式加载 windows 驱动器 - 您可以选择使用您的 BIOS 来切换您要启动的 (EFI) 驱动器,但每次都必须进入 BIOS 进行切换,这很麻烦。
** - 我看到您已经有 3 个驱动器 - 如果您有预算,您可以考虑购买更大的驱动器并合并为两个驱动器(一个用于 Linux,一个用于 Windows)。
或者,如果您有另一个较小的驱动器 - 足以创建 EFI 并从 Windows 驱动器中获取 Ext4 分区,您可能不需要购买任何东西。