如何将驱动器的分区表从 MBR 更改为 gpt,而不丢失驱动器末尾的 NTFS 分区?

如何将驱动器的分区表从 MBR 更改为 gpt,而不丢失驱动器末尾的 NTFS 分区?

长话短说,我有一个使用 MBR 分区表格式化的外部 USB 硬盘,我想在需要保留的 ~442.33 GB NTFS 分区之前的 ~23.40 GB 未分配空间中以 UEFI 模式安装 Ubuntu:

截屏

要在 UEFI 模式下安装 Ubuntu,我需要将驱动器的分区表格式化为 gpt。

我认为没有简单/直接的方法将 MBR 分区表转换为 gpt 分区表,所以我也在寻找复杂/间接的方法。

例如,我认为可以通过记下 NTFS 分区的开始、写入新的分区表并将 NTFS 分区添加到新的分区表中来完成某些操作,但我从未这样做过,而且我不知道从哪里开始;此外,在这种情况下我不想第一次尝试这样做,因为我对这些东西不是很有信心,而且我不能丢失我需要保留的 NTFS 分区。

答案1

实际上有一个简单的方法可以做到这一点:gdisk在磁盘上运行,然后键入w以保存更改(如果您不执行任何其他操作,则包括从 MBR 转换为 GPT,这将gdisk自动完成)。也就是说,有几个注意事项:

  • 如果磁盘是可引导的,则转换后它将不再可引导。通常可以通过安装合适的引导加载程序来恢复可引导性。NTFS 意味着 Windows,这意味着从 BIOS 模式转换为 EFI 模式引导。进行此更改是可能的,但有点繁琐。这里有一页描述了如何操作。如果磁盘严格来说是数据(非启动)磁盘,那么这个问题对你来说并不重要。
  • 如果磁盘上的最终分区太靠近磁盘末端,则可能需要将其缩小一点——通常只需缩小几个扇区,尽管许多工具需要四舍五入到 1MiB 单位,因此您可能会损失 1MiB 左右。GParted 通常会忽略这样的微小间隙,因此从您的屏幕截图中无法判断您是否需要这样做。
  • 如果第一个分区的起始位置离磁盘起始位置太近,则可能需要移动其起始点。但您的磁盘显然不是这种情况。
  • 某些元数据(如分区类型代码)无法正确转换。这对您的磁盘来说不是问题。

有关此主题的更多信息,请参阅我的 GPT fdisk 文档有关 MBR 到 GPT 的转换。(注:我是的作者gdisk,它在 Ubuntu 的最新版本中默认安装;因此该页面可以被视为官方文档。)

相关内容