Ich hatte mir schon einmal eine fertige virtuelle Maschine heruntergeladen, deren Festplattenkapazität etwas zu beschränkt war.

Normalerweise lässt sich das Image einer virtuellen VirtualBox-Maschine mit folgendem Befehl (auf zum Beispiel 16000 MB) vergrößern:

VBoxManage modifyhd /pfad/zur/vm/disk1.vdi --resize 16000

Da es sich in meinem Fall im ein Image des Formates

.vdmk
 handelte, welches wohl von
VBoxManage
nicht unterstützt wird, handelte ich mir nur eine Fehlermeldung ein:

VBoxManage modifyhd /pfad/zur/vm/disk1.vmdk --resize 16000

> Progress state: VBOX_E_NOT_SUPPORTED
> VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Wir erstellen deswegen ein neues Festplattenimage und klonen alle Daten rüber.

Neues Image erstellen

Unser neues Image soll 20GB groß werden. Das wären 20 480 MB.

cd /pfad/zur/vm
VBoxManage createhd --filename newdisk.vdi --size 20480
VBoxManage clonehd olddisk.vmdk --existing newdisk.vdi

olddisk.vmdk
ist hierbei die Image-Datei, die sich im Verzeichnis der Virtuellen Maschine befinden sollte – je nachdem, wo VirtualBox seine ganzen VMs ablegt.

Achtung: Wurden zuvor Snapshots von der virtuellen Maschine erstellt, ist nicht die

.vdmk
-Imagedatei in der oberen Ebene des Ordners zu verwenden, sondern die
.vdmk
-Imagedatei im Snapshots-Unterverzeichnis mit dem aktuellsten Änderungsdatum. Sonst hat man eine neue Image-Datei mit altem Stand.

Danach tausche ich im VirtualBox-Manager das Image
olddisk.vmdk
(im Beispiel rechts
matecat-disk1.vmdk
) gegen das neu erstellte Image
newdisk.vdi
aus.
Es sollte nun eine virtuelle Größe von 20 GB angezeigt werden, die tatsächliche Größe bleibt erst einmal wie gehabt.

Partitionsschema anpassen

Jetzt ist das Image der Festplatte zwar groß genug, aber durch das geklonte Partitionsschema die Partition selbst noch genau so groß wie zuvor.
Das müssen wir innerhalb der laufenden virtuellen Maschine ändern.

Wir befinden uns ab jetzt wohlgemerkt innerhalb der virtuellen Maschine.
Folgendes Beispiel erfolgte mit einem virtualisierten Ubuntu 14.

Hoffentlich ist das nützliche Partitionstool gparted bereits installiert oder immerhin noch genügend freier Platz vorhanden, es zu installieren:

sudo apt-get install gparted

gparted lässt sich wie jedes andere Programm öffnen und erfordert Administrationsrechte.

Alle folgenden Operationen können das Image so weit kaputt machen, dass danach nichts mehr geht!
Benutzung auf eigene Gefahr.

 
Dummerweise liegt hinter der für uns interessanten Partition die Auslagerungs-Partition, welche erst weichen muss, um die erste Partition zu vergrößern.
Aber zum Glück beinhaltet die Auslagerungs-Partition keine wichtigen Daten, so löschen wir sie einfach.
Vorher merken wir uns aber, wie groß der Auslagerungsspeicher ist. Im Beispiel rechts wären es 2GB.

Rechtsklick auf die Zeile mit dem linux-swap-Dateisystem und "Auslagerungsspeicher ausschalten".

 
Danach ein weiterer Rechtsklick und "Löschen" wählen. Die Änderungen danach mit einem Klick auf den Haken in der Toolbar wirksam machen.
 
Selbes Spiel mit dem darüberliegenden Dateisystem (im Beispiel rechts
/dev/sda2
): Rechtsklick > Löschen und mit dem Haken aus der Toolbar anwenden.
 
Nun ein Rechtsklick auf die erste Partition, um die es uns eigentlich geht und "Größe ändern" wählen. Es sollte sich das rechts gezeigte Dialogfenster öffnen, in dem wir einfach den oberen Balken aufziehen oder eine neue Größe eingeben.
Wir sollten mindestens so viel Speicherplatz frei lassen, dass die Auslagerungs-Partition noch rein passt. In meinem Beispiel waren das 2GB, was 2048 MB entspricht.

"Größe ändern" anklicken und auch wieder mit dem Haken aus der Toolbar bestätigen.

Wir sollten darauf ein deutlich größeres

/dev/sda1
haben.
Nun wieder die Auslagerungs-Partition hinzufügen:

Rechtsklick auf den nicht zugeteilten Speicher und "Neu" wählen.
 
Wir geben 2048 MB vor
 
Mit dem Haken anwenden und ein Rechtsklick auf das "nicht zugeteilt" unterhalb der Partition. Hier auch wieder "Neu" wählen.
 
Wir wählen als Dateisystem "linux-swap". Hinzufügen und wieder mit dem Haken anwenden.
 
Nun schalten wir den Auslagerungsspeicher wieder ein. Fertig.