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

539

Ich habe nicht mehr genügend Speicherplatz auf einer virtuellen Maschine, die ein VMDK ist, und muss die Größe des virtuellen Images ändern. Größenänderung 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?

Brian
quelle

Antworten:

806

Wenn Sie keine vmdk-Festplatte mehr haben möchten (möglicherweise möchten Sie die Festplatte auch in vwmare verwenden), sind die folgenden Schritte:

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

Dadurch wird die Größe der Festplatte auf bis zu 50 GB (50 * 1024 MB) geändert.

Um die Dinge zu erledigen, müssen Sie auch die Größe des Laufwerks ändern! Um dies zu erreichen, möchten Sie möglicherweise gparted iso herunterladen und von dieser iso booten, um die Größe Ihres Laufwerks zu ändern (wählen Sie die iso in den Virtualbox-Einstellungen aus).

PS Wenn Ihre neue Größe zu klein ist, wird der gleiche Fehler auch mit Ihrer neuen vdi-Datei angezeigt.

Luca Borrione
quelle
17
Das funktioniert! Ich möchte hinzufügen, dass Sie auch den dritten Schritt überspringen und die Festplatte im VDI-Format belassen können. Ich habe dies gerade mit einem Oracle 12c-Image gemacht und es funktioniert gut ohne den dritten Schritt. Tauschen Sie einfach die alte "Festplatte" in den Einstellungen gegen die geklonte VDI aus. Vergessen Sie auch nicht, die Größe mit Gparted zu ändern, und schon kann es losgehen!
Avindra Goolcharan
12
Für Windows-Benutzer, die Ihrer PATH-Variablen keine VirtualBox hinzugefügt haben, müssen Sie in das Virtual Box-Verzeichnis wechseln, um das VBoxManage-Programm zu verwenden, z. B. "cd C: \ Programme \ Oracle \ VirtualBox"
Cleanshooter
2
Ich habe die VM-Datei von meiner SSD mit einer großen SSD verknüpft. Ich musste den Symlink-Pfad angeben. VBoxManage clonehd "~/path/to/symlink/packer-centos-6.5-x86_64-disk1.vmdk" "/media/k0pernikus/thatFatSlowDisk/cloned_packer-centos-6.5-x86_64-disk1.vdi"Wenn Sie den tatsächlichen Pfad angeben , stürzt der Befehl ab VBoxManage: error: Cannot register the hard disk, da VBox glaubt, dass er bereits an einer anderen Stelle definiert ist.
k0pernikus
2
Beeindruckend. Ich habe Stunden damit verbracht, zu versuchen und zu recherchieren, warum clonehedimmer wieder Volumes erstellt werden, die von der nicht unterstützt werden --resize. Es stellt sich heraus, dass das Anhängen --format vdian das clonehdentscheidend ist!
datv
5
Die UUIDs stimmen danach nicht mehr überein (und ersetzen das ursprüngliche Laufwerk). VirtualBox 5.1.12 aktualisiert die UUID nicht automatisch. Ich musste die Festplatte aus der Liste der bekannten Festplatten entfernen (Datei -> Virtual Media Manager) und sie dann erneut zur Instanz hinzufügen.
Chaim Eliyah
196

Ich konnte die Größe des VMDK ändern, indem ich es klonte und dann änderte und die Größe änderte.

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
Brian
quelle
4
Danke dafür. Für alle, die den Fehler erhalten: VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005)Führen Sie beim Versuch, diesen Befehl unter Windows auszuführen, die Eingabeaufforderung als Nichtadministrator aus.
Jim W.
4
@BradFJacobs, aber natürlich. Das ist schließlich die logische Sache. : P
Paul Draper
4
Dadurch bleibt die Datei im VDI-Format, wodurch Brians Frage "Wie kann ich die Größe eines VMDK-Images ändern?" Nicht beantwortet wird.
user66001
Beachten Sie, dass Sie nach dem Ändern der Größe Ihrer VMDK-Datei Ihre Partition in der VM erweitern müssen, indem Sie Ihre mit z. gparted-live
stephanfriedrich
Zur Info: Unter Linux (Mint) hat es nur ohne doppelte Anführungszeichen funktioniert virtualdisk.vmdk:vboxmanage clonehd virtualdisk.vmdk "new-virtualdisk.vdi" --format vdi vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
Lesen Sie
43

