使用方法
准备一个剩余空间大于树莓派 TF 卡容量的备份盘。
比如我有一个 128g 的U盘,剩余空间大小为 100g。要备份的树莓派 TF 卡容量为 64g。
100 > 64,可以使用该U盘进行备份,否则不行。
#查看 usb 挂载在哪里
lsblk
#安装开源的树莓派映像裁剪工具 —— PiShrink
git clone https://github.com/Drewsif/PiShrink/
chmod +x PiShrink/pishrink.sh
sudo mv PiShrink/pishrink.sh /usr/local/bin
#安装 dc3dd 磁盘备份工具
sudo apt install dc3dd
#全卡备份树莓派映像至 USB 存储设备
sudo dc3dd if=/dev/mmcblk0 of=[USB挂载路径]/backup.img
#使用 PiShrink 工具裁剪映像,并使用 gzip 压缩为后缀为 .gz 的压缩包
sudo pishrink.sh -z [USB挂载路径]/backup.img
博主的 TF 卡大小为 64g,使用3.0接口 128g U盘全卡备份的时间约为 30mins,随后 PiShrink 裁剪用时约 20mins。
最终得到压缩包 2.1g,解压后映像文件大小为 7.1g,压缩率相当客观。
博主选用的 TF 卡有很大的空间没有使用到,如果使用 16g 想必备份时间还能缩减不止一半,综合来算,该方法相当高效。
补充 - lsblk 命令说明
如果插有多个 USB 设备,可以通过容量或断开其他设备判断是哪个。