2014-02-13 22:54:55 +0000 2014-02-13 22:54:55 +0000
72
72

Wie kann man die feste Größe der VDI mit dem Befehl modifyhd in Windows ändern?

Ich versuche, herauszufinden, wie man die Größe einer VDI-Datei ändern kann. Ich bin neu in VirtualBox und muss noch eine Menge lernen. Aber ich denke, ich habe den Dreh mit den Grundlagen raus. Als ersten Gast habe ich bereits Windows 7 installiert. Der Host ist ebenfalls Windows 7. Ich war mir nicht sicher, wie viel Festplattenspeicher ich zuweisen sollte, deshalb habe ich mich für eine VDI-Größe von 40 GB und eine feste Größe für mehr Leistung entschieden. Aber jetzt habe ich meine Meinung geändert und möchte weitere 10 GB hinzufügen. Ich habe im Programm herumgeklickt und den Inhalt des Hilfemenüs gelesen, aber es hilft mir nicht weiter. Es erklärt Festplattencontroller, SAS, SATA, SCSI, bla, bla, aber nicht das, wonach ich suche.

Ich habe das World Wide Web nach Antworten durchsucht, das VirtualBox-Forum sagt, dass man Gparted benutzen soll, wenn man die einfachste Methode will (irgendein Mod hat einen Sticky gepostet). Einige Benutzer diskutieren die Verwendung des Befehls dd. Aber das ist alles Linux-Zeug. Außerdem gibt es eine Menge Fragen hier bei SU, die sich mit dem Vergrößern und Verkleinern von VDI-Dateien beschäftigen, aber sie drehen sich alle um die Verwendung von Linux als Host und Windows als Gast.

Ich habe diesen netten blog Beitrag gefunden, wie man das mit dem modifyhd Befehl von VBoxManage macht. Dieser Typ macht es auch unter Linux als Host-OS. Er wollte sogar die gleiche Größe (50 GB) für seine VDI-Datei wie ich für meine, was für ein Zufall. Also dachte ich, ich probiere es trotzdem mal aus, entweder es klappt oder es geht schief. Was kann da schon schiefgehen?… eh? Nun, das ist die hässliche Überraschung, die ich erlebte.

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" --resize 51200
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Resize hard disk operation for this format is not impleme
nted yet!

C:\Program Files\Oracle\VirtualBox>

Was nun?!… können virtuelle Festplatten des VDI-Formats nicht in der Größe verändert werden? Was Sie nicht sagen? Ihr eigenes Format nicht unterstützen? Nun, wie wäre es damit…

Gibt es wirklich keine einfache Möglichkeit, die Größe einer VDI-Datei zu ändern, am besten mit ein paar Klicks innerhalb von VirtualBox? Irgendetwas in Arbeit?

Antworten (9)

126
126
126
2014-02-15 22:56:20 +0000

Zusammenfassung: - VBoxManage.exe modifyhd --resize können die logische Größe des Festplatten-Images (die Größe, die das Gastbetriebssystem sieht) erhöhen (aber nicht verringern). - VBoxManage.exe modifyhd inputfile.vdi --compact kann die physische Größe des Festplatten-Images (die Größe der Image-Datei auf der Festplatte, wie sie vom Host-Betriebssystem gesehen wird) verringern. Dies ändert jedoch nicht die Größe der logischen Festplatte. Beachten Sie, dass dies nur funktioniert, wenn der freie Speicherplatz im Gastbetriebssystem zuvor auf Null gesetzt wurde. - modifyhd funktioniert nur mit der dynamischen Formatvariante (“dynamisch zugewiesenes Image”). - modifyhd funktioniert nur mit den Image-Formaten VDI und VHD. - Wenn Sie Snapshots verwenden, müssen Sie den letzten Snapshot VDI aus dem Unterordner “Snapshots” klonen.

Details finden Sie im Abschnitt 8.23. VBoxManage modifyhd im Handbuch.


Der Grund, warum die Verkleinerung der logischen Plattengröße einer VDI noch nicht implementiert wurde, ist die Verhinderung von Datenbeschädigungen, die auftreten könnten und Sie dadurch nicht bootfähige VMs hätten. Deshalb muss bei Verwendung der Option --resize die neue Plattengröße größer sein als die aktuelle Größe. Sie darf nicht kleiner oder gleich der aktuellen Größe sein. Mit anderen Worten, eine 40-GB-Platte kann nur auf 41 GB oder mehr verkleinert werden, sie kann nicht auf 40 GB (das ist einfach dumm) oder 39 GB oder weniger verkleinert werden.