Ich habe einen Windows 7-Client auf einem Mac-Host und dieser Beitrag war sehr hilfreich. Vielen Dank.

Ich würde hinzufügen, dass ich gparted nicht verwendet habe. Ich war das:

  1. Starten Sie ein neues vergrößertes VMDK-Image.
  2. Gehen Sie zu Start und klicken Sie mit der rechten Maustaste auf Computer und wählen Sie Verwalten.
  3. Klicken Sie auf Datenträgerverwaltung
  4. Auf Ihrem (in meinem Fall) C-Laufwerk sollte ein grauer Bereich angezeigt werden
  5. Klicken Sie mit der rechten Maustaste auf das Laufwerk C und wählen Sie Volume erweitern.
  6. Wählen Sie die Größe und gehen Sie

Süss! Ich habe es vorgezogen, ein Tool eines Drittanbieters mit Warnungen vor Datenverlust zu verwenden.

Prost!

CodeChops
quelle
32

VBoxManage erledigt den Trick, aber vergessen Sie nicht, dass Sie GParted oder ein anderes Tool verwenden müssen, um den mit VBoxManage erstellten freien Speicherplatz zuzuweisen .

Schauen Sie sich meinen Blog-Beitrag an, um detaillierte Informationen und schrittweise Screenshots zu erhalten.

tvial
quelle
VBoxManage geht eindeutig nicht zum Trick, ich denke, Sie haben
VDI-
Keine Verwirrung, schauen Sie einfach auf den Link. VMDK muss in VDI konvertiert werden, um verarbeitet zu werden.
TVial
@tvial - AFAICS, bei der Konvertierung von VMDK in VDI gehen leider alle vorhandenen Snapshots verloren, was für viele Menschen nicht akzeptabel ist. Daher ist es etwas übertrieben, nur zu sagen, dass es den Trick macht.
Jules
@ Jules, meine Antwort bezieht sich auf die Frage. Brian hat versucht, VBoxManage zu verwenden, und ich behaupte nicht nur, dass dies der Fall ist. Ich habe Stunden damit verbracht, einen Blog-Beitrag mit einem Screenshot zu schreiben. Es fehlen wahrscheinlich Informationen zu Schnappschüssen, Sie haben Recht.
TVial
Na klar, aber es ist einfach nicht die beste Lösung. Die Antworten, die Empfehlungen für Software enthalten, mit der die Größe eines VMDK ohne Konvertierung in VDI geändert werden kann (z. B. die Antworten von @micwallace und @davidehrman), sind für viele Menschen eindeutig bessere Lösungen (und es ist nicht klar, ob der ursprüngliche Fragesteller einer von ihnen ist oder nicht ).
Jules
31

Eigentlich werden nur diese folgenden Befehle benötigt:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

Anschließend können Sie im Virtualbox-GUI-Speicher cloned.dvi auswählen.

Starten Sie danach die virtuellen Fenster und erweitern Sie Ihre C-Festplatte als Methode für Code Chops.

Es ist nicht erforderlich, die * .vdi-Datei zurück in die * .vmdk-Datei zu konvertieren.

Neuer Bentley
quelle
5
Ich habe nicht abgelehnt, aber ich konnte eine Ablehnung verstehen, da die beiden Top-Antworten, die beide 2012 (!) Beantwortet wurden, genau gleich sind. Dies fügt nichts Neues hinzu.
Nathanvda
2
-1 Stimmen Sie mit Nathanvda überein , aber auch diese "Antwort" beantwortet nicht Brians Frage "Wie kann ich die Größe eines VMDK-Bildes ändern?"
user66001
22

Da es sich um eine VMDK-Datei handelt, können Sie VMWare verwenden vdiskmanager, sofern diese für Ihre Plattform verfügbar ist. VMWare hat x86 Linux, Windows und OS X - Versionen hier .

Und dann machst du einfach:

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

