如何使用 UEFI 将我的 linux 磁盘从 MBR 转换为 GPT?

Chr*_*nes 14 linux mbr uefi gpt

我有一个 linux 机器(Ubuntu 16.04),它的启动盘是使用 MBR 进行分区的。如何将其转换为 GPT+UEFI?

Chr*_*nes 13

在开始之前,请确保您有一个备份,并确保准备好 linux live boot 来拯救您的系统。这很容易搞砸!

  1. 使用 gdisk 将分区表转换为 GPT。

    gdisk /dev/sda

  2. 创建 GRUB 需要的“BIOS 引导”分区。

    n创建一个新分区。需要大约 1MB。您可能可以从扇区 34-2047 中挤出它。使用Ll查找“BIOS 启动”(ef02) 的代码。

  3. 写入新的分区表。

    w

  4. 重新加载分区表。

    partprobe /dev/sda

  5. 使用新的分区方案重新安装 GRUB 引导加载程序。

    grub-install /dev/sda

    (可选)重新启动以验证它是否正常工作。如果你只需要 GPT 而不是 UEFI,你可以到此为止。

  6. 使用 gdisk 添加“EFI 系统”分区 (ESP)。官方应该是 100-500MB,但我的只用了 130kB。可以位于磁盘上的任何位置,因此如果您使用的是物理磁盘等不可调整大小的媒体,请考虑将其放在末尾。

    gdisk /dev/sda并用于n创建分区。

  7. 给 ESP 一个不带空格的独特标签,如EFI-system,因为我们将在 fstab 中引用分区标签。

    c 设置标签。

  8. 写分区表。

    w

  9. 重新加载分区表。

    partprobe /dev/sda

  10. 为 ESP 构建文件系统。

    mkfs -t vfat -v /dev/disk/by-partlabel/EFI-system

  11. 创建 ESP 挂载点。

    mkdir /boot/efi

  12. 将 ESP 添加到/etc/fstab. 它应该是这样的:

    /dev/disk/by-partlabel/EFI-system /boot/efi vfat 默认值 0 2

  13. 安装 ESP。

    mount /boot/efi

  14. 安装 GRUB EFI 引导加载程序。

    grub-install --target=x86_64-efi /dev/sda

  15. 重启。
  16. 将 BIOS 从 BIOS 引导更改为 UEFI 引导。
  17. 使用一次性引导菜单强制引导磁盘。您可能需要导航到磁盘 -> EFI-> ubuntu-> grubx64.efi
  18. 重新安装 GRUB 的 EFI 引导加载程序以更新 UEFI 引导选择器。

    grub-install

资源:

  • 应该注意的是,也许你应该在开始之前安装 grub-efi-amd64 包,否则你可能会以各种方式修改 chroot 以便能够安装 grub 和引导(就像我结束的那样) (4认同)