刚开始用的时候,不知道大于 2T 的要用 GPT 分区表,直接用 fdisk 一路默认创建了一个分区。
用到今天忽然提示空间不足了,一看才发现只有 2T。
主要是想保留原来的 2T 数据,无损的扩容到 4T。
思路:fdisk 可以无损扩容 只要分区起始 磁柱号和之前的一样,结束磁柱号又比之前分区的结束磁柱号大,就可以做到无损,就想用 parted 试试。
当前系统: centos
目前找到的工具:parted
硬盘为纯数据盘 ext4 格式 只有一个分区
使用 parted 创建 GPT 分区表的时候提示会丢失数据。
然后在第一步“使用 parted 创建 GPT 分区表”就卡住了,提示“创建 GPT 分区表的时候提示会丢失数据”。
有不丢失数据的方法么?
mbr 转 gpt 必然会丢数据
晕,格式化完就没确认一下存储空间,你这心够大啊!还能怎么着,再多买块硬盘或者借块空盘呗,把数据备份再格式化咯
分区表格式不一样无解...
如果都是 GPT 搞错了还有的救
fdisk 进到磁盘的时候也会有红字提醒吧……
忧伤啊
当时分区的时候,一路默认回车。。。
失误啊。
没红字提示。
实在不可以就去借硬盘了
2T 数据不知要复制多久。
diskgenius 支持 MBR 无损转 GPT?
可以实现无损转换的,在 Linux 下很简单:
首先,MBR 只占用硬盘的前 512 个字节,而 GPT 需要占用前面 1MiB 个字节(1024 换算),且在硬盘的最后再备份一次分区表;
所以,按照以下步骤即可:
1. 将第一个分区及其文件系统缩小,以满足 GPT 的 1MiB 空间;
2. 记住每一个分区的起始位置和结束位置
3. 直接将硬盘的 MBR 及其分区表删除,然后使用 GPT 分区;
4. 按照第 2 步记录的数据,依次建立所有的分区;
这时,各个分区中的文件系统并没有被破坏,所以可以直接被系统识别挂载
建议使用 parted 命令进行操作,操作过程中,将 unit 设置为 MiB,即 1024 进制转换。
即便可行第一个分区也是救不回来啊
即便可行第一个分区也是救不回来啊,而他只有一个分区…
看第一个分区的起始地址
一般情况下, 前面是会留 1M 的空闲空间的.
parted /dev/sdb unit s print
WARNING: You are not superuser. Watch out for permissions.
Disk /dev/sdb: 7814037168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 2147493887s 2147491840s vmdpoolm0 lvm
2 2147493888s 7814035119s 5666541232s storagem0 lvm
找台电脑,用网线传,如果两边都是千兆网,都是 ssd,可达百兆每秒
直接买个 2t 的硬盘,最稳妥的办法
windows 上面的 diskgenius 支持,不过得是专业版,拿 pe 启动然后找 mdr 转 gpt 就行,无损
这么麻烦?
下个 pe,用 diskgenius 转就行了。。。
如果磁盘头部和分区间空间不够。。。那还是得先把磁盘头部和分区间缩 1m 以上出来,不过 linux 文件系统好像没法从头部缩?
+1 买个移动硬盘,不折腾 100% 保证安全
只说一句,折腾前记得备份
不管用什么方法,第一步就是全盘备份,移动硬盘躲不过去
也许要看运气了,因为 GPT 分区表要放在硬盘头部和尾部,尾部的话有空闲空间没问题,但头部的话得看一开始创建分区时预留的空间够不够,如果不够的话那需要将分区往后移动。
而就我个人知道的情况,把分区往后移动的工具都是闭源的,而且可能不支持 ext4 文件系统。
因为你用的是 8T 盘,理论上不难
用 dd 把分区内容复制到 2T 后面去(稳妥起见可以更多)
使用 GPT 分区,只有一个 2T 的分区
把后面的数据复制回来,因为之前用的是 dd,确保使用相同的 offset 即可
尝试挂载验证可用之后,延长分区的尾部到整个磁盘
resize2fs 简单扩大文件系统
非常建议用个空白 U 盘实验一遍,熟悉一下 dd 的用法
毕竟擦除硬盘最有效率的工具也是 dd
感觉具有可行性
(parted) print /dev/sdc
Model: ATA ST4000VN008-2DR1 (scsi)
Disk /dev/sdc: 7814037168s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 4294967294s 4294965247s primary ext4
起始是从 2048 开始,所以我这个还有救。
2T 备份要很长时间吗
没多余的硬盘了。
可以无损扩容
1. 记录下起始地址
2. fsck -f /dev/sdc1
3. parted /dev/sdc
mklabel gpt
unit s
mkpart ...
start 2048
end -1
4. resize2fs /dev/sdc1
umount first
借硬盘吧,省事,也保险。
前几天用 kde 的分区管理器把分区往前移动了点,3T 的硬盘将近跑了 8 个小时…
傲梅分区助手和 diskgenius 都可以无损转换 gpt,几秒就搞定了。win 下这方面软件比其他系统强得多
转成 gpt 后你再爱用什么 linux 的软件来合并分区就都可以了。
而且 diskgenius 新版和分区助手新版都支持 ext4 了我记得
再买块 4T 硬盘作备份呗,动作快的话,操作完成,数据恢复回去,接着把新硬盘安全擦除,最后把新硬盘退货。
不备份,总是有风险,觉得再加一块硬盘的成本远远高于现有数据的价值,那么就当我没说。
可以直接使用 gdisk 这个分区工具,本体是个操作方式类似 fdisk 的 GPT 分区工具,另外还内置 expert 和 recovery & transformation 两个模式,后者支持 GPT,MBR 分区表之间的转换。
如果确保分区头尾都有足够空间容纳分区表,直接 sudo gdisk /dev/sdc,然后 w 命令保存就行。另外还可以 r 命令进入 recovery & transformation 模式,可以满足一些奇葩的分区表转换需求。