Frage Wie kann ich die Festplattengröße der virtuellen Maschine erhöhen?


enter image description here

Ich habe auf meiner virtuellen WinXP-Maschine den Speicherplatz knapp, dem ich bei der Erstellung nur 10 GB Speicherplatz zur Verfügung gestellt habe. Gibt es eine einfache Möglichkeit, es auf beispielsweise 20 GB zu erhöhen? Ich kann keine offensichtliche Option in den VirtualBox Einstellungen sehen.


Der folgende Vorschlag gibt diesen Fehler an

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

Das Entfernen der .vdi-Datei aus VirtualBox vor dem Aufrufen des VBoxManage-Befehls und anschließendes erneutes Hinzufügen war erfolgreich. Aber jetzt kann ich die virtuelle Maschine nicht booten, ich bekomme diesen beunruhigenden Bildschirm:

enter image description here

Übrigens sagt es FATAL: Could not read from the boot medium! System halted.


Der VDI muss nach dem VBoxManage-Befehl erneut an die VM angefügt werden. Außerdem muss die Größe der Partition von WITHIN-Fenstern geändert werden, da Sie diesen leeren Platz haben werden:

enter image description here

Ich konnte die Partition leicht ändern, indem ich ein bisschen Freeware namens EASEUS Partition Master 9.1.0 Home Edition.


232
2017-12-18 11:51


Ursprung


Ihr Problem besteht darin, dass Sie den Datenträger mit einem "/ media / data" -Standort verknüpft haben und sich nicht auf dem ursprünglichen Speicherort der / home / wim / VirtualBox-VMs befinden. Ich habe geantwortet, wie ich das behoben habe. - stolsvik
Ich habe meine Erfahrung hier ausführlich beschrieben: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   die "akzeptierte" Antwort unten ist weit davon entfernt, sogar richtig zu sein. - kmonsoor
Es gibt eine weitere Möglichkeit, "das vorhandene VDI zu kopieren" in ein "neues leeres vdi, dessen Größe größer ist als das justintung.com/2011/01/06/ ... ) - parasrish
Beachten Sie auch, dass die Größenanpassung nicht hilfreich ist, da die "vdi" -Größe zugenommen hätte, aber basierend auf der "vm-os-installation" bleibt Ihre primäre Partition gleich und der neu zugewiesene Speicherplatz wird normalerweise als "nicht zugewiesen" angezeigt ". Sie müssen daher die "Partition Re-Allocation" tun (siehe den obigen Link). - parasrish


Antworten:


Öffnen Sie ein Terminal und navigieren Sie zu dem Ordner mit dem VirtualBox-Image, und verwenden Sie den folgenden Befehl:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

ersetzen YOUR_HARD_DISK und SIZE_IN_MB mit Ihrem Bildnamen und der gewünschten Größe. sudo ist möglicherweise in einigen Computern erforderlich oder es tritt möglicherweise ein Fehler auf. Diese Antwort und eine ausführlichere Erklärung sind hier, auf webupd8. Kredit an Andrew dort für das Posten dieser Antwort.

Nach der Größenänderung, das Extra Der Speicherplatz der virtuellen Festplatte muss partitioniert und formatiert werden für den Gast, es zu benutzen. Dies kann mit gparted erfolgen, indem der Gast von einer Live-ISO gebootet wird. Wir können die Größe der vorhandenen Partition auch mit gparted ändern. Dafür müssen wir möglicherweise deaktivieren /swap und erstellen Sie eine neue Swap-Partition.


298
2017-12-18 12:07



+1. Habe dies nur benutzt, um die Größe meiner Windows 7-Disk von 20 auf 30 GB zu erhöhen, und es funktionierte sehr reibungslos (keine Registrierung erforderlich usw.). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  Zunächst hat Windows den erhöhten Speicherplatz nicht erkannt, aber nach einem Poweroff-Vorgang konnte ich das integrierte Tool zur Datenträgerverwaltung verwenden, um die Größe meiner C: -Partition zu erhöhen. - Jonik
+1, Dies ist sicherlich der sauberste Weg, es zu tun. - Starx
@asd Das Ändern der Festplattengröße ist nicht genug, Sie müssen auch die Größe der Partition ändern. - Bruno
DAS WIRD FUNKTIONIEREN! Sie müssen jedoch die Partition erhöhen, nachdem Windows den neuen Speicherplatz registriert hat. Beste und schnellste / einfachste Methode: howtogeek.com/howto/windows-vista/... - tfont
Ich denke in den letzten Versionen von VirtualBox ist es .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 jetzt. modifyhd funktioniert aber auch - es gibt eine Abwärtskompatibilität zu älteren Befehlen. - TranslucentCloud


Folgendes funktionierte für mich:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Allerdings verstehe ich, wie die Laufleistung variieren kann :-) Was die Größenänderung der Partition angeht, konnte ich in Windows 7 die Größe auf dem Bildschirm, den Sie zeigten, ändern, indem Sie mit der rechten Maustaste auf die Partition klicken C: fahren Sie in der unteren Leiste und wählen Sie Lautstärke erweitern.

