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

问题描述

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

解决方案

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

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

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

将MBR转化为GPT分区格式

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

root@ubuntu:~# gdisk /dev/vdb
GPT fdisk (gdisk) version 1.0.3Partition table scan:MBR: MBR onlyBSD: not presentAPM: not presentGPT: not present***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************Command (? for help): wFinal checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/vdb.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

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

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

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

扩容数据盘及文件系统

扩容数据盘:

growpart /dev/vdb 1
CHANGED: partition=1 start=2048 old: size=4294965247 end=4294967295 new: size=8589932511,end=8589934559
root@ubuntu:~/test#
root@ubuntu:~/test# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0      2:0    1    4K  0 disk
sr0     11:0    1 1024M  0 rom
vda    252:0    0    9G  0 disk
|-vda1 252:1    0  571M  0 part /boot
`-vda2 252:2    0  3.5G  0 part /
vdb    252:16   0    4T  0 disk
`-vdb1 252:17   0    4T  0 part /root/test
root@ubuntu:~/test#
root@ubuntu:~/test#
root@ubuntu:~/test# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            972M     0  972M   0% /dev
tmpfs           200M  2.9M  197M   2% /run
/dev/vda2       3.4G  2.1G  1.1G  66% /
tmpfs           997M     0  997M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           997M     0  997M   0% /sys/fs/cgroup
/dev/vda1       547M   65M  442M  13% /boot
tmpfs           200M     0  200M   0% /run/user/0
/dev/vdb1       2.0T  8.9G  1.9T   1% /root/test

扩容文件系统:

root@ubuntu:~/test# resize2fs /dev/vdb1
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/vdb1 is mounted on /root/test; on-line resizing required
old_desc_blocks = 256, new_desc_blocks = 512The filesystem on /dev/vdb1 is now 1073741563 (4k) blocks long.root@ubuntu:~/test#
root@ubuntu:~/test#
root@ubuntu:~/test#
root@ubuntu:~/test#
root@ubuntu:~/test# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            972M     0  972M   0% /dev
tmpfs           200M  2.9M  197M   2% /run
/dev/vda2       3.4G  2.1G  1.1G  66% /
tmpfs           997M     0  997M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           997M     0  997M   0% /sys/fs/cgroup
/dev/vda1       547M   65M  442M  13% /boot
tmpfs           200M     0  200M   0% /run/user/0
/dev/vdb1       4.0T  8.9G  3.8T   1% /root/test

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

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

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

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

参考文件:

硬盘分区格式转化
gdisk GPT格式转化介绍
Hybrid MBR分区格式介绍
linux硬盘扩容指导

