it-swarm.com.de

Warum kann ich eine dynamische VDI mit dem Befehl modifyhd nicht in der Größe ändern?

Ich sehe hier Wie erhöhe ich die Festplattengröße der virtuellen Maschine .

Es sollte mit einem Befehl wie funktionieren

VBoxManage modifyhd xp.vdi --resize 2000

Wenn das VDI eine feste Größe hat, können Sie diesen Fehler erhalten:

~/VirtualBox VMs/xp$ VBoxManage modifyhd xp.vdi --resize 2000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Die Diskussion und Lösung dafür ist hier .

Aber ich bekomme diesen Fehler, während mein VDI dynamisch ist

~/VirtualBox VMs/xp$ VBoxManage showhdinfo xp.vdi
UUID:           8880dc58-cd0c-4ffb-a583-f8dd50eda98e
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/cip/VirtualBox VMs/xp/xp.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       8192 MBytes
Size on disk:   4693 MBytes
In use by VMs:  xp (UUID: e2b70963-3c26-41cf-88f6-4e03ca721e2d)

Warum ist das so?

27
user47206

Für die Verwendung von VBoxManage modifyhd gelten folgende Einschränkungen:

  • Laufwerke müssen im VDI- oder VHD-Format vorliegen.
  • Laufwerke müssen im dynamischen Format vorliegen und dürfen nicht fest sein (eine Festplatte kann durch Erstellen eines Klons in ein dynamisches Format konvertiert werden).
  • Die Laufwerkgröße wirkt sich nur auf die logische Größe aus, nicht auf die physische Größe.
  • Es ist nicht möglich, ein Laufwerk auf die physische Größe oder darunter zu verkleinern.
  • Für Verkleinerung der physischen Größe müssen wir nicht genutzten Speicherplatz mit 0 füllen.
  • Ein Windows-VDI muss möglicherweise defragmentiert werden, bevor seine physische Größe verringert werden kann.

Im obigen Beispiel wurde versucht, die Größe eines dynamischen Datenträgers mit einer physischen Größe von 4693 MB auf 2000 MB zu ändern, was nicht möglich ist. Daher der Fehler.

25
Takkat

Diese Problemumgehung hat bei mir funktioniert:

  1. Maschine ausschalten
  2. Erstellen Sie über die Admin-Oberfläche ein neues Laufwerk mit der gewünschten Größe
  3. Verwenden Sie VBoxManage clonemedium mit dem --existing -Flag

    VBoxManage clonemedium <source-guid> <destinatin-guid> --existing
    

Hinweis : Der neue Datenträger verfügt nun über nicht zugewiesenen überschüssigen Speicherplatz, und Sie müssen gparted verwenden, um die Größe auf das Maximum zu erweitern.

Ich bin mir nicht sicher, warum die VirtualBox-Leute das nicht nutzen konnten, um dies zu implementieren, anstatt VBOX_E_NOT_SUPPORTED... zumindest einen Link dazu zu werfen :)

21
ripper234

Hier ist der gesamte Prozess, ich werde versuchen, so detailliert wie möglich zu sein

  1. Stellen Sie sicher, dass sich der Computer, dessen Größe Sie vergrößern möchten, im Status "Herunterfahren" befindet (nicht im Status "Gespeichert" oder in einem anderen Status).

In meinem Fall handelt es sich um eine Maschine mit einer Größe von 32 GB, die als SMALL VM bezeichnet wird

  1. Erstellen Sie eine neue virtuelle Maschine mit der neuen gewünschten Größe

In meinem Fall Ich habe beschlossen, eine neue virtuelle Maschine mit 70 GB zu erstellen und gleichzeitig den Inhalt der kleinen Maschine in dieser neuen VM wiederherzustellen und ich werde dies als GROSSE VM bezeichnen =

  1. Führen Sie den Befehl VBoxManage list hdds aus oder öffnen Sie den Virtual Media Manager, um den GUID des SMALL VM (Origin) und auch den _ zu erhalten.GUID von LARGE VM (Ziel)

Mit diesen GUIDs erstellen Sie den folgenden Befehl

VBoxManage Clonemedium SMALL_VM_GUID LARGE_VM_GUID - vorhanden

In meinem Fall ist Origin - SMALL VM: 9143127-42b6-478a-afb2-5e58f14218b

In meinem Fall ist DESINATION - LARGE VM: bb808b5b-b88c-49b2-a646-3414af906d84

Natürlich werden Ihre GUIDs anders sein als meine

Stellen Sie sicher, dass Sie die GUIDs nicht invertieren, da sonst die brandneue Maschine den Inhalt Ihrer vorhandenen Maschine ersetzt !!!!

Nachdem Sie sichergestellt haben, dass Sie Origin nicht mit dem Ziel gemischt haben, führen Sie den folgenden Befehl aus:

$ VBoxManage Clonemedium 39143127-42b6-478a-afb2-5e58f14218b2 bb808b5b-b88c-49b2-a646-3414af906d84 - vorhanden

0% ... 10% ... 20% ... 30% ... 40% ... 50% ... 60% ... 70% ... 80% ... 90% ... 100%

Klonen Sie das Medium, das im Format 'VDI' erstellt wurde. UUID: bb808b5b-b88c-49b2-a646-3414af906d84

  1. Starten Sie die neue LARGE VM, die Sie in Schritt 2 erstellt haben.

  2. Überprüfen Sie im Fenster "Computerverwaltung", ob der Computer tatsächlich mehr unbenutzten/unformatierten Speicherplatz hat

  3. Wenn Sie es vorziehen, können Sie "chkdsk" auf dem Laufwerk C ausführen, um sicherzustellen, dass alles bereit ist (dies kann zwei Neustarts auf der LARGE VM erforderlich machen.)

  4. Fügen Sie mithilfe von gparted-live * .iso "es" in die neue virtuelle Maschine ein und starten Sie sie neu

  5. Booten Sie in die gparted-Umgebung

  6. Erweitern Sie Ihre Partition und speichern Sie die Änderungen

  7. "Wirf" gparted-live * .iso aus, um Windows erneut zu starten

  8. Überprüfen Sie im Fenster "Computerverwaltung", ob die Maschine jetzt über ein größeres Laufwerk C verfügt, um Ihre Probleme mit dem Spece zu lösen

Ich hatte die Screenshots dieses Prozesses, habe mich aber entschieden, sie nicht einzuschließen, da dies meine Antwort auf die großen und einschüchternden Fragen von Leuten ist, die es "eilig" haben, freien Speicherplatz auf ihrer virtuellen Windows-Maschine zu erhalten