微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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可能有危险,用户应考虑此操作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