Alte Versionen von VirtualBox erstellten VDI-Dateien als “feste” Formatvariante. Die neue Standardeinstellung ist nun, “dynamische” Formatvarianten zu erstellen, wenn neue VDI-Dateien (virtuelle Festplatten-Images) erstellt werden. (Ich nehme an, dass dies seit der Einführung der dynamischen Formatvariante der Fall ist, egal in welcher Version).

Die Fehlermeldung “operation for this format is not implemented yet” bedeutet also, dass Ihre VDI-Datei die “feste” Formatvariante verwendet. Um dieses Problem zu umgehen, müssen Sie Ihre VDI-Datei mit dem Befehl clonehd klonen. Um zu sehen, in welcher Formatvariante sich Ihre VDI-Datei im Moment befindet, können Sie den Befehl showhdinfo verwenden.

Arbeitsbeispiel

VDI-Informationen über den aktuellen Datenträger anzeigen.

Eingabebefehl: vboxmanage.exe showhdinfo path\inputfile.vdi

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi"
UUID: 132e9af1-0428-49f4-bc45-4d84680e17f5
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\VirtualBox VMs\sg2_win7_x64_lab\sg2_win7_x64_lab.
vdi
Storage format: VDI
Format variant: fixed default
Capacity: 40960 MBytes
Size on disk: 40962 MBytes
In use by VMs: sg2_win7_x64_lab (UUID: dcd106b3-7ed6-4f19-ad94-820ab4dc10d3)

C:\Program Files\Oracle\VirtualBox>

Sehen Sie, wo “feste Vorgabe” steht? Das ist der Grund, warum es den obigen Fehler ausspuckt, wenn Sie versuchen, die Größe zu ändern.

Klone die alte VDI-Datei in eine neue VDI-Datei.

Eingabebefehl: vboxmanage.exe clonehd path\inputfile.vdi path\outputfile.vdi

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "%userprofile%\virtual
box vms\sg2_win7_x64_lab\sg2_win7_x64_lab.vdi" "%userprofile%\virtualbox vms\sg2
_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 34dafa68-3093-4946-926a-8237ea263
e5c

C:\Program Files\Oracle\VirtualBox>

Voilà! Die alte Datei ist nun in eine neue Datei geklont worden. Da in neuen Versionen von VirtualBox standardmäßig die “dynamische” Formatvariante verwendet wird, müssen Sie das nicht explizit festlegen. Wenn Sie allerdings mit einer älteren Version von VirtualBox arbeiten, dann sollten Sie die Option auf “dynamisch” setzen (falls überhaupt verfügbar), um eine bessere Kompatibilität und/oder Flexibilität mit zukünftigen Versionen von VirtualBox zu gewährleisten.

VDI-Informationen über die geklonte Festplatte anzeigen.

Eingabebefehl: vboxmanage.exe showhdinfo path\inputfile_clone.vdi

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
UUID: 34dafa68-3093-4946-926a-8237ea263e5c
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\virtualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_
clone.vdi
Storage format: VDI
Format variant: dynamic default
Capacity: 40960 MBytes
Size on disk: 7806 MBytes

C:\Program Files\Oracle\VirtualBox>

Sehen Sie, wie hier jetzt “dynamische Voreinstellung” steht? Wie schön!

(Am Rande bemerkt! Der Grund, warum hier 7806 MB als physikalische Größe angezeigt wird, ist, dass ich die Option --compact in der ursprünglichen VDI-Datei verwendet hatte, um die Konvertierung in die dynamische Formatvariante zu erzwingen. Ich habe nur etwas im VirtualBox-Forum gelesen, es hätte angeblich mit älteren Versionen funktioniert, also dachte ich, ich könnte das auch mal ausprobieren. Es hat nicht funktioniert.)

Resizing der geklonten Festplatte.

Eingabebefehl: vboxmanage.exe modifyhd path\inputfile.vdi --resize 51200

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "%userprofile%\virtua
lbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi" --resize 51200
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

