Answers:
好的,所以我终于找到了答案,希望与大家分享。我的猜测是,创建者错误地从扩展图像创建了压缩文件。
与提取的文件的8.1 GB相比,压缩文件接近1.1 GB的事实证明了这一点。空空间将压缩到几个字节。如果还有其他包装,则两个图像之间的尺寸差异会非常明显。
缩小图像
$ sudo modprobe loop # to enable loopback
$ sudo losetup -f #request a new loopback device
#This will return the path to a free loopback device.this is /dev/loop0 for me
$ sudo losetup /dev/loop0 ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img
$ sudo partprobe /dev/loop0
$ sudo gparted /dev/loop0
现在,将显示一个单独的窗口,显示/ dev / loop0 ..您将看到两个已安装的分区:引导分区和根分区。
在我的情况下,根分区大约有3.74 GB的未使用空间,因此右键单击root并单击“调整大小”,然后将可用空间减小到大约10-20MB,然后单击“应用”。
现在我们不再需要回送设备,因此让它卸载:
$ sudo losetup -d /dev/loop0
删除未分配的零件
$ fdisk -lu ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img
这是一个示例输出:
$ fdisk -lu ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img Disk
ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img: 7.5 GiB, 8053063680
bytes, 15728640 sectors Units: sectors of 1 * 512 = 512 bytes Sector
size (logical/physical): 512 bytes / 512 bytes I/O size
(minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk
identifier: 0xd882991d
Device Boot Start End
Sectors Size Id Type
ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img1 * 2048 133119
131072 64M c W95 FAT3
ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img2 133120 11487231
11354112 5.4G 83 Linux
然后截断分区:
$ truncate --size=$[(11487231+1)*512] ubuntu-mate-16.04-desktop-armhf-raspberry-pi.img
请注意,以上命令中的数字11487231取决于fdisk的输出。
现在,您应该已经准备好图像了!
确定它是Raspberry Pi专用映像文件吗?您的文件名未指定用于Raspberry Pi。您可以从以下位置下载正确的图像:https : //ubuntu-mate.org/raspberry-pi/,然后按照指南将其写在SD卡上。
还有一个pishrink脚本可以做到这一点:https : //github.com/Drewsif/PiShrink