备份单板机系统Armbian并缩小镜像大小
在单板机安装配置系统后,可以备份整个系统以备不时之需。如果单板机USB挂载了其他存储,可以在线备份,否则就需要取出TF卡操作。
查看设备名称:
lsblk
使用dd命令备份,如果是在线备份,确保of指向挂载的外部设备:
sudo dd if=/dev/mmcblk0 of=/path/Pi.img bs=4M status=progress conv=sync,noerror
得到的镜像与TF卡容量同大小,可以使用PiShrink一键裁剪:
下载pishrink.sh,添加可执行权限:
chmod +x ./pishrink.sh
脚本可使用参数:
- -s 禁止镜像在下一次启动时自动扩容文件系统;
- -v 启用更详细的输出信息;
- -n 禁止脚本检查 GitHub 上 PiShrink 的新版本;
- -r 若常规修复失败,将尝试使用额外参数修复文件系统;
- -z 镜像裁剪完成后,使用 gzip 进行压缩,文件名会自动添加 .gz 后缀;
- -Z 镜像裁剪完成后,使用 xz 进行压缩,文件名会自动添加 .xz 后缀;
- -a 对 pigz 采用 -f9 参数、对 xz 采用 -T0 参数,以并行方式进行压缩;
- -d 生成日志文件 pishrink.log,可用于辅助问题排查。
推荐使用-Z参数,这会使用xz进行压缩,得到更小的文件。
PiShrink支持使用环境变量PISHRINK_GZIP或PSHRINK_XZ来修改默认压缩参数,xz的压缩级别默认为6,可设置为极致压缩(-e)+ 最高级别(-9)+ 全部CPU线程(-T0):
export PSHRINK_XZ="-9 -e -T0"
sudo ./pishrink.sh -nZ ./Pi.img
恢复镜像时,直接使用dd命令写回:
xzcat Pi.img.xz | sudo dd of=/dev/sdX bs=4M status=progress oflag=dsync

