如何检查和更改分区表类型?

新的预装Windows 8的电脑使用与以前不同的分区表,这与转向UEFI一起导致混淆,因为用户不知道新的分区表并试图在这些计算机上按传统方式安装操作系统,反之亦然。(非UEFI安装可以完成,但需要特殊分区。MBR分区磁盘上的UEFI安装似乎也是可能的。)
1个回答

什么是分区表?它与Windows 8有什么关系?

除了一般的分区之外,值得注意的是分区信息存储在硬盘上的分区表中。

整个主题没有受到太多关注,因为几乎三十年来的DOS/Windows计算机(用于安装Linux的计算机)只有一个选择。(MBR于1983年引入。)直到Windows 8终于用UEFI/GPT取代了早就过时的BIOS/MBR子系统组合。(GPT和MBR的比较,请参阅Arch Wiki上的Comparison。)

尽管GPT是新格式的名称,但关于如何称呼旧格式存在一些混淆,因为MBR先前描述了存储在分区表中的分区信息旁的引导加载程序代码。

如何检查和更改分区表?

在开始之前,请仔细阅读这些说明!

请注意,您还可以转换分区表:如何将Ubuntu MBR驱动器更改/转换为GPT,并使Ubuntu从EFI引导?
  1. GUI方法 - 使用GParted

    要找出所选驱动器的分区表类型,请选择菜单中的查看 > 设备信息

    GParted显示已选择/dev/sdb和“设备信息”菜单项

    选择要更改分区的磁盘,然后从菜单中选择设备 > 创建分区表

    GParted显示“创建分区表”菜单项

    如果收到警告说设备包含活动分区,请卸载这些分区。请注意,您无法卸载当前正在运行的操作系统的分区。然后,您将看到下面的窗口,在此窗口中,您可以选择分区表类型。msdos是GParted称为旧格式的名称,gpt是较新的格式。其他格式适用于其他操作系统或架构。

    还请注意警告消息。创建新的分区表将丢弃磁盘上现有分区的所有信息。它不会覆盖分区上的数据,但您仍然不希望在创建新的分区表后需要挖掘和恢复数据。因此,在创建新的分区表之前,请考虑旧分区已丢失并且所有数据已丢失,并备份您的数据。

    GParted要求在/dev/sdb上创建分区表

  2. CLI方法 - 使用parted

    要显示分区表信息,请运行以下命令:

    sudo parted --list
    

    要创建新的分区表,请运行以下命令:

    # 这是一个破坏性操作,将销毁设备上分区的所有数据
    sudo parted device mklabel label-type
    

    device应替换为设备名称(例如/dev/sdb),label-type应替换为msdosgpt

    您还可以通过运行sudo parted来交互地运行parted。有关更多详细信息,请参阅manpage


很好的介绍,但是有几点需要补充:1)你可以进一步扩展“什么是分区表”的部分;2)对于新手、非技术人员或不熟悉硬盘的人来说,这些步骤是否会完全清除硬盘,还是只是改变为GPT而不影响分区,不太清楚;3)我认为在涉及分区的回答中,最好的做法是提醒用户备份所有数据;4)为什么不直接将你的回答发布在如何将Ubuntu MBR驱动器更改/转换为GPT,并使Ubuntu从EFI引导?上呢?你的问题可能被视为重复。 - Alaa Ali
@AlaaAli 我想尽量简洁地表达。第一句话可以用更好的措辞,但我不想深入到工程层面(关于分区表的问题,我认为没有太多其他要说的)。2和3)添加了信息。4)该网站似乎存在过长、庞大和冗余的回答问题,导致用户无法找到他们所需的信息。你能在那里找到吗?关于转换的问题最好只涉及读者的转换,而不要与(数据)破坏性的回答混淆。感谢你的建议。 :) - LiveWireBT
而且在这里也可以加上**+1;-)** 有空的时候,来聊天室看看,这样我就不必在这里留下评论了... - Fabby
对于现有的安装而言,不会丢失数据,这个适用吗? - Abd-Elaziz Sharaf