Computer management screen


23
2018-04-15 11:53



sudo ist nicht notwendig. Es kann Berechtigungen in Ihrem Basisverzeichnis beschädigen, die Sie verwenden müssen sudo für virtualbox, das ist a Schlecht Idee. - Lekensteyn
@Lekensteyn: Gut zu wissen, dass es nicht notwendig ist. Ich habe es benutzt, weil andere gesagt haben, dass es nicht funktioniert, ohne Root zu sein. Soweit Erlaubniskorruption gehen, funktioniert chmod gut, um solche Fehler zu beheben. - Richard Povinelli
@Lekensteyn: Chown wird Eigentumsfehler beheben. Ich erwähne chmod und chown, weil ich das Problem beheben musste, auf das Sie oft verweisen :-) - Richard Povinelli
Dies ist ideal für Windows, aber wenn Sie ein Linux-Gastbetriebssystem haben, kann dieser Link helfen, die Partitionen zu ändern: forum.virtualbox.org/viewtopic.php?f=35&t=50661 - Jon
Wenn Sie Windows innerhalb von Linux ausführen, müssen Sie diesen Optionen folgen und die Festplatte erweitern, sonst fügen Windows den zusätzlichen Speicherplatz, den wir hinzugefügt haben, nicht hinzu - Ajith R Nair


Wim, ich denke, du musst es zuerst von Vbox abmelden. Datei, Media Manager, Klicken Sie auf Ihre Festplatte, und heben Sie die Registrierung auf. Dann versuche es noch einmal.


17
2017-12-19 11:40



Unter Linux in VirtualBox nicht erforderlich. Ich musste das Gastbetriebssystem zuerst komplett herunterfahren. - Underverse


Nach der Größenanpassung und nicht in der Lage, die Größenanpassung auf meinem Windows XP-Gastcomputer zu sehen, musste ich

  1. klonen Sie es
  2. Größe ändern mit "VBoxManage modifizierenhd winxppro \ Clone.vdi --resize 30720" und alles hat funktioniert

Ich habe in anderen Foren gesehen, dass Snapshots die Größe ändern können und nicht alle Snapshots für verschiedene Fehler entfernen können. Die einzige Lösung für mich war, sie zu klonen, um die Snapshots zu entfernen und dann die Größe zu ändern, und alles hat funktioniert. Zum Ändern der Größe von Fenstern außerhalb des Fensters, eine gparted Boot-CD, die gefunden werden kann Hier kann helfen


7
2018-05-28 11:11





Ich hatte das gleiche Problem, wo ich einen Datenträger verschoben und das Original durch einen Symlink ersetzt hatte. Das funktioniert danach OK, aber Sie haben Probleme mit dem 'modifyhd'-Befehl, da dieser offensichtlich den Pfad zur vdi-Datei kanonisiert, wenn Sie damit arbeiten. Das sieht so aus, als ob Sie versuchen, einen neuen Datenträger mit der gleichen UUID hinzuzufügen, aber auf einem anderen Pfad - oder so ähnlich.

Es gab zwei Probleme:

  1. Der Datenträger musste von der VM entfernt werden, auf der er verwendet wurde, aber auch "aus der VirtualBox-Liste von Festplatten". Dies wurde mit dem Befehl 'closemedium' behoben, der es aus der Liste löscht.

  2. Die Größe der Festplatte, die geändert werden soll, ist eine "Festplatte" anstelle von "dynamisch", und nur dynamische Festplatten können in der Größe geändert werden. Dies wurde mit einem 'clone' Befehl behoben (der Klon ist dynamisch), und dann die Größe der resultierenden Platte ändern.

Dies ist mein Protokoll für das, wie es gemacht wurde. Bemerke, dass ich es bin nicht zu irgendeinem Zeitpunkt läuft als root, außer wenn ich später die Größe der Partition und des Dateisystems ändere.

ENTFERNEN SIE DIE ASSOZIATION VON VM AUF DIE DISK. 

PROBLEM NOCH PERSISTENT:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

Ah, die Platte ist immer noch "im System":

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

Entfernen / löschen Sie den Datenträger aus der VirtualBox-Datenträgerliste ("closemedium"):

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

Versuchen Sie die Größe erneut zu ändern:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

DAMN, "Fixed-Size" funktioniert nicht! 'klonehd' zur Rettung, da dies eine 'dynamisch zugewiesene' geklonte Platte übrig lässt:

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

JETZT DAS RESIZE (momentan):

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

DANN BEFINDEN SIE SICH AN EINIGE VM, FÜR RESISIERUNG. Dies geschieht als root. Nimmt an, dass Sie nur eine Partition haben und möglicherweise tauschen.

# fdisk /dev/sdb  # <- The extra disk, just attached to be resized
// The procedure looks like this:
// m - print help
// p - print table
// d ... - delete partition (delete both if you have root and swap)
// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)
//  ... n.. (.. then add the swap partition. Calculate how many sectors using original table)
// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").
// w - write partition table (write out, with the resized partition)

# e2fsck -f /dev/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.
The filesystem on /dev/sdb1 is now 1965824 blocks long.

5
2018-04-09 12:01



Dies funktionierte für mich, folgte dem Leitfaden hier: yinfor.com/2015/05/... - marijnz0r


Dies funktionierte für mich mit Virtualbox 5.2.6, die auf Ubuntu 16.04 Host Machine und Windows 10 Guest installiert war: Öffnen Sie Virtualbox Manager, klicken Sie auf Globale Tools (oben rechts) und wählen Sie Virtual Media Manager. Klicken Sie auf die Registerkarte Festplatte und wählen Sie Ihr Gastbetriebssystem aus. Am unteren Rand der Box klicken Sie auf die Registerkarte Attribute. Unten sehen Sie die Größe des virtuellen Laufwerks und mit dem Schieberegler können Sie die Größe nach Belieben vergrößern. (Sie können nur erhöhen, nicht die Größe mit dieser Methode verringern). Klicken Sie auf Übernehmen. Starten Sie Ihr Windows-Gastbetriebssystem, öffnen Sie die Computerverwaltung, klicken Sie mit der rechten Maustaste auf Laufwerk C: und wählen Sie Volume erweitern, um das Dateisystem mit dem nicht zugeordneten Teil zu erweitern.

Das war alles was ich tun musste, funktioniert perfekt für mich.


2
2018-01-24 17:55



Hat super funktioniert. Sollte das nicht die akzeptierte Antwort sein, zumindest für die neuesten Versionen von VirtualBox? - AlwaysLearning


Eine sicherere Methode besteht darin, dasselbe auf eine größere Festplatte zu übertragen, die nicht auf einer VM ausgeführt wird. Verwenden Sie zuerst ccleaner oder ähnliches Programm in XP, um alle Junk-Dateien zu bereinigen, die es können. Erstellen Sie dann eine sekundäre virtuelle Festplatte der gewünschten Größe. Booten Sie mit dem ISO-Clonezilla in Ihrem virtuellen ODD-Laufwerk und klonen Sie zusammen mit der ausgewählten Option 'Größe auf neue Partitionsgröße anpassen'. Stellen Sie dann die neue virtuelle Festplatte als primäre Festplatte ein und löschen Sie die alte nicht, bis Sie wissen, dass sie funktioniert.


1
2017-12-19 14:03





Ich habe den gleichen Fehler erhalten, bis ich sudo benutzt habe, um den Befehl auszuführen, dann funktionierte es perfekt, aber ich musste immer noch eine Partition innerhalb des Gastes erstellen, um zusätzlichen Speicherplatz zu nutzen.


1
2018-02-01 09:34



Einige Leute haben berichtet, dass dies dazu führt, dass das Home Dir schlechte Berechtigungen hat - Jonathan


In der Tat scheint es so modifyhd alleine tut dir in manchen Fällen nicht gut. Ich habe meinen WinXP VDI sogar erweitert, indem ich das Image nach der Expansion geklont habe.

Hier ist der vollständige Schritt-für-Schritt-Leitfaden, der für mich vor ein paar Wochen funktionierte: http://libtronics.com/2011/07/resize-virtualbox-disk-for-winxp-guest/


1
2018-05-01 19:25



Kannst du bitte die Schritte hier erklären? Antworten mit wenig mehr als einem Link zu einer anderen Website sind hier in der Regel verpönt, und kann gelöscht werden. - Tom Brossman
Nun, Sie müssen verstehen, was Modifyhd tut, das ist nicht viel mehr als die Erweiterung der zugrunde liegenden virtuellen Festplatte, das ist alles. Sie müssen das Dateisystem, das sich darauf befindet, noch erweitern. - Marcin Kaminski


Stellen Sie sicher, dass Sie als Benutzer mit Schreibberechtigungen für die Datenträgerabbilddatei angemeldet sind. Dann renne

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

Arbeitete für mich zum ersten Mal zu fragen


1
2018-03-26 22:53



Musstest du neu installieren / neuformatieren? oder hat es gerade wieder hochgefahren? - Jonathan


Sie können dies auch über das VirtualBox-Menü tun:

Wählen File -> Virtual Media Manager ...

Ein Fenster öffnet sich: enter image description here

Wählen Sie Ihre Festplatte aus und wählen Sie Properties. Bewegen Sie nun den Schieberegler ganz nach unten.

Nachdem Sie die virtuelle Maschine gestartet haben, wird Windows nicht erkenne den neuen Raum.

Öffnen Computer Management (suchen Sie im Startmenü nach), wählen Sie Storage -> Disk Management im linken Menü. Wählen Sie Ihre Partition (wahrscheinlich C :), klicken Sie mit der rechten Maustaste darauf und wählen Sie Extend Volume .... Jetzt klicken Sie einfach durch den Assistenten und Sie sind fertig.


1
2017-07-06 12:36