# 如何转换磁盘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"为例进行介绍，若您实际环境采用其他版本的操作系统，请参考对应操作系统官网帮助中心。
![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/notice_3.0-zh-cn.png)
- Windows系统ECS转换分区格式过程中，磁盘数据不可用，如果您正在运行的业务依赖于该磁盘的数据，可能会出现问题。 建议您转换前先停止业务，待分区格式转换完成并恢复磁盘数据后再继续进行。
  
- 转换分区格式过程中，磁盘上所有数据会被清除，请您提前备份磁盘上的所有数据。
 
1. 备份磁盘数据。
   - 方式一：[创建云硬盘快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)或者[创建云硬盘备份](https://support.huaweicloud.com/qs-cbr/cbr_02_0029.html)。
     ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
     通过该方式备份数据可能会产生计费，详细内容，请参见[云硬盘快照计费说明](https://support.huaweicloud.com/productdesc-evs/evs_01_1603.html)或[云备份计费说明](https://support.huaweicloud.com/price-cbr/cbr_07_0048.html)。
     
   
   - 方式二：将原云硬盘数据手动拷贝至ECS的其他盘上。
    
2. 远程登录ECS。 详细操作，请参见[Windows ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0092494943.html)。
   
3. 在云服务器桌面，右键单击左下方的开始图标，然后单击"磁盘管理"。
4. 在"磁盘管理"页面，找到待转换分区的数据盘（以磁盘 1为例）。
   图1磁盘管理   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002097828692.png "点击放大") 
5. 右键单击一个简单卷，在弹出菜单中选择"删除卷"。
   图2删除卷   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002133596321.png "点击放大")
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   如果删除卷失败，可能是您的ECS内仍有程序访问该磁盘的数据或信息。建议您重启ECS后，再次执行删除卷。
   重启ECS会影响业务运行，请选择合适的时间进行。
   
6. 单击"是"，完成删除卷。
7. 右键单击磁盘 1周边的空白区，在弹出菜单中选择"转换成GPT磁盘"。
   图3转换成GPT磁盘   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002097841004.png "点击放大") 
8. 右键单击磁盘的未分配区域，选择"新建简单卷"。
   图4新建简单卷   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002097846652.png "点击放大") 
9. 在"新建简单卷向导"对话框中，单击"下一步"，然后根据向导完成操作。 详细操作，请参见[初始化windows数据盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0045.html)中的"新建简单卷"步骤。
   
10. 查看新建的简单卷信息，单击"完成"，关闭"新建简单卷向导"。 分区格式转换完成后，"磁盘管理"中"磁盘 1"的状态如下图所示。
    图5新磁盘状态   
    ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002098018278.png "点击放大") 
