561 Stimmen

So ändern Sie die Größe einer VirtualBox vmdk-Datei

Ich habe keinen Platz mehr auf der Festplatte einer virtuellen Maschine, die eine vmdk ist, und muss die Größe des virtuellen Abbilds ändern. Ändern der Größe mit dem Befehl

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

gibt den Fehler

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

Wie kann ich die Größe eines vmdk-Images ändern?

23voto

David Ehrmann Punkte 7006

Da es sich um eine vmdk-Datei handelt, können Sie das VMWare-Programm vdiskmanager wenn es für Ihre Plattform verfügbar ist. VMWare hat x86-Versionen für Linux, Windows und OS X aquí (siehe "Anhänge" in der rechten Leiste).

Und dann tut man es einfach:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

Dadurch wird vermieden, dass die Festplatte geklont und dann erweitert werden muss. Der Nachteil ist, dass Sie ein zusätzliches Tool benötigen, und vmdk ist das Festplattenformat von VMWare, und Sie verwenden immer noch Virtualbox, also könnte es Inkompatibilitäten geben.

qemu-img könnte auch funktionieren, aber ich bin nicht sicher, ob es die Größenänderung von vmdk-Dateien unterstützt. Es würde in etwa so aussehen:

qemu-img resize Machine-disk1.vmdk +8G

Und nur zur Erinnerung: Bei beiden müssen Sie die Partition nach der Größenänderung der darunter liegenden Festplatte noch vergrößern. All diese Werkzeuge sind im Wesentlichen dd if=/dev/old_disk of=/dev/new_disk bs=16M .

18voto

Ako Punkte 918

Ich habe alle hier genannten Lösungen ausprobiert, aber nichts schien zu funktionieren. Nach stundenlangem Suchen fand ich dies Blog Post und wie von Zauberhand funktioniert alles. Ich musste kleine Anpassungen vornehmen, daher hier die geänderte Version. Getestet mit Docker Version 17.06.0-ce, Build 02c1d87.

Wenn Entwickler erst einmal damit beginnen, ihre Anwendungen in Container zu verpacken, erzeugen sie oft eine große Anzahl von Images und füllen schnell den 20 GB großen Festplattenspeicher, der der virtuellen Docker-Maschine standardmäßig zugewiesen ist. Um sicherzustellen, dass die virtuelle Docker-Maschine über ausreichend Festplattenspeicher verfügt, sollten wir die Größe von /dev/sda1 auf eine angemessenere Zahl ändern.

  1. Herunterladen GParted Live CD/USB/HD/PXE Bootfähiges Image .

  2. Anhalten der virtuellen Docker-Maschine docker-machine stop default .

  3. Das Boot2Docker-Installationspaket wird mit einem VMDK-Volume ausgeliefert, dessen Größe mit den nativen Tools von VirtualBox nicht verändert werden kann. Um die Größe des Docker-Diskvolumens zu ändern, klonen Sie zunächst das VDI-Volumen vom Standard-VMDK-Volumen vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard .

  4. Ändern Sie die Größe des neu geklonten VDI-Volumes auf die gewünschte Kapazität. Wir empfehlen mindestens 64 GB. vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB> .

  5. Starten Sie die Anwendung VirtualBox, wählen Sie default VM und klicken Sie oben auf das Zahnrad "Einstellungen". VirtualBox Manager

  6. Klicken Sie auf das Symbol "Speicher". Entfernen Sie das Standard-VMDK-Volume. enter image description here

  7. Fügen Sie einen neuen IDE-Controller hinzu. IDE controller

  8. Binden Sie das GParted ISO über die Option "CD/DVD-Gerät hinzufügen" ein. Add CD/DVD Device

  9. Mounten Sie das geklonte VDI-Volume über die Option "CD/DVD-Gerät hinzufügen". Mount volume

  10. Wenn Sie Docker auf einem Computer mit einer Solid-State-Festplatte ausführen, vergewissern Sie sich, dass die Option "Solid-State Drive" für das geklonte VDI-Volume ausgewählt ist. Solid-state Drive

  11. Klicken Sie auf das "Start"-Symbol, um die virtuelle Docker-Maschine zu starten, wodurch das GParted-ISO gestartet wird. Wählen Sie "GParted Live (Standardeinstellungen)". GParted Live (Default settings)

  12. Setzen Sie die Richtlinie für die Behandlung von Tastaturbelegungen auf "Tastaturbelegung nicht berühren". keymaps

  13. Setzen Sie die Spracheinstellung auf die Option "33", was "US-Englisch" entspricht. US English

  14. Wählen Sie die Option "1", um "Forcevideo" auszuführen und X manuell zu konfigurieren. Forcevideo

  15. Behalten Sie die Standardauflösung von "1024×760" bei, indem Sie die Option "2" wählen. 1024×760

  16. Behalten Sie die Standardeinstellung "vesa" als VGA-Karte bei. Leave blank if default is desired

  17. Behalten Sie die Standard-Farbtiefe von "24" bei, indem Sie die Option "0" wählen. Colour depth

  18. Sobald GParted gestartet ist, klicken Sie auf das Symbol "Größe ändern/verschieben". GParted

  19. Stellen Sie die Größe des neuen Datenträgers auf die gewünschte Größe ein, indem Sie den Schieberegler ziehen. In diesem Beispiel beträgt die maximale Größe 127.035 MB. Klicken Sie auf die Schaltfläche "Größe ändern/verschieben", um den Vorgang zu starten. Disk volume size

  20. Bestätigen Sie die Größenänderung, indem Sie auf die Schaltfläche "Übernehmen" klicken. Bake it

  21. Schalten Sie das Gerät aus, wenn die Größenänderung abgeschlossen ist. Hard reset, np :)

  22. Entfernen Sie das GParted-ISO. Your almost done

  23. Melden Sie sich bei der virtuellen Docker-Maschine an, um zu überprüfen, ob die Größenänderung des Volumes erfolgreich war, indem Sie die Maschine docker-machine start default

  24. Wenn Sie Netzwerkprobleme haben, starten Sie die docker-machine neu

