我已经使用 gparted 将 4.01GB CF 卡的分区大小减少到 3.5GB,以便我使用 DD 对其进行克隆,此磁盘末尾的剩余空间是可用空间,并且调整大小成功。
问题是,当我使用 dd 保存到图像文件时,创建的图像仍然为 4.01GB 并且没有缩小。
我检查了好几次,分区确实缩小了!
我究竟做错了什么 ??
答案1
您可能正在复制整个设备(即 /dev/sdX),而不是仅复制分区(即 /dev/sdX1)。如果您想保留分区表,这并不完全错误,但它也会复制分区后面的空白磁盘区域。
节省空间的方法是
- 只需复制分区(例如使用符号
dd if=/dev/sdX1
) - 将分区表数据存储为二进制 (
dd if=/dev/sda bs=512 count=1 of=sdX.partitiontable
) 或更方便的人性化格式,例如磁盘管理(sfdisk -d /dev/sdX > sdX.sfdisk
)可以轻松重新导入(sfdisk /dev/sdX < sdX.sfdisk
)
你也可以考虑使用类似的工具ntfsclone
它只会复制实际标记为“已使用”的文件系统数据并省略所有未使用的块。