C:\Program Files\Oracle\VirtualBox>

Erfolg! Kein Format-Bullshit mehr. Denken Sie nur daran, die Größe der neuen, geklonten Festplatte zu ändern, und nicht die der ursprünglichen Festplatte. Denken Sie daran, dass die Größe in MB angegeben wird. Ich glaube, Sie können z.B. sowohl 51200 als auch 50G (oder möglicherweise “GB”) verwenden. Es gibt auch die Option --resizebyte, die verwendet werden kann, um die Größe in Bytes auszudrücken.

VDI-Informationen über die größenveränderte Klonplatte anzeigen.

Eingabebefehl: vboxmanage.exe showhdinfo path\inputfile_clone.vdi

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe showhdinfo "%userprofile%\virt
ualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_clone.vdi"
UUID: 34dafa68-3093-4946-926a-8237ea263e5c
Parent UUID: base
State: created
Type: normal (base)
Location: C:\Users\Name\virtualbox vms\sg2_win7_x64_lab\sg2_win7_x64_lab_
clone.vdi
Storage format: VDI
Format variant: dynamic default
Capacity: 51200 MBytes
Size on disk: 7806 MBytes

C:\Program Files\Oracle\VirtualBox>

Das war’s! Was Sie nun tun müssen, ist, dieses geklonte Laufwerk als neue VDI für die VM hinzuzufügen. Das machen Sie innerhalb von VirtualBox. Ich werde darauf nicht näher eingehen. Wenn Sie das bis hierher lesen und verstehen konnten, dann brauchen Sie wahrscheinlich keine weitere Anleitung. Sie können entweder die alte “reparierte” Datei löschen oder sie als Backup belassen. Stellen Sie sicher, dass Sie die neue VDI-Datei testen, bevor Sie die ursprüngliche Quelldatei löschen.

Hinweis! Sie werden die neue Größe der geklonten Platte nicht sofort sehen. Sie müssen die VM damit booten, und dann müssen Sie Ihr Partitionsverwaltungswerkzeug verwenden, um Ihre Partition zu erweitern, um die virtuelle Festplatte zu füllen (oder weitere Partitionen zu erstellen). Unter Windows führen Sie einfach diskmgmt.msc aus, und Sie können die Partition darin erweitern.

Screenshots

Referenz

11
11
11
2014-09-26 15:48:23 +0000

Hier ist ein ziemlich einfacher Prozess, der bei mir funktioniert hat, um eine VirtualBox (v. 4.3.16) Festplatte mit fester Größe auf eine dynamische Festplatte mit 60 GB auf meinem Mac (OS X 10.9.4) mit Linux (Ubuntu 14.04) als Gastbetriebssystem zu verkleinern:

Wechseln Sie im Terminal auf dem Mac in das Verzeichnis mit der VDI-Datei und geben Sie Folgendes ein:

VBoxManage showhdinfo mydisk.vdi  
VBoxManage clonehd mydisk.vdi mydiskClone.vdi  
VBoxManage modifyhd mydiskClone.vdi --resize 61440  
VBoxManage showhdinfo mydiskClone.vdi

Im VirtualBox-Anwendungsspeicherabschnitt fügen Sie mydiskClone.vdi als zweite HD hinzu, dann starten Sie die VM normal.

In der Shell des Gastbetriebssystems geben Sie ein:

sudo fdisk /dev/sdb
- delete all partitions
- create new partition on full disk

Starten Sie den Gast neu. Wenn er wieder hochfährt, gehen Sie erneut in die Shell und geben Sie ein:

sudo resize2fs /dev/sdb1

Fahren Sie das Gastbetriebssystem herunter.

Setzen Sie im VirtualBox-Anwendungsspeicherbereich erneut mydiskClone.vdi als Boot-Diskette. Starten Sie dann das Gastbetriebssystem und überprüfen Sie die neue Festplattengröße mithilfe der Eigenschaften von “Computer” im Dateibrowser.

5
5
5
2014-11-11 19:34:53 +0000

Klonen ist eigentlich die bessere Lösung und es gibt einen einfacheren Weg, dies zu tun.

