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

相关推荐

  • centos7 丢失grub无法启动

    1、使用CentOS7的原版镜像开机从光驱启动 当然你也可以做成启动U盘,从U盘启动 2、选择Troubleshooting->Rescue a CentOS system 3、根据提示先选择1 提示没有找到任何Linux分区,这时会进入shell 4、发现LVM逻辑卷 可以看到/dev/sda2为LVM2_member 5、挂载故障根分区到/mnt/sys…

    2023年7月20日
    1.1K00
  • Hyper-V虚拟机显卡虚拟化VGPU 配置指南

    Hyper-V 虚拟化显卡 VGPU 配置指南 准备条件 开启 VGPU 虚拟化 方法一:使用 PowerShell 脚本 方法二:手动配置 驱动文件配置(NVIDIA 示例) 验证配置 移除 VGPU 配置 嵌套虚拟化配置

    2025年5月21日
    1.3K00
  • Win10无法访问局域网其它电脑怎么办

    Win10无法访问局域网其它电脑怎么办?我们有时候在工作或学习中需要和其他人共享文件,但是有的小伙伴在共享的时候发现自己无法访问局域网其它电脑,那么遇到这种情况应该怎么办呢?下面就和小编一起来看看是如何解决的吧。   Win10无法访问局域网其它电脑的解决方法   1. window+R弹出“运行”框,输入regedit后确认。 2. 依次选择HKEY_LO…

    2024年6月7日
    1.1K00
  • wordpress上传图片提示“缺少临时文件夹”的解决方法

    在wordpress发布文章上传图片时出现了“缺少临时文件夹”的错误提示,该错误通常是由于服务器php配置的原因,如果之前上传图片正常,而且最近操作过服务器就很有可能是php配置导致的错误,解决方法也很简单,修改一下php配置文件即可。 Linux主机: 1、编辑配置文件php.ini,搜索查找upload_tmp_dir,修改为: upload_tmp_d…

    2023年5月5日
    1.6K00
  • Docker部署MinIO对象存储服务器结合Cpolar实现远程访问

    前言MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。 MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行…

    2023年12月20日
    1.0K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信