文档首页/ 弹性云服务器 ECS/ 常见问题/ 磁盘分区/挂载/扩容/ 如何转换磁盘MBR分区为GPT分区?
更新时间:2024-11-29 GMT+08:00
分享

如何转换磁盘MBR分区为GPT分区?

操作场景

MBR分区支持的云硬盘最大容量为2 TiB,GPT分区支持的最大云硬盘容量为18 EiB,因此当云硬盘容量大于2 TiB或目前小于等于2 TiB但后续可能会扩容至2TiB以上时,请在初始化云硬盘时,分区格式选择GPT分区。

对于已选择MBR分区格式的云硬盘,如果希望将其扩容至2 TiB以上,需要先将分区格式从MBR转换为GPT后,再进行扩容。本文为您介绍如何将Windows和Linux系统ECS的数据盘从MBR分区转换为GPT分区。

转换MBR分区为GPT分区(Windows系统ECS)

本文以Windows Server 2016操作系统ECS、数据盘“磁盘 1”为例进行介绍,若您实际环境采用其他版本的操作系统,请参考对应操作系统官网帮助中心。

  • Windows系统ECS转换分区格式过程中,磁盘数据不可用,如果您正在运行的业务依赖于该磁盘的数据,可能会出现问题。

    建议您转换前先停止业务,待分区格式转换完成并恢复磁盘数据后再继续进行。

  • 转换分区格式过程中,磁盘上所有数据会被清除,请您提前备份磁盘上的所有数据。
  1. 备份磁盘数据。
    转换分区成功后,可以通过备份数据恢复原磁盘。您可以选择以下方式备份磁盘数据:
  2. 远程登录ECS。

    详细操作,请参见Windows ECS登录方式概述

  3. 在云服务器桌面,右键单击左下方的开始图标,然后单击“磁盘管理”。
  4. 在“磁盘管理”页面,找到待转换分区的数据盘(以磁盘 1为例)。
    图1 磁盘管理
  5. 右键单击一个简单卷,在弹出菜单中选择“删除卷”。
    图2 删除卷

    如果删除卷失败,可能是您的ECS内仍有程序访问该磁盘的数据或信息。建议您重启ECS后,再次执行删除卷。

    重启ECS会影响业务运行,请选择合适的时间进行。

  6. 单击“是”,完成删除卷。
  7. 右键单击磁盘 1周边的空白区,在弹出菜单中选择“转换成GPT磁盘”。
    图3 转换成GPT磁盘
  8. 右键单击磁盘的未分配区域,选择“新建简单卷”。
    图4 新建简单卷
  9. 在“新建简单卷向导”对话框中,单击“下一步”,然后根据向导完成操作。

    详细操作,请参见初始化windows数据盘中的“新建简单卷”步骤。

  10. 查看新建的简单卷信息,单击“完成”,关闭“新建简单卷向导”。

    分区格式转换完成后,“磁盘管理”中“磁盘 1”的状态如下图所示。

    图5 新磁盘状态
  11. (可选)恢复磁盘数据。

    如果您已备份并需要恢复原磁盘数据,转换分区完成后,您可以恢复数据至原数据盘,并确认数据无误后再使用。

    您可以根据磁盘数据备份方式,选择对应的恢复数据方案:

    恢复磁盘数据后建议删除备份数据,避免持续计费。

转换数据盘MBR分区为GPT分区(Linux系统ECS)

本文以Huawei Cloud EulerOS 2.0操作系统ECS、数据盘/dev/vdb为例进行介绍,若您实际环境采用其他版本的操作系统,请参考对应操作系统官网帮助中心。

通常情况下,Linux系统ECS在转换分区格式过程中,磁盘原有分区数据不会丢失,为了避免因误操作导致数据丢失或异常,建议您提前备份磁盘上的所有数据。

  1. 备份磁盘数据。
    您可以选择以下方式备份磁盘数据:
  2. 远程登录ECS。

    详细操作,请参见Linux ECS登录方式概述

  3. 执行以下命令,查看磁盘分区情况。

    fdisk -lu

    图6 磁盘分区

    如图所示,该实例有2块磁盘,系统盘/dev/vda和数据盘/dev/vdb,以数据盘/dev/vdb为例进行介绍。

    • 磁盘的设备名称:/dev/vdb
    • 磁盘的分区类型:Disklabel type值为dos表示MBR分区。

      不同操作系统的显示略有不同。如果没有Disklabel type字段,可通过System字段判断。System值为Linux表示MBR分区,值为GPT表示GPT分区。较低版本的fdisk可能不能正常显示GPT分区表。您可以通过gdisk -l /dev/vdb命令查看分区类型。

  4. 执行以下命令,安装gdisk工具。
    • Huawei Cloud EulerOS 2.0版本、CentOS 6及以上版本运行以下命令。

      type sgdisk || yum install -y gdisk

    • Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。

      type sgdisk || apt-get install -y gdisk

  5. 执行以下命令,将MBR分区转换为GPT分区。

    sgdisk只能对设备(例如/dev/vdb)进行操作,不能对分区(例如/dev/vdb1)进行操作,否则可能会损坏文件系统。

    以磁盘设备名称/dev/vdb为例,执行如下命令:

    sgdisk -g /dev/vdb

    如果执行sgdisk命令时出现报错提示信息,请参见常见问题进行解决。

  1. 执行以下命令,查看分区转换结果。

    以磁盘设备名称/dev/vdb为例,执行如下命令:

    fdisk -lu /dev/vdb

    如下图所示,当Disklabel type值为gpt时,表示已转换为GPT分区,分区转换成功。

    图7 转换分区成功

    不同操作系统的显示略有不同。如果没有Disklabel type字段,可通过System字段判断。System值为GPT表示为GPT分区。

常见问题

  • 问题1

    执行转换分区sgdisk -g命令时,提示如下信息。

    图8 报错信息1

    这是由于磁盘尾部剩余空间不足33个扇区,没有足够的空间用于MBR转换为GPT。

    解决方案

    1. 扩容云硬盘的容量,详细操作,请参见扩容云硬盘
    2. 扩容云硬盘后,再次执行转换分区格式。
  • 问题2
    执行转换分区sgdisk -g命令时,提示如下信息。
    图9 报错信息2

    这是由于磁盘头部剩余空间不足以容纳GPT分区表所需的头部信息。这通常是因为数据或分区位于磁盘非常靠前的位置,没有足够的空间来放置GPT的分区表结构。

    解决方案

    1. 备份磁盘数据。
    2. 新增一个磁盘并挂载至ECS,详细操作,请参见为ECS新增磁盘为ECS挂载磁盘
    3. 将旧磁盘的数据复制到新磁盘。
    4. 卸载并删除旧磁盘,详细操作,请参见在线卸载磁盘删除云硬盘

相关文档