Wählen Sie im Menü Datei die Option Virtual Media Manager und klicken Sie dann auf Kopieren. Die Quelle wird Ihre ursprüngliche vdi-Festplatte mit fester Größe sein und Ihr Ziel wird etwas Neues Ihrer Wahl sein (einschließlich der Option einer neuen).

4
4
4
2014-09-30 17:50:33 +0000

OK, also habe ich es geschafft ohne zu klonen.

Ich hatte eine 100GB VDI-Datei (festes Format) mit Ubuntu darauf. Hat gut funktioniert. Ich wollte etwas Platz auf dem Host freigeben, indem ich die VM verkleinere.

Schritte:

  1. Aufräumen

Unerwünschte Dateien gelöscht. 45GB frei. Es müssen nur 30GB freigegeben werden.

  1. Reparieren des Gastbetriebssystems

Ich habe nur eine Partition, kann also nichts von innerhalb des Gastbetriebssystems Ubuntu tun. Habe Ubuntu Live in der VM gemountet und davon gebootet.

Benutzte gparted, um die Partition auf 70 GB zu verkleinern. Erstellte eine neue Partition in dem unbenutzten Bereich in ext4.

  1. Wipe the free space

Der freie Speicherplatz in der neuen Partition (30GB).

Folgen Sie dieser Anleitung: Verkleinern der virtuellen Festplatte unter Ubuntu als Gast- und Hostbetriebssystem mit zerofree

Meine neue Partition war /dev/sda3.

$ sudo apt-get install zerofree
$ sudo init 1

...

# mkdir /tmp3
# mount -o ro -t ext4 /dev/sda3 /tmp3
# zerofree -v /dev/sda3
  1. Komprimieren der VDI

Es hat eine Weile gedauert, aber es hat funktioniert!

2
2
2
2016-10-11 12:51:47 +0000

Hier ist, wie ich ein festes VDI-Image verkleinert/vergrößert/erweitert habe (mein Prozess zum Verkleinern ist in einer anderen Antwort):

  1. Verwenden Sie VirtualBox, um eine neue Festplatte der gewünschten Größe zu erstellen (die Größe MUSS mindestens so groß sein wie das Original). Öffnen Sie dazu die VirtualBox-Einstellungen für die Gast-VM, navigieren Sie zu Storage, klicken Sie auf den HDD-Controller (z. B. “SATA”), und klicken Sie dann auf das “+”, um eine Festplatte hinzuzufügen. Konfigurieren Sie dann die neue Festplatte wie gewünscht.
  2. Laden Sie das gparted-Live-ISO herunter und konfigurieren Sie die Gast-VM so, dass sie davon bootet (wieder unter Speichereinstellungen).
  3. Sichern Sie den aktuellen Speicher der Gast-VM.
  4. Booten Sie die Gast-VM (sollte in die gparted live-Umgebung booten). Aus der gparted-Umgebung heraus:
  5. Verwenden Sie die gparted-Anwendung, um zu überprüfen, dass Ihr vorhandener Datenträger “/dev/sda” und Ihr neuer (größerer) Datenträger “/dev/sdb” ist (Dropdown-Menü oben rechts).
  6. Schließen Sie das Programm gparted.
  7. Öffnen Sie ein Terminal mit Root-Rechten (Rechtsklick auf dem Desktop -> Terminals -> Terminal mit Root-Rechten).
  8. Geben Sie den folgenden Befehl ein: dd if=/dev/sda of=/dev/sdb status=progress bs=128M und warten Sie, bis der Vorgang abgeschlossen ist. Dadurch wird die ursprüngliche Festplatte Byte für Byte auf die neue Festplatte kopiert, einschließlich MBR usw. (Hinweis: Dies kann eine Weile dauern, abhängig von der Größe der ursprünglichen Festplatte, der Geschwindigkeit der Festplatte auf dem Host usw.). (Hinweis: Wenn Ihrer Gast-VM > 1GB RAM zugewiesen ist, können Sie den Parameter ‘bs’ in “bs=256M” ändern, was den Kopiervorgang etwas beschleunigen könnte).
  9. Öffnen Sie das Programm gparted erneut
  10. Wählen Sie das neue (größere) Laufwerk (sollte /dev/sdb sein) aus dem Dropdown-Menü oben rechts.
  11. Erweitern Sie die Partition(en) wie gewünscht. Um eine Partition zu erweitern, die sich nicht am Ende befindet, müssen Sie möglicherweise Partitionen verschieben, die nach der/den zu erweiternden Partition(en) liegen. Abhängig von den Besonderheiten Ihres Partitionierungsschemas müssen Sie dies möglicherweise in mehreren Schritten tun, z. B. die letzte Partition bis zum Ende vergrößern und dann verkleinern, indem Sie alles an das Ende verschieben. In meinem Fall war meine letzte Partition die Linux-Swap-Partition, also habe ich sie einfach gelöscht, meine primäre Partition wie gewünscht erweitert und dann die Swap-Partition am Ende neu erstellt (wobei ich darauf geachtet habe, das ursprüngliche Partitionierungsschema zu replizieren).
  12. Änderungen übernehmen.
  13. Zu diesem Zeitpunkt sollten Sie eine neue Festplatte mit fester Größe haben, die den gesamten ursprünglichen Inhalt enthält und mehr Platz als die ursprüngliche Festplatte bietet. Sie können die neue Festplatte in der Live-Umgebung von gparted einbinden und überprüfen.
  14. Fahren Sie die Gast-VM herunter (gparted live) und entfernen Sie das ISO vom Laufwerk der VM.
  15. Gehen Sie zu den VBox-Einstellungen für die Gast-VM, navigieren Sie zu Storage und entfernen Sie die ursprüngliche Festplatte aus der Liste (Rechtsklick und “Remove Attachment”). Dadurch sollte Ihre neu erstellte Festplatte für die VM übrig bleiben. Hinweis: Mit diesem Schritt wird lediglich die Festplatte aus der Konfiguration der Gast-VM entfernt - Ihre ursprüngliche Gast-VM-Festplatte (d. h. die kleine Festplatte) ist auf dem Host-Rechner weiterhin verfügbar.
  16. Booten Sie die VM und genießen Sie!
  17. (Sobald bestätigt ist, dass alles wie erwartet funktioniert, können Sie die ursprüngliche VM-Festplatte löschen.)

