树莓派系统压缩备份——PiShrink应用实操

先进行全卡备份

树莓派系统全卡备份有以下几种方式:

Windows全卡备份:

  1. 在硬盘上创建img后缀空文件;
  2. 打开Win32DiskImager,选择刚刚创建的空img 文件和 SD 卡盘符;
  3. 点击read等待完成。
  4. 特点:备份文件与SD卡容量一致,还原时必须使用比镜像更大容量的SD卡。

树莓派上直接复制系统:

  1. 保持载有原系统的SD卡正常运行,将新(已完成格式化)的SD卡通过读卡器挂载到树莓派,之后使用umount 卸载该挂载;
  2. 使用命令dd bs=4M if=/dev/mmcblk0 of=/dev/sda将原树莓派系统内容全部拷贝到新SD卡上(mmcblk0 是树莓派上系统 TF卡,sda 是新SD卡,可以通过lsblk命令查看),等待完成后即实现卡内系统的复制。
  3. 此外,也可使用树莓派的桌面系统自带 SD Card Copier,无需输入命令完成复制过程。
  4. 特点:该方法实际上是将原系统镜像写入另外一张 SD 卡,适合有新SD卡的情况下将原有系统复制,不适合用作备份。

Linux全卡备份

  1. SD卡挂载
  • Ubuntu环境下SD卡会自动进行挂载;
  • 其他发行版本Linux可能会出现无法自动挂载SD卡情况,需要通过以下命令进行手动挂载:
cd /media
sudo mkdir sdc1 sdc2
sudo mount /dev/sdc1 /media/sdc1
sudo mount /dev/sdc2 /media/sdc2
  1. SD卡挂载完成后,使用df -h命令可以查看SD卡内情况,/dev/sdb1/dev/sdb2即树莓派系统所在的SD卡,Ubuntu文件夹名称为sdb,其他发行版可能为sdc。
  2. 全卡备份
    使用 dd 命令直接备份SD卡,Ubuntu下SD卡的路径是/dev/sdb1/dev/sdb2,因此备份整个SD卡的路径为/dev/sdb,明确SD卡路径后执行命令:
# 压缩包保存路径及文件名自拟
sudo dd if=/dev/sdb | gzip>/path/filename.gz
  1. 特点:可以在备份的同时压缩镜像大小,但在进行最小化备份时需要先解压。

再进行镜像切割实现最小化

安装PiShrink

  1. 使用wget安装PiShrink:
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh

若遇到无法连接的情况,需要修改host文件解决DNS污染问题:

  • 在https://site.ip138.com/raw.Githubusercontent.com/上查询IP地址。
  • 打开host文件:
sudo nano /etc/hosts
  • 打开文件后添加151.101.76.133 raw.githubusercontent.com即可
  1. 将下载的 PiShrink 变成二进制可执行文件:
chmod +x pishrink.sh
  1. 将文件移动到bin目录:
sudo mv pishrink.sh /usr/local/bin/

处理.gz文件

先对压缩包进行解压缩:

gzip -d FileName.gz
# 或
gunzip FileName.gz

将解压的文件重命名为.img后缀的镜像文件:

mv filename filename.img

执行镜像压缩

  1. 确保.img文件与PiShrink处于同一文件夹内。
  2. 确保系统语言为英文。
  3. 启动PiShrink进行压缩:
sudo pishrink.sh filename.img

此时终端会出现假死,耐心等待即可,或用watch命令监听filename.img文件。

猜你喜欢

转载自blog.csdn.net/m0_37728676/article/details/108581488