4T 硬盘误用 fdisk 分区只有 2T 大,现在想用 parted 扩大分区

2018-07-06 17:51:50 +08:00
 tees
刚开始用的时候,不知道大于 2T 的要用 GPT 分区表,直接用 fdisk 一路默认创建了一个分区。
用到今天忽然提示空间不足了,一看才发现只有 2T。

主要是想保留原来的 2T 数据,无损的扩容到 4T。
思路:fdisk 可以无损扩容 只要分区起始 磁柱号和之前的一样,结束磁柱号又比之前分区的结束磁柱号大,就可以做到无损,就想用 parted 试试。

当前系统: centos
目前找到的工具:parted
硬盘为纯数据盘 ext4 格式 只有一个分区

使用 parted 创建 GPT 分区表的时候提示会丢失数据。
然后在第一步“使用 parted 创建 GPT 分区表”就卡住了,提示“创建 GPT 分区表的时候提示会丢失数据”。

有不丢失数据的方法么?
10838 次点击
所在节点    Linux
34 条回复
Mountaincnc
2018-07-06 18:19:14 +08:00
mbr 转 gpt 必然会丢数据
nikymaco
2018-07-06 18:24:12 +08:00
晕,格式化完就没确认一下存储空间,你这心够大啊!还能怎么着,再多买块硬盘或者借块空盘呗,把数据备份再格式化咯
rrfeng
2018-07-06 18:25:03 +08:00
分区表格式不一样无解...

如果都是 GPT 搞错了还有的救
ETiV
2018-07-06 18:26:39 +08:00
fdisk 进到磁盘的时候也会有红字提醒吧……
tees
2018-07-06 18:40:33 +08:00
@Mountaincnc 忧伤啊
@nikymaco 当时分区的时候,一路默认回车。。。
@nikymaco 失误啊。
@ETiV 没红字提示。

实在不可以就去借硬盘了
2T 数据不知要复制多久。
qiyuey
2018-07-06 19:05:02 +08:00
diskgenius 支持 MBR 无损转 GPT?
asilin
2018-07-06 19:24:21 +08:00
可以实现无损转换的,在 Linux 下很简单:

首先,MBR 只占用硬盘的前 512 个字节,而 GPT 需要占用前面 1MiB 个字节(1024 换算),且在硬盘的最后再备份一次分区表;

所以,按照以下步骤即可:
1. 将第一个分区及其文件系统缩小,以满足 GPT 的 1MiB 空间;
2. 记住每一个分区的起始位置和结束位置
3. 直接将硬盘的 MBR 及其分区表删除,然后使用 GPT 分区;
4. 按照第 2 步记录的数据,依次建立所有的分区;

这时,各个分区中的文件系统并没有被破坏,所以可以直接被系统识别挂载

建议使用 parted 命令进行操作,操作过程中,将 unit 设置为 MiB,即 1024 进制转换。
seawing
2018-07-06 19:34:45 +08:00
@asilin 即便可行第一个分区也是救不回来啊
seawing
2018-07-06 19:35:18 +08:00
@asilin 即便可行第一个分区也是救不回来啊,而他只有一个分区…
sxzzsf
2018-07-06 19:40:55 +08:00
看第一个分区的起始地址
一般情况下, 前面是会留 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
ho121
2018-07-06 20:06:30 +08:00
@tees 找台电脑,用网线传,如果两边都是千兆网,都是 ssd,可达百兆每秒
lingll
2018-07-06 20:18:47 +08:00
直接买个 2t 的硬盘,最稳妥的办法
402645707
2018-07-06 20:22:11 +08:00
windows 上面的 diskgenius 支持,不过得是专业版,拿 pe 启动然后找 mdr 转 gpt 就行,无损
kokutou
2018-07-06 20:22:53 +08:00
这么麻烦?
下个 pe,用 diskgenius 转就行了。。。

如果磁盘头部和分区间空间不够。。。那还是得先把磁盘头部和分区间缩 1m 以上出来,不过 linux 文件系统好像没法从头部缩?
feng32
2018-07-06 20:25:30 +08:00
@lingll +1 买个移动硬盘,不折腾 100% 保证安全
sephinh
2018-07-06 20:26:30 +08:00
只说一句,折腾前记得备份
autoxbc
2018-07-06 21:03:36 +08:00
不管用什么方法,第一步就是全盘备份,移动硬盘躲不过去
ysc3839
2018-07-06 21:14:20 +08:00
也许要看运气了,因为 GPT 分区表要放在硬盘头部和尾部,尾部的话有空闲空间没问题,但头部的话得看一开始创建分区时预留的空间够不够,如果不够的话那需要将分区往后移动。
而就我个人知道的情况,把分区往后移动的工具都是闭源的,而且可能不支持 ext4 文件系统。
ryd994
2018-07-07 02:39:41 +08:00
因为你用的是 8T 盘,理论上不难
用 dd 把分区内容复制到 2T 后面去(稳妥起见可以更多)
使用 GPT 分区,只有一个 2T 的分区
把后面的数据复制回来,因为之前用的是 dd,确保使用相同的 offset 即可
尝试挂载验证可用之后,延长分区的尾部到整个磁盘
resize2fs 简单扩大文件系统
ryd994
2018-07-07 02:42:10 +08:00
非常建议用个空白 U 盘实验一遍,熟悉一下 dd 的用法
毕竟擦除硬盘最有效率的工具也是 dd

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/468728

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX