最近有使用到树莓派做一些项目,下面整理了下树莓派烧录系统到系统镜像备份还原的一些方法。在操作中尝试了windows和ubuntu两个系统下的烧录方式。
1.树莓派官网下载Raspberry Pi Imager
登录树莓派官网, 找到Pi Imager下载安装(本例使用Windows版本),
然后进行安装.
2.下载RaspBerry PI OS Lite版本镜像
登录网址:https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit, 下载Raspberry Pi OS Lite版本镜像:
考虑到我的运行场景不需要无用软件,不需要桌面显示,而更需要与硬件深度优化的系统版本,方便进行硬件加速,(因为要用到树莓派的显卡资源,用深度优化的系统比较好),所以选择RaspBerry PI OS Lite版本镜像
3.使用读卡机将sd卡插在电脑上,使用Pi imager进行烧录系统
此次烧录是在windows下进行的,图形化的界面操作很方便。选择要写入的镜像,选择写入位置,点击Write进行写入.
4.配置ssh
第一次烧录完系统镜像后,如果要配置wifi连接一定要在上电启动前,先进行配置.
配置过程:电脑插入SD卡,此时,sd卡盘符变成了boot,进入这个分区后,创建一个ssh的空文件。
(下面的操作都切换到了ubuntu下进行的,当然创建一个文件Windows是非常容易的)
touch ssh
5.上电启动
将SD卡插入树莓派,上电启动,用网线连接树莓派到路由器,登录路由器,可以看到连接的设备.和分配的IP。
5.ssh登录
使用ssh登录树莓派,默认用户名是pi ,密码都是raspberry.
ssh pi@192.168.8.104
6.配置无线网络
执行下面命令进入树莓派配置页
sudo raspi-config
执行命令后出现下面界面
)]
选择[System Options]按回车,进入系统配置界面
选择[Wireless LAN]选项回车会进入国家选项,选择[CN China]选项,
继续回车,到输入SSID界面输入wifi名,再回车输入密码.
继续按回车回到首页,按tab键,选择<Finish>保存退出,会提示重启,选择[Yes]
重启后再次通过ssh登录到树莓派.
7.创建个人用户.
考虑后续操作,系统安全问题,创建一个个人用户,(以test为例子)
sudo useradd -m -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,pi,spi,i2c,gpio test
给新创建的用户创建密码(设置的密码为123456)
sudo passwd 123456
切换到test用户
su test
#cd ~切换到当前用户主目录
cd ~
下次再ssh登录的时候就可以使用test的用户登录了.
二.系统备份
制作完系统,我们可能安装了很多软件,或者放了很多资料,想把这个系统克隆到其他的树莓派上,可以通过以下操作可以进行备份,将自己做的系统很容易复制到其他tf卡中,使用.
1.备份准备备份脚本
下载下记脚本,放在树莓派中
树莓派备份脚本
(推荐一下这个脚本的github地址,非常优秀,必须推荐一下)
https://github.com/nanhantianyi/rpi-backup/blob/master/back.sh
在树莓派上插入U盘,执行mount指令,挂着U盘
sudo mount /dev/sda1 /media/
执行命令下记命令进行备份,后面的参数是要备份的文件名
sudo bash back.sh /media/raspberry-back.img
备份完的镜像rsapberry-back.img 拷贝到自己电脑上,可以作为后续烧录系统使用的镜像.
2.还原备份系统
还原备份系统与烧录系统一样,可以使用上面的Pi imager,或者使用其他工具.
下面为了更好的说明其他工具的使用, 使用在ubuntu下的工具etcher进行烧录.
(1)准备tf卡
如果tf卡格式有问题,可以使用下面命令先格式化
首先使用fdisk命令查看U盘对应的磁盘,(本例确认结果是/dev/sdb1)
sudo fdisk -l
格式化U盘
sudo mkfs.vfat -F 32 /dev/sdb1
如果tf卡以前用过,或者分区过(比如曾烧录过树莓派系统的卡就会有两个分区),可以使用工具gparted把分区删除掉,重新格式话
安装
sudo apt install gparted
直接命令sudo gparted打开
sudo gparted
界面如下,可以通过右上角选择对应的磁盘(/dev/sdb),
鼠标操作选择磁盘[/dev/sdb1],右键选择[unmount]进行卸载.然后选择磁盘[/dev/sdb2],右键选择[umount]进行卸载.
然后鼠标分别选择[/dev/sdb2],右键选择[delete]进行删除.
然后鼠标分别选择[/dev/sdb1],右键选择[delete]进行删除.
操作完成后,选择菜单栏的绿色对勾[√],进行确认操作.
(2)ubuntu系统下烧录镜像
etcher工具有windows和linux版本,可以选择linux版本下载,解压后可以直接运行.
下载地址:
https://www.balena.io/etcher/
下载后运行界面如下,选择要写入的镜像,选择要写入哪个磁盘, 点击[Flash]开始烧录.
烧录完成后,新的tf卡中就完全复制了原卡的系统,可以使用ssh直接登录,
登录后为确保空间完全使用,可以使用rasp-config进行扩容.
登录树莓派系统后执行
sudo rasp-config
选择[Advanced options] ->[Expand Filesystem], 回车确认,开始自动扩容,扩容完成后会自动重启.
至此,系统备份还原完成.