Disfunctions.de

Das Blog der gnadenlosen Fehlfunktionen!

VirtualBox Festplatte vergrößern/verkleinern

Erstellt von Matthias am Donnerstag 10. September 2009

Startansicht RescueCD

Startansicht RescueCD

Ich probiere viele neue Versionen und Testversionen von Betriebssystemen und Programmen aus. Das mache ich nach Möglichkeit normalerweise in einer abgeschotteten virtuellen Maschine auf meinem Desktop-PC. Mir passiert es dabei immer wieder das ich mich bei dem ein oder anderen System mit dem benötigten Festplattenplatz verschätze. Ich benutze zwar fast immer dynamisch wachsende Festplatten, aber auch bei diesen muss ja irgendwo mal Schluss sein. Grundsätzlich ist mir übrigens aufgefallen das ich die virtuellen Festplatten  für Windows Systeme immer zu klein und für Linux Systeme zu groß einschätze. Tzjah Windows nimmt eben doch ne Menge Platz weg! Diesmal habe ich für ein Windows 7 eine 18GB große Festplatte erstellt, wollte dann aber nach dem Installieren noch verschiedene große Programme installieren für die eben der Speicherplatz etwas knapp wurde. Daher musste ich die Festplatte vergrößern, wie das funktioniert erläutere ich im Folgenden. Dabei geholfen hat mir dieser Blogeintrag, der mittlerweile in einigen Kleinigkeiten veraltet ist.

Das weitere Vorgehen beschreibt eine Vergrößerung der virtuellen Festplatte auf einem Ubuntu 9.04 Host System und einem virtuellen Windows7-RC, laufend mit Virtualbox 2.1.4 OSE. Trotz allem sollte dies auch mit fast allen anderen Konstellationen funktionieren, einschließlich Linux Gast Systemen und neueren VirtualBox Versionen.

Bevor man irgendwas macht, sollte man die virtuelle Festplatte zur Sicherheit kopieren, damit man immer ein Backup zur Hand hat, falls irgendwas schief geht. Außerdem sollte keine virtuelle Maschine mehr laufen. Nun geht es Schritt für Schritt los:

Schritt 1) Man erstellt eine neue virtuelle Festplatte, die die gewünschte Größe hat. Dazu öffnet man VirtualBox, klickt dann auf Datei–>Manager für Globale Medien(Strg+D)–>Neu. Jetzt muss man noch alle Optionen für die neue Festplatte auswählen.

Schritt 2) Jetzt kann man die eben erstellte Festplatte in die entsprechende virtuelle Maschine einbinden. Dazu klickt man mit Rechtsklick auf die gewünschte Maschine und dann auf Ändern. Anschließend wählt man im Menü den Punkt Festplatte aus und fügt durch Klicken auf das „Plus“-Symbol am Rechten Rand die erstellte Festplatte hinzu. Am Besten stellt man diese dann direkt auch als Master und die alte Festplatte als Slave ein, damit am Schluss auch von der neuen gebootet wird.

Schritt 3) Jetzt bindet man eine Linux-Live CD zum booten als CD/DVD iso Abbild ein. Dabei ist es recht egal welche Distribution man nimmt, solange GParted und fdisk mit an Board sind. Außerdem ist eine kleine Grafische Oberfläche ganz Praktisch, aber kein Muss. Ich habe dafür die System Rescue CD genommen, die man hier downloaden kann. Aber wie gesagt es klappt auch mit jeder Ubuntu Live CD o.ä.! Nach dem Download bindet man das .iso Abbild in die virtuelle Maschine ein, dies geht im Änderungs-Menü von Eben unter dem Punkt CD-/DVD-Rom.

Startansicht RescueCD

Schritt 4)Jetzt startet man das System wieder und bootet von der Live-CD, falls das System nicht automatisch von der CD bootet muss man die Reihenfolge im Menü unter Allgemein–>Erweitert ändern. Nachdem wir von der CD gebootet haben sehen wir eine schöne Linux-Konsole vor uns. In diese gibt man dann


fdisk -l

ein. Dadurch sieht man welche Festplatte unter welchem Platz gemountet ist. Wenn man die beiden so wie oben beschrieben als Master und Slave eingefügt hat, sollte die neue Festplatte mit der gewünschten Größe /dev/sda sein und die alte Festplatte /dev/sdb sein.

Schritt 5)Nun kopieren wir den kompletten Inhalt der alten Festplatte auf die neue. Dies macht man durch folgenden Befehl:


dd if=/dev/sdb of=/dev/sda

Dabei ist die unter if angegebene Platte immer die von der gelesen wird und die unter of angegebene Platte die, auf welche man die Daten kopiert. Dies kann abhängig von der Menge an Dateien und der Geschwindigkeit der Festplatte einige Zeit dauern, da muss man dann einfach abwarten und Tee trinken. Naja Kaffee geht auch. 😉

