问题:如何在不包含可用空间的情况下创建光盘(SD卡)的.IMG映像?

在 Linux 中,我们可以做

dd if=/dev/sdb of=bckup.img

但是如果磁盘是 32GB,只使用了 4GB,那么 32GB 的图像文件就是浪费空间。是否有任何方法或工具可以仅使用有效数据创建图像?

解答

最好的办法是

1.从所有保留元数据的分区中复制所有文件

mkdir -p myimage/partition1

mkdir myimage/partition2

sudo cp -rf --preserve=all /media/mount_point_partition1/* myimage/partition1/

sudo cp -rf --preserve=all /media/mount_point_partition2/* myimage/partition2/

2.提取MBR

sudo dd if=/dev/sdX of=myimage/mbr.img bs=446 count=1

用对应的设备替换/dev/sdX

  1. 使用gparted将目标磁盘分区为大小大于复制数据的分区,并且应具有相同的格式和相同的标志。谷歌如何对磁盘进行分区。

  2. 挂载新格式化和分区的磁盘。在大多数计算机上,您只需连接磁盘,即可在/media文件夹中找到已挂载的分区。

  3. 使用以下命令将之前复制的数据复制到目标分区

sudo cp -rf --preserve=all myimage/partition1/* /media/mount_point_partition1/

sudo cp -rf --preserve=all myimage/partition2/* /media/mount_point_partition2/

  1. 复制回 MBR

sudo dd if=myimage/mbr.img of=/dev/sdX bs=446 count=1

现在享受你的新磁盘!

Logo

更多推荐