Linux 系统硬盘MBR转换为GPT格式并扩容相关推荐

  1. 计算机改硬盘格式,硬盘格式转换,详细教您如何将硬盘mbr格式转换为gpt格式

    大部分的新电脑预装的是win8系统,同时采用了GPT分区,很多用户想要重装成win7系统总是失败,原因在于分区格式不正确,只有将gpt格式分区转换成mbr格式再重装系统才能重装成功,下面,小编给大家讲 ...

  2. 计算机格式为gpt怎么更改,硬盘格式转换,手把手教你如何将硬盘mbr格式转换为gpt格式...

    硬盘有两种形式,mbr和gpt,相比MBR格式的硬盘分区,GPT分区具有明显的优势,不仅支持硬盘的容量更高,运行速度也比MBR格式的更快,那么,mbr格式要怎么转换成gpt格式呢?下面,小编给大家分享 ...

  3. 计算机格式为gpt怎么更改,电脑小白看过来 教你如何将mbr转换为gpt - 驱动管家...

    硬盘MBR格式怎么转换成GPT格式?这是很多小白电脑用户所不了解的.首先介绍一下硬盘gpt格式,GPT是一种全局唯一标识分区表(GUID Partition Table,缩写:GPT),是指全局唯一标 ...

  4. linux保存mp4格式的文件,在Linux系统中将mp4转换为mp3的方法

    我这里提供一个简单的bash脚本,轻松的在Linux系统中将mp4转换为mp3,该脚本可将mp4.mkv和webm视频格式转换为mp3音频格式.前提条件是有FFmpeg及Lame,对于Arch Lin ...

  5. diskgenius 数据迁移_不丢失数据,Win10中将MBR转换为GPT分区,操作就是这么简单...

    电脑硬盘可以使用两种类型的分区结构:MBR和GPT,有时可能需要将MBR磁盘转换为GPT磁盘,今天我们就来学习如何在Windows 10上执行此项操作. 本文目录 一.MBR的GPT区别 什么是MBR ...

  6. [学习收藏]Linux系统硬盘优化

    [声明]转自:http://doc.linuxpk.com/129.html 优化linux系统硬盘 本文对linux系统下,硬盘的维护.整理.优化工作进行了一个分析与描述.(2002-12-17 0 ...

  7. Linux系统硬盘挂载

    Linux系统硬盘挂载 1.显示当前分区情况 指令:fdisk -l 2.创建硬盘分区 输入fdisk /dev/vdb,依次输入n,p,1,回车,w,其中n分别表示创建一个新分区,p表示分区类型为主 ...

  8. linux系统硬盘表识

    一:linux系统硬盘命名是基于文件的,一般是:/dev/hda2 和 /dev/sdb3 # /dev:是所有设备文件的存放目录. #hd和sd :它们是分区的前两字母,代表分区所在的设备类型.hd ...

  9. linux ssd iops测试,Linux系统硬盘的IOPS测试

    Linux系统硬盘的IOPS测试 什么是IOPS? IOPS (英文:Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,多用于数据库等场合,衡 ...

  10. linux系统如何解gz文件,Linux 系统 压缩和解压 gz 格式文件

    Linux 系统 压缩和解压 gz 格式文件 引言 前面我们说了在 Linux 系统上比较常用的打包压缩解压  tar   及 zip 文件 的命令,那 Linux 上还有什么使用比较广泛的压缩解压文 ...

最新文章

  1. java for xp_20155328 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
  2. VS2017缺少头文件的解决办法
  3. SQL Server基础
  4. 今晚我们通宵学习SpringCloud!涨姿势!
  5. CSS3初体验之奇技淫巧
  6. C#连接EXCEL数据库
  7. ASP.Net开发新手常见问题备忘录
  8. java中的23中设计模式
  9. MPAI正式启动端到端的AI编码标准
  10. vim编辑器初级(七)
  11. LeetCode 2206. 将数组划分成相等数对
  12. 论文浅尝 - AAAI2020 | 通过句子级语义匹配和答案位置推断改善问题生成
  13. C++笔记-函数参数使用void *的野路子
  14. centos7/rhel7重置root密码 (rd.break和init方法)
  15. 在实际项目中,如何选择合适的机器学习模型?
  16. Android选项卡TabHost功能和用法
  17. 利用51单片机输出PWM波
  18. struct tm 和 time_t 时间和日期的使用方法
  19. python怎么模拟点击网页按钮?
  20. PCB板子焊接注意事项及小技巧

热门文章

  1. PHP8与PHP7计算性能对比
  2. FME转换CAD填充块文件为SHP,并正确显示颜色符号。
  3. mp4数据恢复:mp4视频格式化怎么恢复
  4. 【每日一读】SWOPE:Efficient Approximate Algorithms for Empirical Entropy and Mutual Information
  5. appium ios端自动化测试配置
  6. 科学与财富杂志科学与财富杂志社科学与财富编辑部2022年第27期目录
  7. unity 图片改成astc 所有机型机型检测
  8. 锁定计算机和睡眠有什么区别,电脑的睡眠和休眠选项有什么区别?怎么唤醒休眠的电脑?...
  9. \u5168\u56fd\u7f8e\u5bb9\u5927\u592b数据采集数据(\u82b1\u5bb9\u7f51 huaroo 公开数据),爬虫120例之26例
  10. 基于echarts+html+css+jq的数据可视化大屏展示炫酷看板[附源码]