15voto

micwallace Punkte 479

Sie können den Vmware Player verwenden, um die Größe einer vmdk zu ändern. Damit entfällt die in anderen Beiträgen erwähnte Hin- und Her-Konvertierung, wenn Sie das vmdk-Format beibehalten wollen. Stellen Sie nur sicher, dass Sie beim Hinzufügen der vmdk in Vmware nicht auf Format aktualisieren klicken, wenn Sie dazu aufgefordert werden, sondern das aktuelle Format beibehalten, falls VirtualBox es nicht akzeptiert.

11voto

Londeren Punkte 3044

Para Schrumpfung Bildgröße verwende ich die folgenden Schritte:

  1. Auf dem Client-Rechner cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  2. Client-Rechner herunterfahren
  3. Auf dem Host VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  4. Auf dem Host VBoxManage modifyhd cloned.vdi --compact
  5. Auf dem Host VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

11voto

teekarna Punkte 854

Wie bereits in der Antwort von Luca sind die erforderlichen Schritte:

  1. Klonen des VMDK-Images in das VDI-Format

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. Größe des VDI-Images ändern

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. Klonen zurück ins VMDK-Format

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

Schritt 3 ist optional, wenn Sie stattdessen ein VDI-Image verwenden können.

Alle diese Schritte können auch in der grafischen Benutzeroberfläche von VirtualBox durchgeführt werden, und zwar unter File -> Virtual Media Manager . Wählen Sie das Laufwerk aus, das Sie klonen möchten, und wählen Sie dann Copy . Ein Dialogfeld wird geöffnet, in dem Sie das Festplattenformat und die Optionen auswählen können. Um die Größe eines VDI-Images zu ändern, verwenden Sie einfach den Schieberegler im unteren Bereich (klicken Sie auf Properties wenn es nicht sichtbar ist).

Schließlich müssen Sie möglicherweise auch die Festplattengröße im Gastbetriebssystem ändern:

  1. Starten Sie das Gastbetriebssystem und ändern Sie die Größe der Festplattenpartition(en). Wenn Sie Linux verwenden, können Sie gparted o kparted .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X