制作操作系统映像

制作操作系统映像

我正在使用装有 Debian 操作系统的 Nano Pi 设备。操作系统映像存在于其内部存储器(8 GB)中。使用的内存总大小约为 4GB。我想将此操作系统备份到映像文件中。

做完之后

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress

整个映像文件大小高达 8GB。如何才能使映像只包含内存使用量而不是全部内存?

答案1

您无法轻松地使用,dd因为块设备只是字节的转储。它可能包含未分配空间中长期删除的文件的数据。dd不知道这一点,因为这是文件系统的工作。您有几种选择:

继续使用 dd

... 并接受更大的空间使用量。相反,请执行类似 的操作dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress。较小的块大小可在发生读取错误时为您提供更多安全性。如果dd无法读取至少一个扇区 - 则不会处理该块的其余部分。块大小是您可能因一个坏扇区而丢失的最大字节数。conv=noerror确保在发生错误时继续克隆。在conv=sync发生读取错误时将目标文件中的指针向前移动,以便数据保持对齐并因此有效。

您可以dd通过管道输出gzip来压缩数据并节省一些空间: dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz 要返回原始图像,请执行以下操作gunzip -c ./NanoPi.img.gz > NanoPi.img

使用 rsync

... 并处理原始文件。。rsync -aAXv /path/to/mounted/mmcblk1 /path/to/destination/folder这可能对您有用,也可能没用,这取决于您的文件系统是否已安装。

相关内容