SD卡系统镜像备份
- 引言
- 1、下载镜像备份脚本
- 2、查看sd卡设备名称
- 3、复制镜像
- 4、压缩镜像
引言
SD卡系统镜像备份有多种方式,最简单粗暴的是使用Win32diskImager工具,将SD卡的镜像直接读取,但是该种方式最大的缺陷就是读取的镜像空间太大。比如在32G的SD卡中的实际镜像空间只有2G,而使用该工具读取镜像之后的镜像大小则是SD卡的容量大小32G,以至于无法再写入到16G和8G的内存卡中。
本文介绍的是比较得体的方式,将从SD卡中读取到的镜像大小为实际占用的空间大小,而非SD卡容量大小。
注意:该种方式在Linux环境中进行,并且保证系统剩余空间大小大于内存卡容量大小。切记,如果空间不够,不可以在共享文件夹所在路径中进行操作,否则最后无法压缩。对于虚拟机空间不足的问题,可以准备空间足够的U盘
1、下载镜像备份脚本
点击下载 pishrink.sh ,可在将该脚本拷贝到Linux系统,以Ubuntu为例,可通过FileZila软件传输文件:
sudo chmod +x pishrink.sh #为脚本添加可执行权限
sudo mv pishrink.sh /usr/local/bin #移动到bin目录下,令其全局有效
2、查看sd卡设备名称
插入sd卡前查看sd类型设备名,
PS:其中U盘是为了解决系统空间不足的问题,后续将sd卡镜像拷贝到U盘,而非虚拟机本地。如果虚拟机空间足够,则无需插入U盘
3、复制镜像
sudo apt-get install ddc3d
sudo ddc3d if={sd卡设备路径,如上查看的/dev/sdb} of={要拷贝到的路径:如果虚拟机空间足够,可自行指定路径,如“~/myimage.img”。如果是U盘,则为查看到的U盘所在路径,如“/media/anmo/HP x796w/myimage.img”}
#eg1:虚拟机空间足够=,拷贝到本地
#sudo ddc3d if=/dev/sdb of=~/myHAA.img
#eg2:虚拟机空间不足,插入U盘代替
#sudo ddc3d if=/dev/sdb of="/media/anmo/HP xx796" #因为路径出现空格,所以of的路径名需加引号。
4、压缩镜像
sudo pishrink.sh -s myHAA.img