11. （可选）恢复磁盘数据。 如果您已备份原数据盘的数据，分区转换完成后，可以恢复数据至原数据盘，并确认数据无误后再使用。
    您可以根据数据备份方式，选择对应的数据恢复方案：
    - 快照或云硬盘备份方式：
      1. 通过快照或云硬盘备份创建一块新的云硬盘。 具体操作，请参见[使用快照创建云硬盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0013.html)和[使用云硬盘备份创建新云硬盘](https://support.huaweicloud.com/usermanual-cbr/cbr_03_0017.html)。
         
      
      2. 将新的云硬盘挂载至ECS。 具体操作，请参见[为ECS挂载磁盘](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0096293655.html)。
         
      
      3. 将数据拷贝至已完成分区转换的原数据盘。
      
      
      ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
      不可利用快照或云硬盘备份直接恢复数据至已转换为GPT分区的磁盘中，避免回滚至MBR分区。
      恢复数据后建议删除备份数据，避免持续计费。
      
    
    - 拷贝数据方式： 手动拷贝数据至原数据盘。
      
     
 
#### 转换数据盘MBR分区为GPT分区（Linux系统ECS）
本文以Huawei Cloud EulerOS 2.0操作系统ECS、数据盘/dev/vdb为例进行介绍，若您实际环境采用其他版本的操作系统，请参考对应操作系统官网帮助中心。
![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/notice_3.0-zh-cn.png)
通常情况下，Linux系统ECS在转换分区格式过程中，磁盘原有分区数据不会丢失。对于数据盘未进行过分区的Linux ECS，不需要进行分区转换操作，强制操作可能导致ECS启动失败或数据丢失。
为了避免因误操作导致数据丢失或异常，请您务必提前备份磁盘上的所有数据。
1. 备份磁盘数据。
   您可以选择以下方式备份磁盘数据：
   - 方式一：[创建云硬盘快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)。
   
   - 方式二：[创建云硬盘备份](https://support.huaweicloud.com/qs-cbr/cbr_02_0029.html)。
     
2. 远程登录ECS。 详细操作，请参见[Linux ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
3. 执行以下命令，查看磁盘分区情况。 **fdisk -lu**
   - 磁盘已分区，执行步骤[4]。
     图6磁盘分区   
     ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002408128646.png "点击放大")
     如图所示，该实例有2块磁盘，系统盘/dev/vda和数据盘/dev/vdb，以数据盘/dev/vdb为例进行介绍。
     - 磁盘的设备名称：/dev/vdb
     
     - 磁盘的分区类型：Disklabel type值为dos表示MBR分区。
     
     - 磁盘分区：/dev/vdb1
       ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
       不同操作系统的显示略有不同。如果没有Disklabel type字段，可通过System字段判断。System值为Linux表示MBR分区，值为GPT表示GPT分区。较低版本的fdisk可能不能正常显示GPT分区表。您可以通过gdisk -l /dev/vdb命令查看分区类型。
       
      
   
   - 磁盘未分区，不支持转换进行分区转换，结束操作。
     如下图所示，数据盘未分区，不支持转换分区。
     图7磁盘未分区示例   
     ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002441885877.png "点击放大") 
    
4. 执行以下命令，检查磁盘数据的保存位置。
   **df -h**
   - 数据保存在分区中，执行步骤[5]。
     图8检查磁盘使用情况   
     ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002408233576.png "点击放大") 
   
   - 数据未保存在分区中，不建议进行分区转换，结束操作。
     如下图所示，数据未保存在分区，而直接保存在数据盘，不建议进行分区转换操作，否则可能导致ECS启动失败或数据丢失。
     图9数据未保存在分区中示例   
     ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002441841781.png "点击放大") 
   
   
   如果执行**df -h** 命令时发现磁盘数据存储位置出现问题，请参见[常见问题]进行解决。
   
5. 执行以下命令，安装gdisk工具。
   - Huawei Cloud EulerOS 2.0版本、CentOS 6及以上版本运行以下命令。 **type sgdisk \|\| yum install -y gdisk**
     
   
   
   
   - Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。 **type sgdisk \|\| apt-get install -y gdisk**
     
    
6. 执行以下命令，将MBR分区转换为GPT分区。
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   sgdisk只能对设备（例如/dev/vdb）进行操作，不能对分区（例如/dev/vdb1）进行操作，否则可能会损坏文件系统。
   以磁盘设备名称/dev/vdb为例，执行如下命令：
   **sgdisk -g /dev/vdb**
   图10转换成功   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002442176557.png "点击放大")
   如果执行sgdisk命令时出现报错提示信息，请参见[常见问题]进行解决。
   

7. 执行以下命令，查看分区转换结果。 以磁盘设备名称/dev/vdb为例，执行如下命令：
   **fdisk -lu /dev/vdb**
   如下图所示，当Disklabel type值为gpt时，表示已转换为GPT分区，分区转换成功。
   图11转换分区成功   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002133917909.png "点击放大")
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
   不同操作系统的显示略有不同。如果没有Disklabel type字段，可通过System字段判断。System值为GPT表示为GPT分区。
   
 
 #### 常见问题
