本文有三部分,树莓派系统备份、备份镜像缩减、镜像还原
使用到的工具: 读卡器、mac
使用到的系统:Ubuntu 16.04 server 系统 、macOS 10.15.4
目标:将当前树莓派系统备份、除了压缩之外还要精简镜像,以便还原。
比如:16g
的内存卡,镜像备份通过压缩可能只有 8g
左右,但是一旦解压缩成 .img
文件会变成接近 16g
,你要是想把它写进一个新的 16g
内存卡,很可能写不进去(内存卡标定的内存与实际内存是不一样的),会提示 sd卡
容量不足。所以要将接近 16g
的 .img
文件精简,一般能缩减到 4.5g
左右。
一、系统备份
此操作其实教程一大堆,我只写我操作的方式(mac 下):
- 用读卡器将电脑与
sd
卡插入 - 查看
sd
卡分区
执行 df -h
或 diskutil list
我这里的 sd
卡挂载点是 /dev/disk2
开始备份镜像,目标是将
/dev/disk2
内容通过dd
写到电脑上指定的路径上sdb1
是boot 分区
sdb2
是树莓派的系统文件分区
这里用最简单的傻瓜脚本方式压根不需要管是啥分区执行系统备份并且压缩
sudo dd bs=4m if=/dev/disk2 | gzip > ~/back.img.gz
当然也可以只备份不压缩
sudo dd bs=4m if=/dev/disk2 ~/back.img
观察文件变化,单独开一个窗口执行
watch -d -n 5 ls -lh back.img
二、缩减备份系统镜像
方式有很多,我用操作最 ez
的方式
注意:这个脚本我在 mac
下无法执行,在虚拟机中的 liunx
中也无法执行,提示缺少的软件包,该装的都装了,就是各种不行,我索性放到了 Ubuntu 16.04 server 系统
上执行了,一次成功
- 下载脚本,由于脚本是在国外的,我下载后放到了国内,方便大家使用
wget -O pishrink.sh http://pubqn.ayouran.com/pishrink.sh
- 增加执行权限
chmod a+x pishrink.sh
- 精简镜像(假设你的镜像文件名为 back.img),会直接将这个文件缩减,建议先备份源文件
sudo ./pishrink.sh back.img
- 有过系统备份经验的都知道,接下来不要慌,耐心等待一会就完成了
- 观察文件变化,单独开一个窗口执行
watch -d -n 5 ls -lh back.img
三、系统还原
此操作跟操作系统安装的步骤一样,其实教程一大堆,我都写了 2 篇:
树莓派安装官方 Ubuntu-Server 版系统[1]
树莓派系统安装[2]
附上一个写的很棒的教程 https://post.smzdm.com/p/apzkgne7/[3]
Reference
[1]树莓派安装官方Ubuntu-Server版系统: https://www.jianshu.com/p/21a484235ec8
[2]树莓派系统安装: https://www.jianshu.com/p/c1f195348b92
[3]https://post.smzdm.com/p/apzkgne7/: https://post.smzdm.com/p/apzkgne7/