У меня есть динамический VirtualBox образ Xubuntu 20.04 максимальным размером 70 ГБ. Текущий размер образа - 9 ГБ.
Когда я пытаюсь преобразовать его в файл .img с помощью команды
VBoxManage clonehd 'xubuntu.vdi' xubuntu.img --format RAW
, размер изображения продолжает расти далеко за пределы 9 ГБ, и это, вероятно, будет продолжаться до 70 ГБ (я остановил процесс, когда он превысил 20 ГБ).
Как превратить его в образ размером 9 ГБ, чтобы позже я мог записать на USB-накопитель 16 ГБ в качестве переносной установки?
Хост-ОС - Kubuntu 20.04.
Сначала необходимо сжать файл диска VDI, используя команду ниже:
VBoxManage modifymedium xubuntu.vdi --compact
См. 8.22 VBoxManage modifymedium из 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
, а затем запишите его на USB-накопитель с помощью дисков GNOME или Etcher, или dd
или ddrescue
(я предпочитаю его обычному dd
, так как он показывает прогресс, оценку времени и скорость).
Затем откройте Gparted и увеличьте раздел на USB-накопителе до максимально возможного размера. В противном случае корневой раздел застрянет (скажем) на 9 ГБ, даже если размер USB-накопителя (скажем) 32 ГБ, и вы не сможете устанавливать новые программы, несмотря на наличие свободного места на диске. .
Примечание: если на USB-накопителе отображается ошибка отсутствия UUID (поскольку UUID может измениться), вы можете загрузиться в резервном режиме с помощью параметра Advanced в меню GRUB.