linux – dd在整个磁盘上,但不想要空的部分

前端之家收集整理的这篇文章主要介绍了linux – dd在整个磁盘上,但不想要空的部分前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个磁盘,比如/ dev / sda.

这是fdisk -l:

Disk /dev/sda: 64.0 GB,64023257088 bytes
255 heads,63 sectors/track,7783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000e4b5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          27      209920   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              27         525     4000768    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5              27         353     2621440   83  Linux
/dev/sda6             353         405      416768   83  Linux
/dev/sda7             405         490      675840   83  Linux
/dev/sda8             490         525      282624   83  Linux

我需要制作一个图像存储在我们的文件服务器上,用于闪存我们正在制造的其他设备,所以我只想要使用的空间(只有大约4GB).我想保留mbr等…因为这个设备应该在复制完成后立即启动.

有任何想法吗?我以前一直在使用dd if = / dev / sda = [// fileserver / file],但那时,我的主副本是一个4GB的flash ide.

解决方法

回到那一天,我遇到了嵌入式Linux发行版的类似问题 – 在压缩图像之前摆脱所有垃圾.

dd if = / dev / zero of = asdf.txt.等到它死了.删除asdf.txt.

您刚刚在设备的所有可用空间上写了零.

现在获取磁盘映像并通过gzip运行它.瞧,稀疏的形象.

可能不能很好地扩展,如果你真的需要写入磁盘可能会导致问题,但是嘿.

您可以将磁盘的rsync快照写入另一个卷,将其归零,然后获取该磁盘映像.

注意:对于SSD可能有危险,用户应考虑此操作.

猜你在找的Linux相关文章