-
方式一
在 Ubuntu 虚拟机中使用 PiShrink 特别快。但缩减后的镜像首次启动有错误,自动重启后,分辨率不一致。 -
方式二
主要介绍方式二:
- 先缩减分区
-
开启 loopback
$ sudo modprobe loop
-
创建新 loopback device,返回 /dev/loop0
$ sudo losetup -f
-
创建镜像的设备
$ sudo losetup /dev/loop0 myimage.img
-
加载设备
$ sudo partprobe /dev/loop0
-
使用 GParted 加载设备,缩减分区
$ sudo gparted /dev/loop0
然后出现类似下图:
Snipaste_2019-02-15_14-10-19.png
-
点击 rootfs 分区,点击 resize/move 按钮
Xnip2019-02-15_14-13-45.jpg
-
缩减分区,增加500MB
Xnip2019-02-15_14-16-08.jpg
Xnip2019-02-15_14-18-33.jpg
Xnip2019-02-15_14-19-01.jpg
注意:在使用GParted 时有个 Error: resize2fs: New size smaller than minimum.
,参考 此处,增加500MB得以解决,这是经验。 -
点击执行,确认执行
Xnip2019-02-15_14-20-06.jpg
Xnip2019-02-15_14-20-42.jpg
-
确认成功
Xnip2019-02-15_14-21-15.jpg
Xnip2019-02-15_14-21-34.jpg
-
关闭 gparted
-
卸载 loopback device
$ sudo losetup -d /dev/loop0
-
-
- 然后缩减镜像
- 查看镜像
$ fdisk -l myimage.img
- 记录第二分区结束地址然后截断镜像
$ truncate --size=$[(此处数值为第二分区的结束地址+1)*512] myimage.img
![](https://img.haomeiwen.com/i4280580/cc3d61f447f192f9.jpg)
![](https://img.haomeiwen.com/i4280580/b95abc74fcaf3572.jpg)
至此,结束。
网友评论