it-swarm.com.de

Wie erhöhe ich die Festplattengröße der virtuellen Maschine?

enter image description here

Auf meiner virtuellen WinXP-Maschine ist nicht mehr genügend Speicherplatz vorhanden, für die 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? In den VirtualBox-Einstellungen wird keine offensichtliche Option angezeigt.


Der folgende Vorschlag gibt diesen Fehler an

[email protected]:/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 von VirtualBox vor dem Aufrufen des Befehls VBoxManage und dem erneuten Hinzufügen war erfolgreich. Aber jetzt kann ich die virtuelle Maschine nicht booten, ich bekomme diesen besorgniserregenden Bildschirm:

enter image description here

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


Die vdi muss nach dem Befehl VBoxManage erneut an VM angehängt werden. Außerdem muss die Größe der Partition in WITHIN-Fenstern geändert werden, da Sie diesen leeren Bereich haben:

enter image description here

Ich konnte die Größe der Partition mit der Freeware EASEUS Partition Master 9.1.0 Home Edition leicht ändern.

255
wim

Öffnen Sie ein Terminal und navigieren Sie zu dem Ordner mit dem VirtualBox-Image. Verwenden Sie dann den folgenden Befehl:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

ersetzen Sie YOUR_HARD_DISK und SIZE_IN_MB durch Ihren Bildnamen und die gewünschte Größe. Sudo ist möglicherweise auf einigen Computern erforderlich oder es tritt ein Fehler auf. Diese Antwort und eine ausführlichere Erklärung sind hier auf webupd8 . Dank an Andrew für das Posten dieser Antwort.

Nach der Größenänderung muss der zusätzliche virtueller Festplattenspeicher muss partitioniert und formatiert werden , damit der Gast ihn verwenden kann. Dies kann mit gparted geschehen, indem der Gast von einer Live-ISO gebootet wird. Wir können auch die Größe der vorhandenen Partition mit gparted ändern. Dazu müssen wir möglicherweise /swap deaktivieren und eine neue Swap-Partition erstellen.

323
Tom Brossman

Folgendes hat für mich funktioniert:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Ich verstehe jedoch, wie die Laufleistung variieren kann :-) In Bezug auf die Größenänderung der Partition konnte ich in Windows 7 die Größe des angezeigten Bildschirms ändern, indem ich mit der rechten Maustaste auf das Laufwerk C: im unteren Bereich klickte und die Option zum Erweitern des Volumens auswählte.

Computer management screen

24

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 versuchen Sie es noch einmal.

17
tiempjuuh

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

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

Ein Fenster öffnet sich: enter image description here

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

Nachdem Sie die virtuelle Maschine gestartet haben, erkennt Windows den neuen Speicherplatz nicht .

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

11
lenooh

Nachdem ich die Größe geändert hatte und die Größenänderung auf meinem Windows XP -Gastcomputer nicht mehr sehen konnte, musste ich

  1. klone es
  2. ändern Sie die Größe mit "VBoxManage modifyhd winxppro\Clone.vdi --resize 30720" und alles funktionierte

In anderen Foren habe ich festgestellt, dass sich Snapshots störend auf die Größenänderung auswirken können und nicht alle Snapshots aufgrund von Fehlern entfernen können. Die einzige für mich gefundene Lösung bestand darin, sie zu klonen, um die Snapshots zu entfernen und dann die Größe zu ändern, und alles funktionierte. Zum Ändern der Größe außerhalb von Fenstern kann eine gparted-Boot-CD hilfreich sein, die hier zu finden ist

9

Ich hatte das gleiche Problem, als ich eine Festplatte verschoben und das Original durch einen Symlink ersetzt hatte. Dies funktioniert danach in Ordnung, aber Sie haben Probleme mit dem Befehl 'modifyhd', da dies anscheinend den Pfad zur VDI-Datei kanonisiert, wenn Sie damit arbeiten. Es sieht also so aus, als würden Sie versuchen, einen neuen Datenträger mit derselben UUID, jedoch unter einem anderen Pfad hinzuzufügen - oder so ähnlich.