Sie müssen nicht klonen und dann die Festplatte erweitern. Der Nachteil ist, dass Sie das zusätzliche Tool benötigen und vmdk das Festplattenformat von VMWare ist und Sie weiterhin Virtualbox verwenden, sodass möglicherweise Inkompatibilitäten auftreten.

qemu-imgkönnte auch funktionieren, aber ich bin nicht sicher, ob es die Größenänderung von VMDK-Dateien unterstützt. Es würde ungefähr so ​​aussehen:

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

Und nur zur Erinnerung: Bei beiden müssen Sie die Partition nach dem Ändern der Größe der zugrunde liegenden Festplatte noch vergrößern. Alle diese Werkzeuge sind im Wesentlichen dd if=/dev/old_disk of=/dev/new_disk bs=16M.

David Ehrmann
quelle
1
Beste Antwort, kein Klonen erforderlich.
WiringHarness
+1 Dies funktionierte hervorragend zum Ändern der Größe einer Windows-VM, und ich musste nicht einmal zur Wiederherstellung booten. Durch meine Installation konnte ich die Größe in der Datenträgerverwaltung nach dem Booten ändern.
Benh57
Dies funktionierte besser für mich, wenn ich die Größe eines Ubuntu-Bildes unter Windows 10 ändern wollte. Ich musste nicht einmal die Partition vergrößern (es war meine Root-Partition), nachdem ich die Festplatte erweitert hatte.
Liegeplätze
Der Link zum Herunterladen von vdiskmanager hat bei mir nicht funktioniert. Ich lade die VMWare-Fusionsstudie von download3.vmware.com/software/fusion/file/… herunter und habe dann die .dmg-Datei gemountet. Das vdiskmanager-Tool ist dann unter / Volumes / VMware \ Fusion / VMware \ Fusion.app/Contents/Library/vmware-vdiskmanager verfügbar.
user674669
16

Versuchte alle Lösungen hier, aber nichts schien zu funktionieren. Nach stundenlangem Graben habe ich diesen Blog gefunden Beitrag und wie durch Zauberei funktioniert alles. Ich musste kleine Anpassungen vornehmen, daher hier die modifizierte Version. Getestet mit Docker Version 17.06.0-ce, Build 02c1d87.

Sobald Entwickler wirklich anfangen, ihre Anwendungen zu containerisieren, generieren sie häufig eine große Anzahl von Images und füllen schnell den 20 GB Festplattenspeicher aus, der der virtuellen Docker-Maschine standardmäßig zugewiesen ist. Um sicherzustellen, dass die virtuelle Docker-Maschine über ausreichend Speicherplatz verfügt, sollten Sie die Größe von / dev / sda1 auf eine vernünftigere Zahl ändern.

  1. Laden Sie das bootfähige GParted Live CD / USB / HD / PXE-Image herunter .
  2. Stoppen Sie die virtuelle Docker-Maschine docker-machine stop default .

  3. Das Boot2Docker-Paketinstallationsprogramm wird mit einem VMDK-Volume geliefert, dessen Größe die nativen Tools von VirtualBox nicht ändern können. Um die Größe des Docker-Datenträgers zu ändern, klonen Sie zuerst den VDI-Datenträger vom Standard-VMDK-Datenträgervboxmanage 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 GBvboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB> .
  5. Starten Sie die VirtualBox-Anwendung, wählen Sie defaultVM aus und klicken Sie oben auf das Zahnrad "Einstellungen".VirtualBox Manager
  6. Klicken Sie auf das Symbol "Speicher". Entfernen Sie das Standard-VMDK-Volume.Geben Sie hier die Bildbeschreibung ein
  7. Fügen Sie einen neuen IDE-Controller hinzu.IDE-Controller
  8. Mounten Sie die GParted ISO über die Option „CD / DVD-Gerät hinzufügen“.CD / DVD-Gerät hinzufügen
  9. Hängen Sie das geklonte VDI-Volume über die Option "CD / DVD-Gerät hinzufügen" ein.Lautstärke einbinden
  10. Wenn Sie Docker auf einem Computer mit einer Solid-State-Festplatte ausführen, stellen Sie sicher, dass für das geklonte VDI-Volume die Option „Solid-State-Laufwerk“ ausgewählt ist.Solid-State-Laufwerk
  11. Klicken Sie auf das Symbol „Start“, um die virtuelle Docker-Maschine zu starten, mit der die GParted-ISO gestartet wird. Wählen Sie "GParted Live (Standardeinstellungen)".GParted Live (Standardeinstellungen)
  12. Stellen Sie die Richtlinie für den Umgang mit Keymaps auf "Keymap nicht berühren" ein.Keymaps
  13. Stellen Sie die Spracheinstellung auf Option "33", die "US-Englisch" entspricht.Amerikanisches Englisch
  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“ auswählen.1024 × 760
  16. Behalten Sie die Standardeinstellung "vesa" als VGA-Karte bei.Lassen Sie das Feld leer, wenn die Standardeinstellung gewünscht wird
  17. Behalten Sie die Standardfarbtiefe von „24“ bei, indem Sie die Option „0“ auswählen. Farbtiefe
  18. Klicken Sie nach dem Start von GParted auf das Symbol „Größe ändern / verschieben“.GParted
  19. Stellen Sie die neue Datenträgergröße 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.Datenträgergröße
  20. Bestätigen Sie die Größenänderung, indem Sie auf die Schaltfläche „Übernehmen“ klicken.Backe es
  21. Schalten Sie die Maschine aus, nachdem die Größenänderung abgeschlossen ist.Hard Reset, np :)
  22. Entfernen Sie die GParted ISO.Du bist fast fertig
  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 starten docker-machine start default
  24. Wenn Netzwerkprobleme auftreten, starten Sie den Docker-Computer neu
Ako
quelle
Sehr detailliert und hilfreich. Vielen Dank. Im gparted optin folgte ich dem erzwungenen Videopfad , es funktionierte nicht. Die automatische X- Option funktionierte jedoch.
mshsayem
15

Sie können den Vmware-Player verwenden, um die Größe eines VMDK zu ändern. Dadurch wird die Roundtrip-Konvertierung (in anderen Beiträgen angegeben) entfernt, wenn Sie sie im VMDK-Format beibehalten möchten. Stellen Sie einfach sicher, dass Sie beim Hinzufügen des VMDK zu VMware nicht auf das Aktualisierungsformat klicken, wenn Sie dazu aufgefordert werden. Behalten Sie das aktuelle bei, falls VirtualBox dies nicht akzeptiert.

Micwallace
quelle
1
Danke, genau das getan. Ich denke, man muss zuerst eine VM einbauen, um die Größe ändern zu können, aber das ist ein kleiner Schritt. Starten Sie auch keine VM in VMWare, geänderte HW verursachte Bluescreen für mich.
Andreas Reiff
Hervorragender Tipp! Es war auch sehr schnell (dauerte ungefähr 1 Sekunde) und behielt meine Einstellung "Aufteilen in 2 GB Dateien" bei. Vielen Dank!!
Osmar
Wie bringt man das VMDK in den VMware Player? Das klingt nach einer großartigen Lösung, ist aber unvollständig
Thaspius
11

Zum Verkleinern der Bildgröße verwende ich die folgenden Schritte:

  1. Auf dem Client-Computer cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  2. Fahren Sie den Client-Computer herunter
  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
Londeren
quelle
11

Wie in der Antwort von Luca erwähnt, sind die erforderlichen Schritte:

  1. Klonen Sie das VMDK-Image in das VDI-Format

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

  2. Ändern Sie die Größe des VDI-Bildes

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. Klonen Sie zurück in das 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 unter ausgeführt werden 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-Bildes zu ändern, verwenden Sie einfach den Schieberegler unten (klicken Sie aufProperties wenn es nicht sichtbar ist).

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

  1. Führen Sie das Gastbetriebssystem aus und ändern Sie die Größe der Festplattenpartition (en). Wenn Sie Linux verwenden, können Sie gpartedoder verwenden kparted.
teekarna
quelle
9

VirtualBox für Windows

Ändern der Größe der Festplatte Datei , während die Erhaltung der virtuellen Maschine Einstellungen!