Während die obige Vorgehensweise bei mir mehrfach gut funktioniert hat, scheint es, dass ein paar weitere Schritte erforderlich sind, wenn LVM verwendet wird. (HINWEIS: Wenn LVM verwendet wird, können Sie einfach eine neue Festplatte mit der gewünschten Größe hinzufügen und diese dann der Volume-Gruppe hinzufügen). Bei CentOS 6.6, wo LVM verwendet wird, musste ich auch den Speicherplatz innerhalb von LVM vergrößern. Nachdem ich also die oben erstellte neue Platte gebootet hatte, tat ich etwas in dieser Art (verschiedene Teile davon werden je nach Namen Ihrer Einrichtung variieren):

  1. Informationen über die LVM-Einrichtung erhalten:

  2. Erweitern Sie das physische Volume (PV) (die Volume-Gruppe (VG) wird automatisch die gleiche Erhöhung widerspiegeln):

  3. Logisches Volume (LV) erweitern:

  4. Dateisystem erweitern:

2
2
2
2015-06-01 00:22:30 +0000

Ich bin zwar etwas spät dran, aber ich werde meine 2 Cents hinzufügen. Zuerst möchte ich sagen, dass dies ein komplizierter Prozess ist, der die meisten Gelegenheitsnutzer in den Wahnsinn treiben wird. Warum Oracle dies nicht in die VBox-GUI aufgenommen hat, ist ein Rätsel.

Schritt 1: Verwenden Sie die Windows-Befehlszeile (VBoxmanage), um die Laufwerksgröße zu erhöhen. Ein Tipp ist hier, die ID des vdi-Laufwerks zu verwenden, anstatt endlos zu versuchen, den Speicherort der Datei einzugeben und Fehlermeldungen zu erhalten.

Schritt 2: Sie müssen dann Ihre primäre Partition erweitern, um den neuen Platz zu nutzen. Laden Sie die gparted iso herunter und erstellen Sie eine neue virtuelle Maschine in VBox, indem Sie diese als IDE-Quelle verwenden. Verwenden Sie dann das vorhandene VDI-Laufwerk als SATA-Platte. Legen Sie kein virtuelles Laufwerk für diese Maschine an. Starten Sie die neue Maschine und Sie haben die gparted Gui laufen. Dies kann ein paar Neustarts benötigen, um sich zurechtzufinden.

