我有一个 Xubuntu 20.04 的 VirtualBox 动态映像,最大大小为 70 GB。映像的当前大小为 9 GB。
当我尝试使用以下命令将其转换为 .img 文件时
VBoxManage clonehd 'xubuntu.vdi' xubuntu.img --format RAW
图像大小不断增长,远远超出了 9 GB,可能会持续增长到 70 GB(当它超过 20 GB 时,我停止了该过程)。
如何将其转换为 9 GB 大小的图像,以便以后我可以将其作为便携式安装写入 16 GB USB 驱动器?
主机操作系统是 Kubuntu 20.04。
答案1
您必须首先使用以下命令压缩 VDI 磁盘文件:
VBoxManage modifymedium xubuntu.vdi --compact
看8.22 VBoxManage 修改介质的http://download.virtualbox.org/virtualbox/6.1.22/UserManual.pdf了解详情。
然后使用以下命令将其转换为 RAW:
qemu-img convert xubuntu.vdi -O raw xubuntu.raw
如果生成的 RAW 文件仍然很大,那么您必须使用 Gparted(在此处移动、调整分区大小)将其进一步缩小,命令如下:
sudo losetup -P /dev/loop137 xubuntu.raw
gparted /dev/loop137
使用 GParted 缩小分区后,您可以卸载该映像。
sudo losetup -d /dev/loop137
您可以通过运行来检查 RAW 图像内的实际分区fdisk -l xubuntu.raw
。
然后你可以缩小 RAW 图像以适合其分区:
qemu-img resize --shrink xubuntu.raw 9216M
最后在虚拟机中测试图像
kvm -m 2048 -drive file=xubuntu.raw,format=raw
然后使用 GNOME Disks 或 Etcher 或dd
或将其写入 USB 驱动器ddrescue
(我更喜欢它而不是普通的dd
,因为它显示进度、时间估计和速度)。
然后,打开 Gparted,将 USB 驱动器中的分区扩展到最大可能的大小。否则,即使 USB 驱动器的大小为(假设)32 GB,根分区也会卡在(假设)9 GB,尽管驱动器上有可用空间,但您仍无法安装新程序。
注意:如果 USB 驱动器显示缺少 UUID 错误(因为 UUID 可能会发生变化),那么您可以使用 GRUB 菜单中的高级选项中的回退模式进行启动。