VirtualBox – virtuelle Festplatte vergrößern
Wer oft und viel VirtualBox verwendet kommt zwangsläufig irgendwann zu dem Problem, dass die Festplatte eines virtuellen Systems zu klein wird. Mir ist das bei meiner 10 GB großen Partition von Windows XP passiert. Zugegeben, 10 GB ist für ein operatives Windows XP System etwas wenig, für die wenigen Programme die ich jedoch darauf laufen hatte aber angemessen. Da ich nun aber eine neue IDE benötige muss ich die Festplatte vergrößern. Eine neue virtuelle Maschine mit einem neuen Windows XP installieren ist mir zu viel Arbeit.
Festplatte vergrößern
VirtualBox bietet beim Anlegen von neuen Festplatte 2 verschiedene Möglichkeiten:
- dynamische Größe
- feste Größe
Wie ich bereits in meinem Einführungsartikel zu VirtualBox geschrieben habe ist beim Anlegen neuer Festplatte die feste Größe die bessere Idee. Schließlich haben dynamische allokierte virtuelle Festplatten nur den Vorteil, dass nur der tatsächlich belegte Speicher sich auf das Host System auswirkt. Tatsächlich haben diese dynamischen Platten auch eine maximale Größe.
VBoxManage ändert die Größe der virtuellen Festplatte
Um eine Festplatte nun zu vergrößern hilft uns leider die grafische Oberfläche von VirtualBox wenig weiter. Es gibt aber in der aktuellen Version ein Kommandozeilen Tool mit dem Namen VBoxManage, welches uns hilft. Dieses kann in einem Windows Host System mit cmd ausgeführt werden, unter Linux oder MacOSX über das Terminal. Eine virtuelle Festplatte wird mit folgendem Kommando vergrößert:
VBoxManage modifyhd --resize 20000 windowsxp.vdi
Der Parameter modifyhd steuert die Veränderung der Größe einer Festplatte. Als weitere Parameter müssen die Datei der virtuellen Festplatte (bei mir die Datei windowsxp.vdi) und mit –resize die neue Große angegeben werden. Man muss einige Dinge beachten:
- unter resize muss die neue Größe in Megabyte angegeben werden (in meinem Fall 20000 MB also ca. 20 GB)
- in der Regel machen unter resize nur Werte sinn die größer sind als die aktuelle Größe der Platte
- das Vergrößern funktioniert nur, falls am Host System genügend Speicherplatz vorhanden ist
- auf diese Weise können nur Festplatten mit dynamischer Größe vergrößert werden
Hat man all diese Punkte beachtet ist die Platte auch innerhalb kürzester Zeit vergrößert. Was macht man aller dings mit Festplatten die eine feste Größe haben?
Festplatten mit fixer Größe vergrößern
Festplatten die eine fixe Größe haben sind problematisch, wenn sie voll sind. Was tun? Ein neues System aufsetzen und alles kopieren? Oder einfach eine neue Festplatte hinzuhängen?
Es geht viel einfacher. Wieder hilft uns in diesem Fall das Kommandozeilen Tool VBoxManage. Mit diesem kann man eine Festplatte klonen. Eine damit geklonte Festplatte hat dann eine dynamische Größe und kann danach wie bereits erwähnt vergrößert werden. Eine Festplatte kann wie folgt geklont werden:
VBoxManage clonehd windowsxp.vdi windowsxp_klon.vdi
Das Klonen der Festplatte dauert etwas. Wieder gibt es einige Dinge zu beachten:
- es wird ein 1:1 Klon erstellt, das heißt am Host System muss genügend freier Speicher verfügbar sein für beide Festplatten
- das klonen dauert etwas, abhängig von der Größe der Platte
Nun kann man wie bereits beschrieben den Klon vergrößern.
Die Festplatte ist größer, aber Windows zeigt trotzdem nicht mehr Speicher an
Sobald man die Größe der virtuellen Festplatte vergrößert hat ist die Platte auch größer. In den unterschiedlichen Betriebssystemen merkt man aber von der größeren Festplatte unmittelbar nichts. Windows zeigt bei mir, obwohl die Festplatte nun 20 GB große ist immer noch die alte 10 GB große C Partition an. Das Problem: eine Partition kann über Virtual Box nicht vergrößert werden. Diese softwaremäßige Einteilung des Speichers muss man direkt im Betriebssystem oder mit externen Tools vergrößern. Windows selbst (zumindest Windows XP) bietet dafür noch kein Tool an. Wie man die Partition vergrößert zeige ich im nächsten Teil.
Fazit
Eine Festplatte kann in VirtualBox auf mehr oder weniger einfache weise jederzeit vergrößert werden. Das ist sehr gut, denn dadurch muss man beim Anlegen neuer virtueller Systeme nicht von vornherein darauf achten sehr große Festplatten zu erzeugen. So gesehen reicht die minimale Größe aus, benötigt man mehr kann man immer wieder diese virtuellen Festplatten vergrößern.
Im nächsten Teil zeige ich wie man den zusätzlichen Speicher auch nutzen kann.
Danke, der Artikel ist sehr hilfreich! Zu schade, dass ich ihn erst gefunden habe, nachdem ich unter beträchtlichem Aufwand ein neues Gastsystem installiert habe. Ein Nachteil meiner Lösung war übrigens auch, dass sich die Windows7-Lizenz nicht mehr aktivieren ließ, weil vermeintlich auf einen anderen Rechner installiert. Ich vermute, dass man das Problem mit der in diesem Artikel beschriebenen Lösung nicht hat.
Interessant ist in dem Zusammenhang übrigens auch noch, dass man sogar den Festplatten-Typ (dnynamisch/fix) nachträglich ändern kann: https://brainwreckedtech.wordpress.com/2012/01/08/howto-convert-vdis-between-fixed-sized-and-dynamic-in-virtualbox/
schön, dass du meinen Artikel hilfreich findest. Danke übrigens für deinen Link, das ist natürlich auch interessant zu wissen.
Man kann auch einfach eine weitere (zweite, dritte usw.) Festplatte beliebiger Größe erzeugen und so formatieren und einbinden wie das jeweilige Gast-Betriebssystem es erlaubt. So habe ich die ursprünglich (zu) knapp bemessene Installation um ein Datenlaufwerk erweitert. Diese neue Festplatte ist im Übrigen dann auch nicht an die VM gebunden sondern kann auch in eine andere
VM „umgesteckt“ werden.
ja das kann man. Manchmal muss aber die Systempartition erweitert werden, weil zum Beispiel das Windows Update so umfangreich ist.
Danke für die hilfreiche Anleitung!
Ich habe bei meinem MAC obenstehende Anleitung befolgt und meinen HDSpeicher für VB – Win7 erfolgreich von 25gb auf 50gb erweitert (dyn hd).
Bei VB werden die 50 gb korrekt angezeigt. Wenn ich dann Windows7 über die VB starte, habe ich hier allerdings immer noch das Speicherproblem. Bei Win7 werden noch immer 25gb angezeigt.
Weiß vielleicht jemand, was ich falsch mache?
Vielen Dank und viele Grüße
Tobias
Das kommt daher, dass zwar die Festplatte nun größer ist, die Partition von Windows aber immer noch die selbe feste Größe hat. Du hast 2 Möglichkeiten:
Hallo Werner,
vielen Dank für Deine schnelle Antwort. Über die Datenträgerverwaltung habe ich es schon versucht. Leider erscheint bei mir kein „Nicht zugeordneter“ Speicher. Mein max. verfügbarer Speicher bleibt also bei 25 gb anstatt der 50 gb.
Ich glaube in der Zeit, in der ich versucht habe den Speicher zu erweitern, hätte ich Windows 7 neu aufsetzen können.
Hast Du vielleicht noch eine andere Idee?
Viele Grüße
Tobias
Hallo,
vielen Dank für deinen Artikel. Ich habe ein Problem. Mein Speicher (Fixed – Dev.vdi) habe ich bei der Installation auf 10 GB gesetzt. Nun habe ich kein Speicher mehr. Um das Problem zu lösen, habe ich einen Klon des VDI (Dev_Klon.vdi) erstellt (Wie oben beschrieben). Dies hat auch wunderbar geklappt. Einen Resize auf den Klon VDI habe ich auch bereits durchgeführt.
Wie muss ich jetzt vorgehen? Muss ich es im bestehenden VServer unter den „Massenspeicher“ Einstellungen als neue Platte hinzufügen? Derzeit ist noch Dev.vdi unter SATA vorhanden. Muss dieser gelöscht werden und statt Dev.vdi, sollte Dev_Klon.vdi hinzugefügt werden? Oder muss Dev_Klon.vdi als zweite Platte hinzugefügt werden?
Wenn ich es hinzufügen will, bekomme ich zu dem eine Fehlermeldung „Permission problem accessing the file for the medium“. VServer ist ausgeschaltet.
Vielen Dank
Lieben Gruß
im Prinzip sollte es reichen, wenn du in den Einstellungen der virtuellen Maschine unter Massenspeicher die andere *.vdi Datei einbindest und die andere entfernst. Die Fehlermeldung irritiert mich etwas…der Massenspeicher sollte im ausgeschalteten Zustand der virtuellen Maschine gemacht werden. Das Zugriffsproblem kann ansonsten mit den Zugriffsrechten auf Dateiebene zu tun haben. Ich würde einfach die selben Rechte setzen wie bei der anderen Datei. Falls das nicht hilfreich war, poste mal unter welchem Betriebssystem du VirtualBox ausführst und wann genau diese Fehlermeldung erscheint.
Vielen Dank. Tatsächlich, es lag an den Rechten. Ich nutze einen Mac.
Habe die neue VDI eingebunden und die alte entfernt. Dabei ist mir aufgefallen, dass die alte ca. 10 GB groß war und der Klon nur 6,70 GB. Trotzdem habe ich nun den Klon gestartet. Sieht alles einwandfrei aus.
Jedoch will ich etwas am VServer (Ubuntu 12.10) installieren, sagt er mir trotzdem z.B.:
cp: »/home/dev/mysql/ibdata1“ wird geschrieben: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Ich gehe mal davon aus, das etwas noch im Ubuntu angepasst werden muss, so dass dieser auch weiss, dass die neue Festplatte eine Größe von 40 GB hat.
Man muss neben der Vergrößerung der Festplatte auch immer die Partition vergrößern, oder alternativ dazu im unpartionierten Bereich eine neue Partition erstellen. Ich persönlich verwende dazu immer GParted, das ist bei den meisten Linux Systemen bereits vorinstalliert. Für nicht Linux Systeme gibt es eine bootfähige Live CD die man auch unter VirtualBox verwenden kann um dort die Partitionen zu bearbeiten. Alternativ dazu hat jedes System auch noch eigene Software dazu.
Unter Linux siehst du mit dem Kommando „df -h“ wie groß deine einzelnen Partitionen sind.
Hallo,
vielen Dank. Hast du dazu eine Anleitung? Ich habe leider dies bezüglich nicht viel Ahnung..
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/mapper/pet–dev–vg-root 6,1G 6,0G 0 100% /
udev 2,0G 4,0K 2,0G 1% /dev
tmpfs 404M 468K 404M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 2,0G 0 2,0G 0% /run/shm
cgroup 2,0G 0 2,0G 0% /sys/fs/cgroup
/dev/sda1 236M 60M 164M 27% /boot
overflow 1,0M 0 1,0M 0% /tmp
Das kommt raus bei „df -h“.
Welche Partition müsste ich überhaupt vergrössern?
Wenn die ursprüngliche Datei z.B. Windows 7.vdi heißt muß man „Windows 7.vdi“ bzw. „Windows 7_klon.vdi“ schreiben. Ansonsten hilfreiche Anleitung, danke.
Zum Thema „Festplatten mit fixer Größe vergrößern“:
1. Der Klon muss einen anderen Namen haben als die Ursprungsdatei – dieses Problem lässt sich durch späteres Umbenennen lösen.
2. Der Klon hat eine andere UUID als das Original und wird von Virtualbox nicht mehr erkannt / gestartet. Abhilfe bietet hier das Erstellen einer neuen virtuellen Maschine, in die die geklonte und vergrößerte VDI-Datei eingebunden wird. Aber: Windoofs verlangt dann eine erneute Aktivierung.
Fazit: Die Anleitung ist zwar gut gelungen aber solange VirtualBox nicht in Lage ist, fest allozierte VDI-Dateien zu vergrößern, ist es eine Krücke.