Sobald gparted läuft, sehen Sie die Partitionen Ihres vdi-Laufwerks, deren Größe Sie ändern möchten. WICHTIG: Sie müssen die erweiterte Partition und den Swap-Dateispeicher löschen, um die Größe der primären Partition zu erhöhen, also weisen Sie nicht den gesamten neuen Speicherplatz für die PP zu. Sobald Sie dies getan haben, müssen Sie den verbleibenden Speicherplatz für die neue erweiterte Partition bestimmen und einen neuen Swap-Dateispeicher darin anlegen. Ich fand das viel einfacher, als mit der Kommandozeile herumzupfuschen.

Es ist kein Kinderspiel, aber es ist machbar… ich habe etwa einen halben Tag lang im Internet recherchiert, um das herauszufinden. Ausführen von win8.1 / Ubuntu auf VBox

Willie

1
1
1
2017-03-18 23:21:15 +0000

Hier ist, wie ich ein festes VDI-Image verkleinert/geschrumpft/reduziert habe (mein Prozess, um es zu erweitern, ist in einer anderen Antwort in diesem Thema):

Zuerst ein kurzer Hintergrund, warum ich dies brauchte (da es viele Szenarien gibt, um eine VDI zu schrumpfen, von denen einige mit diesem Ansatz vielleicht nicht machbar sind): Vor Jahren habe ich eine feste VDI für einen Windows Server-Gast erstellt und die Größe auf 600 GB festgelegt. Ich weiß nicht mehr, warum ich diese Größe gewählt habe, aber bis heute habe ich nur 100 GB in diesem Gast verbraucht und ich möchte den restlichen Platz zurückgewinnen. In meinem Fall möchte ich also alle Daten im Gast erhalten und einfach nur den ungenutzten Platz im Gast freigeben.

(Die folgenden Schritte entstammen größtenteils meiner Erinnerung daran, dass ich dies in den letzten 2 Stunden getan habe, also entschuldigen Sie bitte, wenn ich hier etwas übersehen habe.)

  1. Bestimmen Sie, wie groß Sie die neue Größe haben wollen. Natürlich wollen Sie dem Gast etwas mehr Platz lassen, als er momentan verbraucht. Die Größe muss mindestens so groß sein wie die Daten auf der Quell-/Originalplatte, gerundet auf das nächste GB.
  2. Verwenden Sie VirtualBox, um eine neue Festplatte mit fester Größe zu erstellen, deren Größe im vorherigen Schritt festgelegt wurde. Öffnen Sie dazu die VirtualBox-Einstellungen für die Gast-VM, navigieren Sie zu Storage, klicken Sie auf den HDD-Controller (z. B. “SATA”), und klicken Sie dann auf das “+”, um eine Festplatte hinzuzufügen. Konfigurieren Sie dann die neue Festplatte wie gewünscht.
  3. Laden Sie das gparted live ISO herunter und konfigurieren Sie die Gast-VM so, dass sie davon bootet (wiederum unter Speichereinstellungen).
  4. Sichern Sie den aktuellen Speicher der Gast-VM.
  5. Booten Sie die Gast-VM (sollte in die gparted-Live-Umgebung booten). Aus der gparted-Umgebung heraus:

  6. Gehen Sie zu den VBox-Einstellungen für die Gast-VM, navigieren Sie zu Storage (Speicher) und entfernen Sie die ursprüngliche Festplatte aus der Liste (klicken Sie mit der rechten Maustaste und wählen Sie “Remove Attachment”). Dadurch sollte Ihre neu erstellte Festplatte für die VM übrig bleiben. Hinweis: Mit diesem Schritt wird lediglich die Festplatte aus der Konfiguration der Gast-VM entfernt - Ihre ursprüngliche Gast-VM-Festplatte (d. h. die große VDI) ist auf dem Host-Rechner weiterhin verfügbar.

  7. Der letzte Schritt, den ich für meinen Windows-Gast durchführen musste, war das Setzen/Fixieren des MBR und/oder BCD. (Ich weiß nicht, ob irgendetwas davon für einen Linux-Gast erforderlich ist, da ich es noch nicht gemacht habe.) Wenn ich einfach von meiner neuen VDI gebootet habe, bekam ich einen Windows Boot Mgr Fehlerbildschirm mit diesem Inhalt (leider habe ich keinen Screenshot gemacht, bevor ich das Problem behoben habe):

  8. Besorgen Sie sich eine ISO einer Windows-Installation oder -Reparatur (idealerweise eine, die zu Ihrer Betriebssystemversion passt) und konfigurieren Sie die Gast-VM so, dass sie davon bootet (wieder Speichereinstellungen).

  9. Starten Sie die Gast-VM und wählen Sie, von der CD/DVD zu booten.

  10. Gehen Sie zu den VBox-Einstellungen für die Gast-VM, navigieren Sie zu Storage und entfernen Sie das Windows Install/Repair-ISO aus dem CD/DVD-Laufwerk.

  11. Booten Sie die VM und viel Spaß!

  12. (Sobald bestätigt ist, dass alles wie erwartet funktioniert, können Sie die ursprüngliche VM-Festplatte löschen).