Schritt 1 - Ändern Sie die Größe der Festplattendatei

Starten Sie cmd.exe

cdOracle VM VirtualBox dir (auf 64-Bit - Systemen: "C:\Program Files\Oracle\VirtualBox\")

Führen Sie die folgenden Befehle aus (wie oben):

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Der Windows Explorer und "Adresse als Text kopieren" über die Adressleiste sollen Ihnen dabei helfen, den gewünschten Pfad zu finden.

Unter Windows enthält das VirtaulBox-VM-Verzeichnis unter Ihrem Benutzer möglicherweise eine XML-formatierte Datenbankdatei mit Einstellungen, die Sie für Ihre VM konfiguriert haben. Benennen Sie diese Datei mit einer .bakErweiterung um (sie hat eine .vboxErweiterung). Benennen Sie die Originaldatei ebenfalls .vmdkmit einer .bakErweiterung um, um einen weiteren Fehler zu vermeiden. Sie können jetzt den dritten Schritt sicher ausführen, ohne die Fehlermeldung zum Konvertieren des Computers in das .vmdkFormat oder den Fehler "Festplatte duplizieren".

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

Sie erhalten ein UID-Token . Kopieren Sie dieses Token, indem Sie es aus dem Windows Command Interpetor-Fenster ziehen und die Ctrl+CTastenkombination verwenden.

Öffnen Sie die .vbox.bakDatei in einem Texteditor wie Notepad ++. Sie erhalten eine XML-ähnliche Datenbankdatei. Suchen Sie nach diesen Zeilen:

<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
  <Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...

Auf der Linie <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ..., löschen Sie die alte UID zwischen den Klammern Token und fügen Sie das passende aus dem Befehlsfenster kopiert. Stellen Sie sicher, dass Sie die Klammern an Ort und Stelle lassen !

Speichern Sie diese Datei und beenden Sie Ihren Texteditor. Benennen Sie die .vbox.bakDatei um, um die erwartete Erweiterung von zurückzugeben .vbox.


Schritt 2 - Entfernen Sie den Müll

Es ist jetzt sicher, die .bakim Verzeichnis verbleibenden Dateien zu entfernen . Was bleibt, ist eine Größenänderung .vmdkmit einer aktualisierten .vboxDatenbank unter Verwendung Ihrer zuvor erhaltenen VirtualBox Manager-Einstellungen.


Schritt 3 - Ändern Sie die Größe der Festplattenpartition, um den freien Speicherplatz zu füllen

Sie können jetzt den VirtualBox VM Manager starten und Ihre VM ausführen, indem Sie die entsprechenden Tools für das Betriebssystem verwenden, um den neuen freien Speicherplatz zu füllen.

Verwenden Sie für Windows-VMsdiskpart die Eingabeaufforderung, die von der Windows-Wiederherstellungskonsole (Wiederherstellungspartition) gestartet wurde SELECT DISK 1, LIST PARTITIONund erfassen Sie dann die Partitionsnummer Ihres C:\Laufwerks SELECT PARTITION #. Mit können Sie die EXTEND SIZE=mbGröße des Windows C-Laufwerks auf den entsprechenden Wert ändern. Stellen Sie sicher, dass Sie Platz für die Wiederherstellungs- und Startpartitionen lassen! Es ist sicher, 4096 MB von Ihrer neuen Größe der virtuellen Festplatte zu subtrahieren, um diesen Wert zu erhalten, da Schattenkopien und Windows-Wiederherstellungsdateien vorhanden sind.

Für Linux-VMs finden Sie eine Live- .ISOVersion von gparted, die Sie mit der Festplattendatei der VM booten können, unter: http://gparted.org/. Sie gelangen direkt in ein auf grafischer Benutzeroberfläche basierendes gparted-gtk, von dem aus Sie es füllen können Ihr freier Speicherplatz.

Bei PPC / Mac-VMs wird Disk Utilityder Finder Sie beim Ausfüllen des freien Speicherplatzes unterstützen. Möglicherweise möchten Sie jedoch die Option gparted Linux in Betracht ziehen , da derzeit nur Hackintosh zum Starten von MacOSX in VirtualBox verwendet wird und Sie Ihr Volume nicht erweitern können während in MacOSX gebootet. Möglicherweise möchten Sie auch versuchen, die Einstellungen der VM vorübergehend zu ändern gparted, damit sie gestartet wird. MacOSX-Partitionen werden von gparted als HFS"Heaping File System" -Partitionen erkannt .


Schritt 4 - Katzenfotos

Weil das Internet. ;) Du bist fertig. Genießen Sie Ihr neues .vmdkImage der virtuellen Festplatte mit VirtualBox für Windows!

