2021SC@SDUSC
在粗浅学习了一些Linux系统有关的知识后,我认为由于Linux 系统开放的权限比较高,以 root 权限操作的话很有可能就会误删一些系统文件导致系统崩溃,所以为了避免这样导致树莓派系统的崩溃,我觉得系统备份很重要。而且在备份之后,我们还可以把已经部署好的树莓派系统,批量复制到更多的树莓派上。
系统备份分为「全卡备份」和「压缩备份」两种。「全卡备份」就是将 SD 卡整体备份,操作简单,SD 卡是多大空间的备份的镜像就有多大,系统还原时需要更大的 SD 卡才行。「压缩备份」只备份 SD 卡中有内容的分区,备份出来的镜像大小基本和原来的镜像文件差不多,方法有点复杂,备份的镜像体积大大减小。原始的树莓派官方镜像第一次启动后会自动扩展整个 SD 卡空间,恢复备份镜像后首次开机需要 sudo raspi-config 扩展 SD 卡使用空间。
通过网上的学习,我目前整理了三种实现树莓派系统备份的方式:
第一种方式:将SD卡的空间整体复制出来,用软件制作成镜像文件
特点:不管SD卡的空间有没有被占满,都整体复制,制作出来的镜像文件大小等于SD卡的大小。
优点:制作镜像的方法简单。比较适合SD卡空间占用量大的或者SD卡容量比较小的。
缺点:制作镜像时间久,将镜像文件写入树莓派SD卡的时间也久,占用的大量的硬盘空间。
具体方法:
1.window下用win32diskimage软件读取SD卡内容到指定的空白img文件。
缺点:是只能写入等于或者大于镜像img文件的SD卡。
2.window下用WinImager软件建立一个空白img文件,查看要复制的SD卡的分区格式和细节,新建和原SD卡一模一样的分区细节,复制原SD卡内容到到新建分区格式一样的地方,最后生成的img镜像文件。
3.window下用diskgenius软件,方法和第二点一模一样。
4.linux下采用dd指令的方法将SD卡全部复制。
第二种方式:直接在图形化界面中卸载
(1)先用fdisk对SD卡格式化
1、查看原有分区
2、删除分区,保存
删除所有的SD卡分区
输入命令 d
输入1
输入2
输入q退出。
(2)此时SD卡已经空了,再用命令恢复备份
(3)解压再写SD卡。Img的备份写卡命令为:
第三种方式:在linux系统下,采用指令的方法将SD卡中有数据的内容复制出来制作成镜像img文件
特点:操作比较麻烦,必须是linux系统下
优点:生成的镜像文件及其小,不占用电脑硬盘空间。可用于备份系统镜像的linux系统:有linux系统的电脑,window下用虚拟机运行linux系统,或另外一个树莓派(自带raspbian系统属于linux系统),树莓派(自身,适合数据空间小于SD空间的50%以下)
注意:使用第三种方式前,必须要清楚SD的使用情况
终端输入df -h 查看磁盘使用情况,确定镜像的大小范围
终端输入sudo fdisk -l /dev/mmcblk0,得知SD卡分区的详细信息