Linux 系统硬盘MBR转换为GPT格式并扩容

问题描述
之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。
需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失,于是又找了一台虚机用来测试。

解决方案
fdisk工具支持MBR分区格式的硬盘操作,查看当前硬盘的信息:

Linux 系统硬盘MBR转换为GPT格式并扩容

可以看到硬盘大小是4T,但是分区里最大只能用2T。

操作对数据做好备份或快照,防止操作失败数据丢失。

将MBR转化为GPT分区格式

使用gdisk工具,将分区表改为gpt格式:

Linux 系统硬盘MBR转换为GPT格式并扩容

使用gdisk 硬盘盘符 命令进入程序后,直接 输入w保存并退出,然后输入y确认。gdisk就会将硬盘改为gpt格式分区。
注意:gdisk命令后面跟的是硬盘设备路径/dev/vdb,不是分区路径/dev/vdb1,如果指定错了会变更失败丢失数据

这个方法在大部分场景下都是可以转mbr为gpt的,只有磁盘开头前33个扇区,或最后34个扇区被分区占用的场景不支持。(如,原来的硬盘已经使用MBR分区占用了全部的空间,即后34个扇区被占用了,那么操作会失败)但是对于扩容的场景,后34个扇区尚未被占用,一般不会出问题。

现在查看硬盘分区信息,就会显示其格式为gpt格式:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容数据盘及文件系统

扩容数据盘:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容文件系统:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容后,数据盘大小变为4T。
对于xfs文件系统格式,需要使用xfs_growfs命令进行扩容文件系统操作。

现在通过gdisk命令来查看数据盘的信息:

Linux 系统硬盘MBR转换为GPT格式并扩容

从图中可以看到,数据盘的分区表信息是由两部分组成的,一部分是MBR: protective,另一部分是GPT: present,这种分区格式成为Hybrid MBR,可以将MBR分区表和GPT分区表混合使用。

将文件系统重新挂在后,查看目录下的文件,没有出现数据丢失的情况。
还可以umount卸载挂载的设备,然后使用e2fsck命令检查文件系统有没有错误。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10206

(0)
凯影的头像凯影
上一篇 2023年11月23日 下午3:09
下一篇 2023年11月24日 下午4:02

相关推荐

  • 实用Word技巧分享:快速且批量删除空格、空行 word如何批量删除空格行

    今天我们来聊聊Word查找替换技巧,介绍一下批量删除空格、空行的方法,快来看看吧! 在日常工作中我们经常会碰到以下2个困扰: 如,很多网上下载或拷贝到Word的纯文本形式的资料,最烦的莫过于文档中有一大堆空格或空行(回车符),格式非常混乱,完全不符合排版要求,如图所示。如果要一行一行的删除它们,费时费力。 为了快速让文本规范整洁,效果如图所示。 接下来,教大…

    2024年5月7日
    1.5K00
  • 手把手教你戴尔DELL 服务器 R410 带外管理iDRAC6 升级固件版本

    升级完R410的BIOS之后,第二个需求是更新远程管理的iDRAC版本。iDRAC需要服务器安装了远程管理卡才可以使用,然而一般现在网上买到的二手R410都是非常旧的iDRAC版本。(简单判断方法:管理页面是浅蓝色配色白底背景的是旧版本,新版本为深色背景) 和更新BIOS的问题相似,网上极少有关于服务器iDRAC更新的资料。且官方的文档说明也不全。经查阅整理…

    2024年1月22日
    2.0K00
  • 开源网站监控利器:Utime Kuma部署指南

    🔍 Uptime Kuma 简介 GitHub 项目地址:https://github.com/louislam/uptime-kuma 一款开源自托管监控工具,支持多种协议检测(HTTP/TCP/Ping/DNS 等)和实时告警(飞书/钉钉/邮件等) 核心优势: 🚀 部署教程 Docker 部署 验证:访问 http://服务器IP:3001​ 完成初始化…

    2025年6月14日
    1.2K00
  • CentOS安装noVNC,以Web方式交付VNC远程连接

    什么是noVNC noVNC 是一个 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。 noVNC 采用 WebSockets…

    2024年5月8日
    1.4K00
  • Ping命令详解

    命令简介 ping 命令是 Linux 系统中一个非常常用的网络命令。ping 命令主要用于测试网络的连通性,也可用于测试网络的性能和主机的响应能力。 日常工作中,我们经常会遇到网页无法打开、网址无法请求的情况。这个时候我们的一般操作是 ping 一下网址,比如 ping baidu.com 使用 …

    2023年1月4日
    1.0K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信