- **问题1** ：
  执行转换分区**sgdisk -g**命令时，提示如下信息。
  图12报错信息1   
  ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002098330644.png "点击放大")
  这是由于磁盘尾部剩余空间不足33个扇区，没有足够的空间用于MBR转换为GPT。
  **解决方案**：
  1. 扩容云硬盘的容量，详细操作，请参见[扩容云硬盘](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0305.html)。
  
  2. 扩容云硬盘后，再次执行转换分区格式。
   
- **问题2** ：
  执行转换分区**sgdisk -g** 命令时，提示如下信息。
  图13报错信息2   
  ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002134023805.png "点击放大")
  这是由于磁盘头部剩余空间不足以容纳GPT分区表所需的头部信息。这通常是因为数据或分区位于磁盘非常靠前的位置，没有足够的空间来放置GPT的分区表结构。
  **解决方案**：
  1. 备份磁盘数据。
     - 方式一：[创建云硬盘快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)或者[创建云硬盘备份](https://support.huaweicloud.com/qs-cbr/cbr_02_0029.html)。
       ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
       通过该方式备份数据可能会产生计费，详细内容，请参见[云硬盘快照计费说明](https://support.huaweicloud.com/productdesc-evs/evs_01_1603.html)或[云备份计费说明](https://support.huaweicloud.com/price-cbr/cbr_07_0048.html)。
       
     
     - 方式二：将原云硬盘数据手动拷贝至ECS的其他盘上。
      
  
  2. 新增一个磁盘并挂载至ECS，详细操作，请参见[为ECS新增磁盘](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0181.html)和[为ECS挂载磁盘](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0096293655.html)。
  
  3. 将旧磁盘的数据复制到新磁盘。
  
  4. 卸载并删除旧磁盘，详细操作，请参见[在线卸载磁盘](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0304.html)和[删除云硬盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0005.html)。
   
- **问题3：**
  执行转换分区**sgdisk -g**命令时，提示如下信息。
  图14报错信息3   
  ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002408459508.png "点击放大")
  这是由于数据盘未分区的情况下，进行了MBR到GPT的分区转换。该场景下，转换分区操作会导致ECS启动失败或数据丢失。
  **解决方案：**
  通过步骤[1]中备份的数据进行数据恢复。
  数据恢复的详细步骤，请参见[使用快照回滚数据至云硬盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0012.html)或[使用云硬盘备份恢复数据](https://support.huaweicloud.com/usermanual-cbr/cbr_03_0033.html)。
  
- **问题4：**
  若数据未保存在磁盘分区中或磁盘分区有问题，则无法进行分区转换。包含如下两种情况：
  - 数据直接保存在数据盘根目录，无法直接进行分区转换操作，否则可能导致ECS启动失败或数据丢失。
    图15数据未保存在分区中示例   
    ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002443190749.png "点击放大")
    **解决方案：**
    直接扩容数据盘。详细步骤，请参见[Linux系统扩容数据盘时，如何扩展未分区磁盘文件系统](https://support.huaweicloud.com/evs_faq/evs_faq_0073.html)。
    扩容完成后，不需要再进行分区转换操作，强制操作可能导致ECS启动失败或数据丢失。
    
  
  - 数据盘格式化文件系统后再进行分区，导致存在两个相同的UUID。 执行**lsblk -f**查看磁盘分区层级结果，出现类似如下图所示情况，数据盘sda以及磁盘分区sda1均挂载了文件系统，并存在两个相同的UUID。
    该情况下无法直接进行分区转换操作，否则可能导致ECS启动失败或数据丢失。
    图16磁盘分区层级结构示例   
    ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002409508112.png "点击放大")
    **解决方案：**
    1. 参考步骤[1]备份数据。
    
    2. 重新格式化数据盘文件系统
    
    3. 格式化文件系统后，使用备份数据进行恢复。 数据恢复的详细步骤，请参见[使用快照回滚数据至云硬盘](https://support.huaweicloud.com/usermanual-evs/evs_01_0012.html)或[使用云硬盘备份恢复数据](https://support.huaweicloud.com/usermanual-cbr/cbr_03_0033.html)。
       
    
    
    上述操作完成后，不需要再进行分区转换操作，强制操作可能导致ECS启动失败或数据丢失。
    
    
 