Robert Smith
quelle
Vielen Dank für die umfassenden Schritte, sie waren sehr nützlich! Einige Variationen, die ich gemacht habe: Ich habe das Festplattenpartitionstool verwendet, um mein Festplattenvolumen auf meiner Win10-VM zu erweitern. Außerdem fehlt ein detaillierter Schritt, nämlich das erneute Hinzufügen der geklonten VMDK-Festplatte zur VM-Konfiguration. Das ist es. Prost!
J4V1
Der Schritt zum Umbenennen der VM-Konfigurationsdatei ".vbox" in ".vbox.bak" vor dem Klonen ist sehr wichtig ! Wenn nicht, schlug die Klonaktion fehl
Andres
Dies ist wahrscheinlich die "vollständigste" Antwort, wenn Sie Fehler von Ihren fehlgeschlagenen VBoxManage-Befehlen erhalten. In meinem Fall behielt VBox den Status (über die Registrierung?) Selbst dann bei, wenn ich die Konfigurationsdatei in "* .vbox.bak" umbenannte. Also musste ich nur zusätzliche VBoxManage-Befehle verwenden. So zeigen Sie beispielsweise virtuelle Festplatten an : vboxmanage list hdds. So entfernen Sie unerwünschte : vboxmanage closemedium disk <filename.vmdk>. Zeigen Sie die SATA-Port-Nr., Geräte-Nr.: An vboxmanage showvminfo <vmName>. So lösen Sie die Festplatte:vboxmanage storageattach <vmName> --storagectl SATA --port <p#> --device <d#> --medium none
Elektromaggot
7

Hier finden Sie eine Möglichkeit, die Größe Ihrer VirtualBox-Festplatte zu ändern, unabhängig davon, ob es sich um eine Festplatte oder eine Festplatte mit dynamischem Format handelt. Insbesondere wird der Fehler verhindert, den Sie hatten, als Ihre Festplatte ein festes Format hatte.


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

Auf Ihrem Gastgeber:

  1. Öffnen Sie ein Terminalfenster.

    Unter Windows: Öffnen Sie die 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 50-GB-Festformatfestplatte mit dem Namen MyNewDisk.vdi:

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

    Wenn dies VBoxManagenicht als Befehl erkannt wird, geben Sie den vollständigen Pfad dazu an. Es befindet sich im VirtualBox-Installationsverzeichnis. Unter Windows würde der obige Befehl lauten:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
  4. Kopieren Sie die Originaldiskette auf die neue Diskette.

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

    VBoxManage showmediuminfo "MyNewDisk.vdi"
  6. Ändern Sie die virtuelle Maschine so, dass stattdessen die neue Festplatte verwendet wird.

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

Daniel AA Pelsmaeker
quelle
3

Ich bin hier, weil ich die Größe einer Festplatte für meine Docker (CoreOS) -Entwicklungsumgebung ändern musste.

Laut CoreOS-Dokumenten muss die Größe der Betriebssystempartition nicht geändert werden - das ist falsch. Nachdem Sie die Größe der virtuellen Festplatte geändert haben, sollten Sie diese Anweisungen befolgen und die Größe der Betriebssystempartition über GParted ändern:

https://docs.docker.com/articles/b2d_volume_resize/

Lucasmartine
quelle
3

Eine schnelle und einfache Option:

  1. Maschine ausschalten
  2. Erstellen Sie eine neue virtuelle Box mit der gewünschten Größe
  3. Verschieben Sie Inhalte von der alten Festplatte auf die neue Festplatte:

    vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
    
  4. Maschine einschalten

  5. Möglicherweise müssen Sie die Größe der Partition im Betriebssystem ändern, um den Rest der Festplatte zu füllen

