我在笔记本电脑上双启动 Windows 10/Ubuntu,并希望升级到 Windows 11。问题是,当我最初安装 Windows/Ubuntu 时,它使用的是旧版 grub。我现在需要启用安全启动 uefi 才能升级到 Windows 11,但找不到有关如何在双启动情况下正确将旧版 grub 转换为 uefi 的指南。我尝试在 Ubuntu LiveCD 上使用启动修复,但遇到了“锁定 nvram”问题。
任何帮助都将不胜感激
答案1
我之前做过这个,Ubuntu 端没有问题,但必须重新安装 Windows。所以根据记忆和一些注意事项:步骤 0 是备份,并通过尝试恢复来测试您的备份,看看是否有效。
- 缩小最后一个分区和扩展分区,以便在磁盘末尾留出一些未分配的空间(33 个扇区以上)用于备份 gpt 分区表。很简单。
- Windows 重新安装创建了另一个 efI 分区,因此请做好处理该问题的准备。我创建了一个 EFI 分区(类型为 EFI、boot、esp 标志),在其中填充了 shimx64.efi、grubx64.efi、grub.cfg 存根,并链接到 Ubuntu 根目录中维护的 grub.cfg,然后为设备设置了默认引导加载程序 /EFI/Boot/bootx64.efi,作为 shimx64.efi 的副本,在 Boot 目录中也有 grubx64.efi,因此不需要 nvram 条目,只需启动设备即可。
3)Ubuntu 现在应该可以在 UEFI 模式下启动了!即使使用旧的 grub.cfg 文件!安装 grub-efi 包以正式重新安装 grub 可能是一个好主意。注意,我无法让 Windows 启动(直接启动——当然,旧的 grub chainloader 语法不起作用)。
4)重新安装 Windows,它会生成另一个 EFI。将所需的文件从其他 EFI 复制到要使用的 EFI。
基本上,我在转换过程中遇到的大多数问题都来自 Windows。但我并不精通 Windows 启动所需的/用途,所以也许这是意料之中的。最近,我确实尝试了磁盘克隆,试图将 EFI 分区添加到没有 EFI 分区的 gpt 磁盘,但无法让 Windows 从该 EFI 启动(有第二个启动盘)。基本上放弃了在新磁盘上首先创建 EFI 分区的尝试,并将在某个时候将其添加到末尾。