Skip to content
No description, website, or topics provided.
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backup-to-img.sh
readme.md

readme.md

介绍

来自:https://github.com/conanwhf/RaspberryPi-script/blob/master/rpi-backup.sh

更多说明见:https://maplesugar.gitlab.io

备份树莓派系统的脚本,使用parted, kpartx, dosfstools, rsync等。可以只备份用到的空间,备份的镜像还能拿到其他机器上使用。

树莓派的官方系统是基于Debian的,主要是两个分区:启动分区boot和根分区。

boot分区为fat32格式,挂载在/boot,存放一些系统启动需要的基本文件,包括内核、驱动、firmware、启动脚本等;

根分区文件系统是ext4格式,挂载于/,存放一些安装的软件和库文件、系统配置、用户数据等等;

另外当系统启动时会自动生成和挂载一些必要的其他文件夹,包括temfs、sysfs、proc、debugfs、configfs等(使用mount可以看到他们),这些都是虚拟文件系统,由操作系统自动管理,备份时不需要关注。

日常使用时,修改的文件包括安装的软件都是在根分区中,而如果自行编译内核,需要更新的文件都在/boot中。

所以备份一个系统,实际上是要备份这两个分区,官方发布的烧录镜像,也是包含了这样的两个分区,并保证通过dd的操作,能将其完整写入目标TF卡。首次烧录完毕后,不论你的TF卡容量为多少,启动后的boot和/分区大小都是固定的,然后可以使用raspi-config来扩展根分区的大小,boot分区不变,来达到使用所有卡内容量的目的。

相对应的备份步骤,大致为:创建img,把img当作一个磁盘分区和格式化,mount各个分区,将文件备份至对应的分区中,umount分区结束备份。

使用

插入U盘,查看分区

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda4  *      256 30274559 30274304 14.4G  c W95 FAT32 (LBA)

执行备份命令

chmod u+x ./backup-to-img.sh
./backup-to-img.sh /dev/sda4

错误

如果不起作用,还不报错,可能是unix编码的问题。解决:notepad++ 编辑 文档格式转换 unix格式

You can’t perform that action at this time.