很多时候我们为了防止sd卡损坏,需要备份一个镜像,下面是使用dd命令将sd卡中的镜像一模一样的复制一份的教程
首先使用df -h
命令查看挂在的u盘
最下面的三个sdb1 sdb2 sdb3 就是需要打包的镜像的分区
sudo dd if=/dev/sdb | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -9 > image.xz
可以安装pv
sudo apt install pv
这个工具是检测管道流数据的,不用pv的话,你就不知道已经传了多少数据,心情会更加煎熬
这样右下角显示百分比和剩余时间了
提高 dd
命令和整个管道操作的速度可以通过以下几种方式实现:
dd
的块大小:dd
默认的块大小可能不是最优的。增加块大小可以减少读写操作的次数,从而提高速度。你可以尝试使用较大的块大小,例如 bs=1M
或 bs=4M
。例如: sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -9 > latestqingyun.xz
xz
压缩级别:xz -9
使用的是最高压缩级别,这意味着它会占用更多的CPU资源和时间来压缩数据。降低压缩级别(例如使用 -6
或 -7
)可能会减少压缩时间,尽管这可能会导致最终的压缩文件稍大一些。 sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | xz -7 > latestqingyun.xz
latestqingyun.xz
,这样可以提高写入速度。pixz
(并行xz压缩工具),这样可以在压缩时使用多个CPU核心。 sudo dd if=/dev/sdb bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdb) | pixz > latestqingyun.xz
dd
和 xz
的速度。请注意,提高速度的同时可能会牺牲一些压缩率。你需要根据你的具体需求和资源情况来决定使用哪种方式。