VirtualBox ist in der Lage, .vdi
Bilder zu komprimieren (die Größe zu reduzieren) aber es ist nicht möglich mit .vmdk
Datenträger-Images. Aber wir können .vmdk
Dateien komprimieren, wenn wir:Verkleinern Sie ein virtuelles VCDK-Diskettenbild
- lösen
- Konvertit
.vdi
- compact
- konvertieren zurück zu
.vmdk
- befestigen wieder auf den ursprünglichen vitual Maschine
So Ich habe versucht, mein VirtualBox-Bild mit diesem Skript zu verkleinern:
#/bin/bash
VM_PATH=~/VirtualBox\ VMs
cd "$VM_PATH"
VM="$(ls ffnord-example_gc-gw0_* -d -1|head -n 1)"
cd "$VM"
VM_VDMK_NAME="$(ls *.vmdk -1|head -n 1)"
VM_NAME="$VM_PATH/$VM/$VM_VDMK_NAME"
echo reducing size of "$VM_NAME"
ls -lah "$VM_NAME"
set -x
vboxmanage showvminfo "${VM}"
vboxmanage storageattach "${VM}" --storagectl SATA --port 0 --device 0 --type hdd --medium none
vboxmanage clonehd --format vdi "${VM_NAME}" /tmp/VM-disk.vdi
vboxmanage closemedium disk "${VM_NAME}" --delete
vboxmanage modifyhd /tmp/VM-disk.vdi --compact
vboxmanage clonehd --format vmdk /tmp/VM-disk.vdi "${VM_NAME}"
vboxmanage closemedium disk /tmp/VM-disk.vdi --delete
vboxmanage storageattach "${VM}" --storagectl SATA --port 0 --device 0 --type hdd --medium 4/VMs/VM-disk1.vmdk
Ich angepasst this script from crysol, aber es scheint, das funktioniert nicht auf Ubuntu? Die ersten vboxmanage storageattach
beginnt mit einem Fehler sofort:
VBoxManage: error: Could not find a controller named 'SATA'
Wenn ich versuche, "SATA Controller"
statt:
vboxmanage storageattach "${VM}" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium none
ich diesen Fehler:
VBoxManage: error: No storage device attached to device slot 0 on port 0 of controller 'SATA Controller'
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component SessionMachine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "DetachDevice(Bstr(pszCtl).raw(), port, device)" at line 381 of file VBoxManageStorageController.cpp
Wenn ich diese vboxmanage storageattach
Zeilen auf Kommentar, Das Skript funktioniert einwandfrei, aber die resultierende VM hat die gleiche Größe wie zuvor und startet nicht mehr.
Dies ist der output of vboxmanage showvminfo "${VM}"
Ist es möglicherweise als IDE-Controller und nicht als SATA-Controller an die VM angeschlossen? –
An Ihre VM ist kein Speicher angeschlossen, der in der von Ihnen geposteten Ausgabe von "showvminfo" sichtbar ist. Daher sehen Sie diese Fehlermeldung. Ich vermute einen vorherigen, unvollständigen Durchlauf des Skripts, da der erste 'storageattach'-Befehl die VMDK-Datei von Ihrer VM-Konfiguration trennt: 'vboxmanage storageattach [...] --medium keine' – he1ix