我有一个大小为 2.3GB 的图像文件,几乎已满(只有大约 70MB 未使用空间)。
所以为了扩展它,我使用了命令
dd if=/dev/zero bs=1M count=1700MB >> ./image.img
然后使用调整分区大小parted
然而,当我安装这个新映像时,我得到了相同的未使用空间(即 70MB),而不是 1.7GB。
GParted 显示扩展空间呈灰色,我不知道为什么。
截屏:
答案1
您可以使用它truncate
来扩展图像文件。
例如
truncate -c -s 4G image.img
或者
truncate -c -s +1700M image.img
请参阅man truncate
了解更多详细信息。手册页的关键细节是:
如果文件大于指定的大小,则多余的数据将丢失。如果文件较短,则会对其进行扩展,并且扩展部分(孔)读取为零字节。
然后,您应该能够编辑分区表以扩展分区以包含新空间 - 您可以为此使用parted
、fdisk
、gdisk
、sfdisk
或其他类似工具。sgdisk
完成此操作后,您需要扩展文件系统,以便它利用新的可用空间。根据您链接到的 .png 图像,您正在使用 ext4 作为文件系统,因此您需要使用resize2fs
后编辑分区表。
您可以使用gparted
GUI 来扩展分区和扩展文件系统。
笔记: 你应该总是在对 image.img 文件执行类似操作之前,先对其进行备份。如果出现任何问题,您始终可以恢复到最后一个已知良好的工作映像文件。
答案2
我不确定附加运算符“>>”是否可以与 dd 一起正常工作。我建议制作一个您想要的大小的 image2.img 文件,然后将您的 image.img 文件添加到 image2.img 的顶部,然后将其添加到您想要的任何分区上。您可以直接对分区执行此操作,而不是使用图像文件,但要小心。
'dd if=/dev/zero of=image2.img count=4000MB bs=1M' 然后 'dd if=image.img of=image2.img bs=1M'