Es gab zwei Probleme:

  1. Der Datenträger musste aus dem VM entfernt werden, der ihn verwendete, dann aber auch "aus der VirtualBox-Liste der Festplatten". Dies wurde mit dem Befehl 'closemedium' behoben, der es von dieser Liste entfernt.

  2. Die zu ändernde Festplatte war eine "Festplatte" anstelle von "dynamisch", und nur dynamische Festplatten können geändert werden. Dies wurde mit einem "Klon" -Befehl behoben (der Klon ist dynamisch), und ändern Sie dann die Größe der resultierenden Festplatte.

Dies ist mein Protokoll, wie es gemacht wurde. Beachten Sie, dass ich zu keinem Zeitpunkt als root ausgeführt werde, es sei denn, ich ändere anschließend die Größe der Partition und des Dateisystems.

ENTFERNEN SIE DIE ASSOZIATION VON VM ZU DISK.

PROBLEM STILL PERSISTS:

[email protected]:~/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 Festplatte ist noch "im System":

[email protected]:~/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 die Festplatte aus der VirtualBox-Festplattenliste ("closemedium"):

[email protected]:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
[email protected]:~/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 es erneut:

[email protected]:~/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!

VERDAMMT, "feste Größe" FUNKTIONIERT NICHT! Zur Rettung "klonen", da eine "dynamisch zugewiesene" geklonte Festplatte übrig bleibt:

[email protected]:/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 MACHEN SIE DIE GRÖSSENÄNDERUNG (augenblicklich):

[email protected]:/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 AN EINIGE VM ANHÄNGEN, UM DIE GRÖSSE ZU ÄNDERN. Dies erfolgt als Root. Vorausgesetzt, Sie haben nur eine Partition und tauschen diese möglicherweise aus.

# 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
stolsvik

Dies funktionierte für mich mit Virtualbox 5.2.6 auf Ubuntu 16.04 Host Machine und Windows 10 Guest: Öffnen Sie Virtualbox Manager, klicken Sie auf Global Tools (obere rechte Ecke) und wählen Sie Virtual Media Manager. Klicken Sie auf die Registerkarte Festplatte und wählen Sie Ihr Gastbetriebssystem aus. Klicken Sie unten im Feld auf die Registerkarte Attribute. Unten sehen Sie die Größe der virtuellen Festplatte, und mit dem Schieberegler können Sie die Größe nach Ihren Wünschen erhöhen. (Mit dieser Methode können Sie die Größe nur vergrößern, nicht verkleinern.) Klicken Sie auf Übernehmen. Starten Sie Ihr Windows-Gastbetriebssystem, öffnen Sie die Computerverwaltung, klicken Sie mit der rechten Maustaste auf das Laufwerk C: und wählen Sie Volume erweitern, um das Dateisystem mit dem nicht zugewiesenen Teil zu erweitern.

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

3
Judex

Stellen Sie sicher, dass Sie als Benutzer mit Schreibrechten für die Disk-Image-Datei angemeldet sind. Dann renne

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

Hat bei mir beim ersten mal nachgefragt

1
tindase

Wenn Ihr Host-Computer Windows ist, können Sie den folgenden Befehl ausführen, um die Größe der VDI-Festplatte in der virtuellen Box zu erhöhen oder zu verringern:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Users\your_user_name\VirtualBox VMs\Ubuntu18LTS\Ubuntu18LTS.vdi" --resize 20000

Ersetzen Sie im obigen Befehl Ihr_Benutzername durch den tatsächlichen Windows-Benutzer und 20000 ist MB Festplattengröße.

1
Manish Jangir

Ich habe den gleichen Fehler erhalten, bis ich Sudo zum Ausführen des Befehls verwendet habe, dann einwandfrei gearbeitet habe und immer noch eine Partition innerhalb des Gasts haben muss, um zusätzlichen Speicherplatz zu nutzen.

1
JJinCO