Schritt 6)Nun stellt man nach dem Kopieren der Daten noch die neue Größe der Festplatte ein, denn bisher hat man ja beim Kopieren auch die alte Partitionstabelle übernommen, in der auch die alte Größe gespeichert war. Dies macht man mithilfe von einem Partitionstool. Normalerweise bietet sich hierfür gparted an. Die oben erwähnte Rescue CD bietet das auf einer Grafischen Oberfläche an. Dafür gibt man einfach


startx

ein und anschließend in das dann geöffnete Terminal


gparted

Nun kann man mit gparted die Größe der neuen Festplatte auf die eigentliche Größe anpassen und ist somit schon fast fertig.

Schritt 7)Jetzt fährt man die Live CD mithilfe von


shutdown -h now

herunter und überprüft dann nochmal ob man die neue Festplatte als Master festgelegt hat. Die alte Festplatte und das .iso Image trennt man wieder in den Optionen von der virtuellen Maschine. So dass nun nur noch die neue Festplatte eingebunden ist. Nun kann man das System wieder starten. Es bootet nun von der neuen Platte und merkt auch das sich die Festplatte verändert hat. Daher überprüft es am Anfang die Festplatte einmal. Dies dauert ein paar Minuten, aber wenn dabei keinerlei Fehler auftreten startet das Betriebssystem nun sauber und man kann die neue Plattengröße wunderbar nutzen.

Alles in allem geht diese Methode deutlich schneller und einfacher als das Ganze System neu zu installieren und man behält alle Daten und Einstellungen.

11 Kommentare zu “VirtualBox Festplatte vergrößern/verkleinern”


  1. DIDI sagt:

    Super! Genau das brauche ich, denn meine virtuelle HDD gammelt hier mit einem Tool rum, weil ich mich auch verschätzt habe. So kann ich heute Abend sie umschreiben und endlich mehr drauf nutzen =)

    Danke für diesen Tipp!


  2. matthias sagt:

    @DIDI: Das freut mich! gern geschehen 😉


  3. anrichter sagt:

    Mal etwas Eigenwerbung: Selbe vorgehen, nur mehr Bilder 🙂
    http://www.anrichter.net/blog/2009/03/12/virtualbox-vdi-vergrosern/


  4. DIDI sagt:

    Meine kann nicht booten, hab ich was falsch gemacht?!? Hab jetzt beide Versionen getestet


  5. anrichter sagt:

    Hast du vergessen, die Partition auf der neuen Platte zu aktivieren?


  6. DIDI sagt:

    So hab ich gemacht und da steht, wenn ich neu starte:

    Fehler beim Lesen des Datenträgers
    Neustart mit Strg+Alt+Entf

    Aber ich nutze auch Ubuntu 9.10 ALFA (wer weiß ob es daran liegt und VirtualBox-3.0_3.0.6-52128_Ubuntu_jaunty_i386


  7. anrichter sagt:

    Hm. Ich habe bisher mehrere virtuelle Platten mittels meiner beschriebenen Methode vergrößert und hatte nie Probleme. Keine Ahnung, wo Dein Fehler versteckt ist. Eventuell gehst du nochmal in Ruhe die Schritte durch.


  8. matthias sagt:

    nein ich denke nicht das es an der Ubuntu oder der virtualbox Version liegt.
    Eher gehe ich davon aus das beim Kopieren der Platte irgendwas schief gegangen ist, wenn du die alte Platte nioch hast, schau doch mal das die noch bootbar ist und mach dann die ganze Geschichte von neuem. Meiner Meinungnach müsste da beim Kopiervorgang was schief gegangen sein. Hast du für die neue Platte evtl. auf deiner realen Festplatte nicht mehr genug Platz?


  9. Christian sagt:

    Doch das liegt an Ubuntu – es verläßt sich drauf das die „UUID“ (die Kennung der Festplatte) die gleiche ist wie vorher, wenn nicht, dann kann es nicht booten. Und ne neue Festplatte (auch ne virtuelle) hat eine neue UUID (genau wie die Swappartition) – man muß dazu die /etc/fstab und die /boot/grub/menu.lst so anpassen das die Zahlenkolonnnen bei den UUIDS denen der neuen Platte entsprechen ( die UUID zeigt unter anderem gparted an mit nem Rechtsklick auf ne Partition => „Informationen“ )


  10. anrichter sagt:

    @Christian: *patsch* Klar. Wenn Ubuntu als Gastsystem läuft. Ich hatte immer Win als Gast im Hinterkopf, obwohl DIDI nie von Win geschrieben hat.


  11. DIDI sagt:

    Lange den Beitrag hier nicht mehr gefunden!

    Also ich nutze Ubuntu und lasse in der VirtualBox Windows laufen, wegen meinem iPhone, da iTunes 8 via Wine nicht unter Linux mehr laufen wollte.
    Ich hatte es geschafft Sie zu vergrößern, doch heute stehe ich wieder vor dem Problem und erinnerte mich an dieser Blog.

    Grüße DIDI

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>