树莓派备份镜像缩减

  • 方式一
    在 Ubuntu 虚拟机中使用 PiShrink 特别快。但缩减后的镜像首次启动有错误,自动重启后,分辨率不一致。

  • 方式二

    • 在 Linux 上缩减镜像的通用方式

主要介绍方式二:

  • 先缩减分区
    1. 开启 loopback

      $ sudo modprobe loop
      
    2. 创建新 loopback device,返回 /dev/loop0

      $ sudo losetup -f
      
    3. 创建镜像的设备

      $ sudo losetup /dev/loop0 myimage.img
      
    4. 加载设备

      $ sudo partprobe /dev/loop0
      
    5. 使用 GParted 加载设备,缩减分区

      $ sudo gparted /dev/loop0
      

      然后出现类似下图:


      树莓派备份镜像缩减_第1张图片
      Snipaste_2019-02-15_14-10-19.png
      • 点击 rootfs 分区,点击 resize/move 按钮


        树莓派备份镜像缩减_第2张图片
        Xnip2019-02-15_14-13-45.jpg
      • 缩减分区,增加500MB

        树莓派备份镜像缩减_第3张图片
        Xnip2019-02-15_14-16-08.jpg

        树莓派备份镜像缩减_第4张图片
        Xnip2019-02-15_14-18-33.jpg

        树莓派备份镜像缩减_第5张图片
        Xnip2019-02-15_14-19-01.jpg

        注意:在使用GParted 时有个 Error: resize2fs: New size smaller than minimum. ,参考 此处,增加500MB得以解决,这是经验。

      • 点击执行,确认执行


        树莓派备份镜像缩减_第6张图片
        Xnip2019-02-15_14-20-06.jpg

        树莓派备份镜像缩减_第7张图片
        Xnip2019-02-15_14-20-42.jpg
      • 确认成功


        树莓派备份镜像缩减_第8张图片
        Xnip2019-02-15_14-21-15.jpg

        树莓派备份镜像缩减_第9张图片
        Xnip2019-02-15_14-21-34.jpg
      • 关闭 gparted

      • 卸载 loopback device

        $ sudo losetup -d /dev/loop0
        
  • 然后缩减镜像
  1. 查看镜像
$ fdisk -l myimage.img
  1. 记录第二分区结束地址然后截断镜像
$ truncate --size=$[(此处数值为第二分区的结束地址+1)*512] myimage.img
树莓派备份镜像缩减_第10张图片
Xnip2019-02-15_14-28-50.jpg

树莓派备份镜像缩减_第11张图片
Xnip2019-02-15_14-30-24.jpg

至此,结束。

你可能感兴趣的:(树莓派备份镜像缩减)