Warnung

Wenn die neue Festplatte kürzer als die Quelle ist, gehen die Daten verloren, die sich von der neuen Position der Festplattengröße auf der Quellfestplatte befinden.

Sie können verhindern, dass die Zuweisung von Delta-Speicherplatz, wobei Delta = Größe (Quellfestplatte) - Größe (neue Festplatte), am Ende der Quellfestplatte innerhalb des Betriebssystems vor Schritt 1 freigegeben wird.

Andre Figueiredo
quelle
0

Wirf es weg und fang von vorne an. Ignorieren Sie all diese Antworten - verschwenden Sie keine Zeit.

Snowcrash
quelle
OK, wie kann man eine VM mit einem größeren Laufwerk starten, z. B. von Vagrant?
Chris L. Barnes
-4

Laden Sie VMWare Workstation herunter, installieren Sie sie und verwenden Sie sie. Erstellen Sie eine neue VM basierend auf Ihrer aktuellen VMDK-Datei. Anschließend können Sie die Größe Ihres VMDK ändern. Für Details zu diesem Thema google for VMWare.

Prem für den Unterricht der Ökobilanz
quelle
-4

Sie müssen lediglich die folgenden Schritte ausführen:

  1. Schalten Sie Ihre Maschine aus.
  2. Klicken Sie mit der rechten Maustaste auf den Namen der virtuellen Maschine> Einstellungen> Speicher
  3. Klicken Sie auf Controller: SATA> Add Hard Disk.
  4. Wählen Sie die neue Größe des Festplattentyps und klicken Sie auf Erstellen.
  5. Verwerfen Sie den Maschinenzustand.
  6. Legen Sie die Ubuntu Live-CD ein.
  7. Booten Sie von der Ubuntu Live-CD.
  8. Öffnen Sie "gparted" (Es ist installiert, muss nicht installiert werden).
  9. Überprüfen Sie, ob das System Ihre neu erstellte Festplatte sieht.
  10. Terminal öffnen.
  11. Geben Sie den folgenden Code ein.
  12. sudo dd if = / dev / sda von = / dev / sdb (Der erste ist der alte Partitionspfad, der zweite ist der neue Partitionspfad).
  13. Warten Sie, bis das Kopieren der Daten abgeschlossen ist (Dieser Schritt kann gemäß Ihren Hostspezifikationen einige Zeit dauern).
  14. Kehren Sie nach Abschluss des Kopiervorgangs zu gparted zurück und wählen Sie Aktualisierungsgeräte aus.
  15. Wählen Sie die neue Partition / dev / sdb aus, die nach Ausführung des Befehls dd für die alte Partition typisch sein muss.
  16. Der erweiterte Speicherplatz wird als nicht lokalisierte Daten angezeigt.
  17. Swap-Partition / Erweiterte Partition löschen.
  18. Klicken Sie mit der rechten Maustaste auf Root-Partition / dev / sdb> Größe ändern
  19. Ordnen Sie den gesamten Speicherplatz ohne Swap-Zuweisung zu.
  20. Neue erweiterte Partition erstellen> Erweitert auswählen> Erstellen
  21. Neue Linux-Swap-Partition erstellen> Linux-Swap wählen> Erstellen
  22. Schalten Sie nun Ihre laufende Maschine aus.
  23. Klicken Sie mit der rechten Maustaste auf Maschine> Einstellungen> Speicher.
  24. Ubuntu Live-CD auswerfen.
  25. Klicken Sie mit der rechten Maustaste auf die alte Festplatte> entfernen Sie den Anhang.
  26. Jetzt können Sie Ihre VM von der neu erstellten Festplatte starten.
  27. Überprüfen Sie den Speicher mit dem Befehl df -kh.
  28. Es muss Ihnen die neue Größe anzeigen.

Herzlichen Glückwunsch, genießen Sie Ihren freien Platz.
Dieses Video hilft Ihnen: https://youtu.be/ikSIDI535L0

Mohammad Nimer
quelle
Ja, es ist genau für UBUNTU
Mohammad Nimer