0
0
0
2016-11-18 16:26:44 +0000

Ich biete eine Antwort, die auf jedes gehostete Betriebssystem erweitert wird, das auf einem beliebigen Host-Betriebssystem läuft. Diese Antwort geht davon aus, dass Sie die Größe erhöhen (erweitern) möchten.

Anmerkung: Wie von djule5 (siehe den Kommentar direkt nach der Frage) hervorgehoben, ist modifyhd jetzt als modifymedium bekannt (bleibt aber abwärtskompatibel). Hier verwende ich modifymedium.

1. Beenden Sie Ihre laufende VM

Ja, diese Antwort bezieht sich auf eine VDI-Datei, die bereits von einer VirtualBox-VM verwendet wird.

2. Öffnen Sie ein Terminal auf Ihrem Host, um die Größe des Disk-Images zu ändern

Die Kommandozeile VBoxManage will die Größe eines Disk-Images nicht mit dem VDI-Dateinamen ändern.

$ ls -s1 *.vdi
10260316160 my_disk_image.vdi

$ vboxmanage modifymedium my_disk_image.vdi --resizebyte 16260316160 VBoxManage: error: Cannot register the hard disk '/home/user/vm/my_disk_image.vdi' {181540c7-b791-4b2f-8e01-5feaff04a6eb} because a hard disk '/home/user/vm/my_disk_image.vdi' with UUID {181540c7-b791-4b2f-8e01-5feaff04a6eb} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 179 of file VBoxManageDisk.cpp

Identifizieren Sie daher die UUID Ihres Disk-Images.

$ ls -s1 *.vdi
10260316160 my_disk_image.vdi

$ vboxmanage list hdds
UUID: 181540c7-b791-4b2f-8e01-5feaff04a6eb
Parent UUID: base
State: created
Type: normal (base)
Location: /home/user/vm/my_disk_image.vdi
Storage format: VDI
Capacity: 10240 MBytes
Encryption: disabled

Erweitern Sie die Größe des Disk-Images.

$ vboxmanage modifymedium 181540c7-b791-4b2f-8e01-5feaff04a6eb --resizebyte 16260316160
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

3. Verwenden Sie ein Partitionierungswerkzeug, um die logische Partition zu erweitern

Führen Sie Ihre gehostete VM aus. Verwenden Sie dann ein Partitionierungswerkzeug .

Einige Tools für ein gehostetes GNU/Linux :

Wenn das gehostete System Windows verwendet :

4. Überprüfen Sie den freien Speicherplatz der Partition

Die Größe Ihrer VDI-Datei (auf Ihrem Host-System) hat sich möglicherweise nicht geändert, weil Ihre VM den zusätzlichen Speicherplatz noch nicht verwendet hat. Viel Spaß!

-1
-1
-1
2015-08-11 10:26:21 +0000

Dies würde für mich funktionieren und sollte die Gesamtmenge der Festplattenkapazität angeben. Nicht den Speicherplatz, den wir erhöhen müssen…

C:\Programme\Oracle\VirtualBox>VBoxManage.exe modifyhd “D:\Virtuelle Maschine\VirtualBox VMs\Windows 7 (FileZilla Server)\Windows 7 (FileZilla Server).vdi” –resize 15360