Ein sicherer Weg ist, dasselbe zu tun wie auf eine größere Festplatte, die nicht in einer VM ausgeführt wird. Verwenden Sie zuerst ccleaner oder ein ähnliches Programm in XP, um alle Junk-Dateien zu bereinigen, die es kann. Erstellen Sie dann eine sekundäre virtuelle Festplatte mit der gewünschten Größe. Booten Sie mit der Clonezilla-ISO in Ihrem virtuellen ODD Laufwerk und klonen Sie mit der ausgewählten Option "Größe auf neue Partitionsgröße anpassen". Legen Sie dann die neue virtuelle Festplatte als primäre Festplatte fest und löschen Sie die alte erst, wenn Sie wissen, dass sie funktioniert hat.

1
xyzzyman

Tatsächlich scheint es, dass modifyhd Ihnen in einigen Fällen allein nicht gut tut. Ich habe meine WinXP-VDI tatsächlich erweitert, indem ich das Image nach der Erweiterung geklont habe.

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

0
0x61696f

Hier finden Sie eine Möglichkeit, die Größe Ihrer VirtualBox-Festplatte zu ändern, unabhängig davon, ob es sich um eine Festplatte mit festem oder dynamischem Format handelt. Insbesondere wird dieser Fehler verhindert:

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

⚠️ Sichern Sie die virtuelle Festplatte. Sie wissen nie, was schief gehen könnte.

Auf Ihrem Host:

  1. Öffnen Sie ein Terminalfenster.

    Unter Windows: Öffnen Sie den Befehl Eingabeaufforderung cmd.

  2. Wechseln Sie in das Verzeichnis mit der virtuellen Festplatte, deren Größe Sie ändern möchten. Zum Beispiel:

    cd "My VMs"
    
  3. Erstellen Sie eine neue VirtualBox-Festplatte mit dem gewünschten Dateinamen, der gewünschten Größe (in Megabyte) und dem gewünschten Format (entweder Standard (dynamisch) oder Fixed). So erstellen Sie beispielsweise eine Festplatte mit festem Format von 50 GB mit dem Namen MyNewDisk.vdi:

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
    

    Wenn VBoxManage nicht als Befehl erkannt wird, geben Sie den vollständigen Pfad dazu an. Es befindet sich im Installationsverzeichnis von VirtualBox. Unter Windows würde der obige Befehl folgendermaßen lauten:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
    
  4. Kopieren Sie den Originaldatenträger auf den neuen Datenträger.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
    
  5. Die Größenänderung ist fertig! Sie können die Eigenschaften der neuen Festplatte überprüfen, wenn Sie Folgendes möchten:

    VBoxManage showmediuminfo "MyNewDisk.vdi"
    
  6. Ändern Sie die virtuelle Maschine, um stattdessen die neue Festplatte zu verwenden.

Als Nächstes müssen Sie auf Ihrem Gastbetriebssystem die Größe der Partitionen ändern, um den neu verfügbaren Speicherplatz zu nutzen.

Für diejenigen, die Windows auf einer VHD haben, wie ich es getan habe, konvertieren Sie zuerst zu VDI, indem Sie mit dem folgenden Linux-Befehl klonen. (Beachten Sie, dass Windows VM ausgeschaltet ist.)

VBoxManage clonehd Windows10.vhd Windows10.vdi --format vdi

Dies wird den vhd duplizieren.

Dann kann die Größe des VDI wie folgt geändert werden. Beachten Sie, dass der VDI erst nach seiner Verwendung tatsächlich wächst.

VBoxManage modifyhd Windows10.vdi --resize 80000

Nach dem Reparieren der Speicherbereitstellung in der Host-Software VM und dem Einschalten der VM wird Windows gestartet, die Partition hat jedoch weiterhin dieselbe Größe. Google für ein Windows-Tool, mit dem die Größe der C-Laufwerkpartition geändert werden kann. Ich habe EaseUs Partition Master verwendet, um die C-Laufwerkpartition auf meine neue Größe zu vergrößern.

Schließlich kann die VHD gelöscht werden.

0
jws