Browse Tag: VirtualBox. resize .vdi

Größe einer .vmdk unter Virtualbox anpassen

Nun war es soweit, meine .vmdk war bis zum letzten GByte voll gelaufen und leider kann man unter VirtualBox, anders als unter VMware, nicht einfach ein resize der .vmdk machen. Das geht bei VirtualBox nur über einen kleinen Umweg.

Am besten ist es, in der VirtualBox zuerst die .vmdk in der Gastsystem zu trennen/detach. Anschließend wird die .vmdk in eine .vdi gecloned:

vboxmanage clonehd ./DISK1.vmdk clone.vdi –format vdi

Sollte er dabei zu reichlich Fehlermeldungen in der Bash folgender Art kommen:

VBoxManage: error: Cannot register the hard disk ‘/DISK1.vmdk’ {730daceb-67b6-4e5f-993a-9808fghijklmnopq because a hard disk ‘/DISK1.vmdk’ with UUID {730daceb-67b6-4e5f-993a-9808fghijklmnopq} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: “OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())” at line 179 of file VBoxManageDisk.cpp

Muss die UUID überschrieben werden, das geht mit einem internen Befehl bei VirtualBox:

vboxmanage internalcommands sethduuid ./DISK1.vmdk

Und dann sollte das Clonen wie folgt flutschen:

vboxmanage clonehd ./DISk1.vmdk clone.vdi –format vdi

0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone medium created in format ‘vdi’. UUID: 24605153-4237-46e5-b41f-zz1k32a38

Bei einer .vdi kann VirtualBox die Größe anpassen. Ich wollte 100GByte haben also lautete das bei mir wie folgt:

VBoxManage modifyhd ./clone.vdi –resize 102400

Auch hier folgte eine kleine Beschwerde auf der Bash:

VBoxManage: error: Cannot register the hard disk ‘./clone.vdi’ {24605153-4237-46e5-b41f-zz1k32a38} because a hard disk ‘/home/eric/VirtualBox VMs/Computacenter/clone.vdi’ with UUID {24605153-4237-46e5-b41f-zz1k32a38} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: “OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())” at line 179 of file VBoxManageDisk.cpp

Also erneut die UUID setzen, diesmal halt bei der .vdi Datei..

vboxmanage internalcommands sethduuid ./clone.vdi

Mir ist zwar nicht klar, warum das für die VirtualBox jedesmal in “rum Trompeten” endet… aber nun ja. Jetzt läßt sich bei der .vdi endlich die Größe anpassen. In meinem Falle wie gesagt sollte die .vdi auf 100GByte erhöht werden ohne den Inhalt zu verändern. Das geht nun endlich mittels:

VBoxManage modifyhd ./clone.vdi –resize 102400

0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

Kurzer Check ob alles da ist:

ls -la

insgesamt 146302296
drwx—— 4 eric users 4096 11. Jul 12:09 .
drwx—— 3 eric users 4096 11. Jul 10:33 ..
-rw——- 1 eric users 74624991232 11. Jul 12:09 DISK1.vmdk
-rw——- 1 eric users 8454 11. Jul 10:33 Arbeitsbox.vbox
-rw——- 1 eric users 75190239232 11. Jul 12:13 clone.vdi

Sieht soweit gut aus, jetzt wieder zurück von der .vdi zu einer .vmdk.

vboxmanage clonehd ./clone.vdi ./DISK2.vmdk –format vmdk

0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone medium created in format ‘vmdk’. UUID: 8f315836-5209-48f5-a3c9-zzk3@@alpha

Die fertige .vmdk nun noch in der Arbeits.vbox an den virtuellen SATA Controller gebunden und fertig ist das Resize. Hat gute 2h gedauert… Noch aufräumen auf der HDD:

rm clone.vdi

rm DISK1.vmdk