将现有的 Ubuntu 20.04 磁盘转换为 UEFI

将现有的 Ubuntu 20.04 磁盘转换为 UEFI

我使用 Ubuntu 20.04 作为笔记本电脑中唯一的系统。Ubuntu 驻留在以传统模式(即 BIOS 或 MBR 模式)启动的 SSD 磁盘上。
我现在买了一台预装了 Windows 10 的新笔记本电脑,它当然以 UEFI 模式启动。
由于我的新笔记本电脑有一个用于第二个 SATA 磁盘的插槽,我想保留 Windows 10 系统并利用第二个插槽从那里启动我的旧 SSD Ubuntu 磁盘,从而拥有双启动笔记本电脑。
我尝试在新电脑上使用 BIOS 进行不同的配置,但无法以传统模式启动 Ubuntu,即使它应该这样做。
在 help.ubuntu.com 和 askubuntu 中阅读,我只能找到一条声明,其中说两个系统必须具有相同的引导模式
我不太确定这是否是我真正的问题,但我想尝试一下,所以我需要将我的 Ubuntu 磁盘转换为 UEFI。说明很模糊(他们总是假设全新安装),所以我想知道是否有可能将我的磁盘变成 UEFI 磁盘,而不会失去以传统模式启动回旧笔记本电脑的可能性,更重要的是,不会破坏我的系统(我已经从 16.04 升级到不同的笔记本电脑,始终设法保证我的安装安全)。

答案1

与普遍看法相反,Ubuntu 的传统安装中没有任何东西无法在 UEFI 模式下启动/运行。无需“转换”。您可能应该做一些事情,例如:

  1. 为 EFI 添加 /boot/efi 挂载点(这样 grub/shim 的任何未来更新都可以正常工作)。
  2. 添加 fstab 行以挂载 /boot/efi(对于运行来说完全不重要)。
  3. 将 grub-pc 更改为 grub-efi,这样创建的 grub.cfg 也将以 UEFI 模式启动 Windows。没错,旧版 grub.cfg 仍可正常启动 Ubuntu。

我将这样一个旧版 SSD 转换为 UEFI,在 SSD 上设置了一个 EFI 分区,但我的情况是第一个磁盘仍然是旧版。如果您想从 grub 启动 Windows 和 Ubuntu,则需要相同的模式安装(因为在 grub 运行时模式决定已经做出)。我默认使用 UEFI ssd,如果我想从第一个磁盘运行 Windows(或旧版 Ubuntu),则通过 EFI 启动菜单选择启动硬盘。


https://help.ubuntu.com/community/UEFI满足 EFI 分区 (ESP) 的所有常见要求。(主要、FAT32、启动标志)。

您必须做出的选择是使用主磁盘的 ESP 还是在 sdd 上创建新的 ESP。grubx64.efi + shimx64.efi 占用不到 6MB,因此即使您将 .../EFI/Boot 中的副本翻倍,您也可以将 Ubuntu 引导加载程序放入 12MB 的可用空间中。使用第一个磁盘的 ESP 的缺点是 grub 现在分布在两个磁盘上,并且需要两个磁盘才能启动。如果您不打算移除 SDD,这并不是什么问题。

如果您确实打算移除 SDD,预计第一个磁盘仍会启动 Windows,并且移除的 SDD 可能会在另一台机器上启动,则您应该在 SDD 上放置一个 ESP(100-200MB、FAT、启动标志等)。使用 SDD 首次启动顺序,它将启动 grub,后者将启动 Ubuntu 或 Windows。如果没有 SDD,您的笔记本电脑应该只会启动 Windows(没有 grub)。

相关内容