如何转换磁盘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”为例进行介绍,若您实际环境采用其他版本的操作系统,请参考对应操作系统官网帮助中心。
- 备份磁盘数据。
- 远程登录ECS。
详细操作,请参见Windows ECS登录方式概述。
- 在云服务器桌面,右键单击左下方的开始图标,然后单击“磁盘管理”。
- 在“磁盘管理”页面,找到待转换分区的数据盘(以磁盘 1为例)。
图1 磁盘管理
- 右键单击一个简单卷,在弹出菜单中选择“删除卷”。
图2 删除卷
如果删除卷失败,可能是您的ECS内仍有程序访问该磁盘的数据或信息。建议您重启ECS后,再次执行删除卷。
重启ECS会影响业务运行,请选择合适的时间进行。
- 单击“是”,完成删除卷。
- 右键单击磁盘 1周边的空白区,在弹出菜单中选择“转换成GPT磁盘”。
图3 转换成GPT磁盘
- 右键单击磁盘的未分配区域,选择“新建简单卷”。
图4 新建简单卷
- 在“新建简单卷向导”对话框中,单击“下一步”,然后根据向导完成操作。
详细操作,请参见初始化windows数据盘中的“新建简单卷”步骤。
- 查看新建的简单卷信息,单击“完成”,关闭“新建简单卷向导”。
分区格式转换完成后,“磁盘管理”中“磁盘 1”的状态如下图所示。
图5 新磁盘状态
- (可选)恢复磁盘数据。
如果您已备份并需要恢复原磁盘数据,转换分区完成后,您可以恢复数据至原数据盘,并确认数据无误后再使用。
您可以根据磁盘数据备份方式,选择对应的恢复数据方案:
恢复磁盘数据后建议删除备份数据,避免持续计费。
转换数据盘MBR分区为GPT分区(Linux系统ECS)
本文以Huawei Cloud EulerOS 2.0操作系统ECS、数据盘/dev/vdb为例进行介绍,若您实际环境采用其他版本的操作系统,请参考对应操作系统官网帮助中心。
通常情况下,Linux系统ECS在转换分区格式过程中,磁盘原有分区数据不会丢失,为了避免因误操作导致数据丢失或异常,建议您提前备份磁盘上的所有数据。
- 备份磁盘数据。
- 远程登录ECS。
详细操作,请参见Linux ECS登录方式概述。
- 执行以下命令,查看磁盘分区情况。
图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命令查看分区类型。
- 执行以下命令,安装gdisk工具。
- 执行以下命令,将MBR分区转换为GPT分区。
sgdisk只能对设备(例如/dev/vdb)进行操作,不能对分区(例如/dev/vdb1)进行操作,否则可能会损坏文件系统。
以磁盘设备名称/dev/vdb为例,执行如下命令:
sgdisk -g /dev/vdb
如果执行sgdisk命令时出现报错提示信息,请参见常见问题进行解决。
常见问题
- 问题1:
执行转换分区sgdisk -g命令时,提示如下信息。
图8 报错信息1
这是由于磁盘尾部剩余空间不足33个扇区,没有足够的空间用于MBR转换为GPT。
解决方案:
- 扩容云硬盘的容量,详细操作,请参见扩容云硬盘。
- 扩容云硬盘后,再次执行转换分区格式。
- 问题2:
执行转换分区sgdisk -g命令时,提示如下信息。图9 报错信息2
这是由于磁盘头部剩余空间不足以容纳GPT分区表所需的头部信息。这通常是因为数据或分区位于磁盘非常靠前的位置,没有足够的空间来放置GPT的分区表结构。
解决方案: