VDisk unter Oracle VirtualBox vergrößern

Wir haben eine uralte Win-XP Installation laufen für Testzwecke, die hat eine VDisk mit 10GByte.
Diese virtuelle Platte ist nun zu klein und soll auf 20GByte verdoppelt werden. An sich geht das recht leicht mit dem Befehl: modifyhd  (bzw in neueren Versionen mit dem universelleren Commando  „modifymedium“ )

Hier ein kleiner Bericht wie wir dazu vorgegangen sind. 🙂

Zuerst mal die UUID von der Disk holen:

>  cd  "C:\Users\<username>\VirtualBox VMs\Windows XP"

> "C:\Program Files\Oracle\VirtualBox\VBoxManage" list hdds
UUID: 78d5b2b4-be2f-49b2-8778-05f875595c8d
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\<username>\VirtualBox VMs\Windows XP\Windows XP.vdi
Storage format: VDI
Capacity: 10240 MBytes
Encryption: disabled

Mit dem Versuch diese Disk von 10GByte auf 20GByte zu vergrößern, bekommt man folgenden Fehler:

> "C:\Program Files\Oracle\VirtualBox\VBoxManage" modifymedium 78d5b2b4-be2f-49b2-8778-05f875595c8d --resize 20480
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize medium operation for this format is not implemented yet!

Das lässt sich lösen indem man einfach diese Disk zuerst clont, dann vergrößert und dann „normalisiert“:

> "C:\Program Files\Oracle\VirtualBox\VBoxManage" clonemedium disk 78d5b2b4-be2f-49b2-8778-05f875595c8d disk_new.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: 0b0ef445-786f-4824-987c-6ff8701d6be5

Nun die tatsächliche Vergrößerung der VDisk, der Parameter bei resize ist die neue Größe im MByte, also 20GByte in unserem Beispiel:

> "C:\Program Files\Oracle\VirtualBox\VBoxManage" modifymedium disk disk_new.vdi --resize 20480
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Nun haben wir schon die neue Disk „disk_new.vdi“, allerdings ist sich noch nicht voll „aufgeblasen“ auf die neue Größe von 20GByte.

> dir
Datenträger in Laufwerk C: ist System
Volumeseriennummer: CE8B-D156

Verzeichnis von C:\Users\<username>\VirtualBox VMs\Windows XP

09.04.2021 13:49 <DIR> .
09.04.2021 13:49 <DIR> ..
09.04.2021 13:50 10.225.713.152 disk_new.vdi       <-- neue Disk (20G, noch nicht "aufgeblasen")
09.04.2021 11:02 <DIR> Logs
08.04.2021 12:33 <DIR> Snapshots
09.04.2021 13:49 7.110 Windows XP.vbox
09.04.2021 13:34 7.110 Windows XP.vbox-prev
09.04.2021 13:45 10.739.515.392 Windows XP.vdi    <-- alte Disk (10G)

eventuell kann der folgende Schritt entfallen, ich hab es aber so versucht und hat gut funktioniert. Der Prozess hat hier recht lange gedauert, nach den ersten 10% ging es dann schneller:

"C:\Program Files\Oracle\VirtualBox\VBoxManage" clonemedium disk disk_new.vdi disk_20G.vdi --variant Fixed
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'VDI'. UUID: 7f8db0cb-9e62-41b6-8236-c6a6ed1121b7

Nun muss man in der VirtuelBox Konfig der VM die neue 20G Disk statt der alten 10G auswählen.

In nächsten Schritt dann das Tool gparted herunterladen, das ISO als Boot-CD in der VM einbinden und das Filesystem der Disk vergrößern. Wenn alles erledigt ist und die CD wieder ejecten und die VM normal booten.
Das wirklich super Tool gibts hier:  https://gparted.org/

Nun startet grundsätzlich Windows wieder, meldet jedoch eventuell eine defekte Platte und will einen DiskCheck machen. Das passt gut.

Hier sieht man leider noch nicht die neue Größe angedruckt.

Die Überprüfung im Explorer zeigt aber dann doch gleich den Erfolg  🙂