Ich versuche herauszufinden, wie die Größe einer VDI-Datei geändert werden kann. Ich bin neu bei VirtualBox und muss noch viel lernen. Aber ich glaube, ich habe die Grundlagen verstanden. Ich habe Windows 7 bereits als meinen ersten Gast installiert. Der Host ist auch Windows 7. Ich war mir nicht sicher, wie viel Speicherplatz zugewiesen werden sollte, und entschied mich für eine VDI-Größe von 40 GB und eine feste Größe, um die Leistung zu steigern. Aber ich habe es mir jetzt anders überlegt und möchte weitere 10 GB hinzufügen. Ich habe durch das Programm geklickt und den Inhalt des Hilfemenüs gelesen, aber es hilft nicht. Es erklärt Festplattencontroller, SAS, SATA, SCSI, Yada, Yada, aber nicht das, wonach ich suche.
Ich habe im World Wide Web nach Antworten gesucht. Im VirtualBox-Forum heißt es, Sie sollten Gparted verwenden, wenn Sie die einfachste Methode möchten (einige Mods haben einen Sticky gepostet). Einige Benutzer diskutieren die Verwendung des Befehls dd
. Aber das ist alles Linux-Zeug. Auch hier bei SU gibt es viele Fragen, die sich mit dem Vergrößern und Verkleinern von VDI-Dateien befassen, aber alles dreht sich darum, Linux als Host und Windows als Gast zu verwenden.
Ich fand diesen netten Blog Beitrag darüber, wie man es mit dem Befehl modifyhd
von VBoxManage macht. Dieser Typ macht es auch unter Linux als Host-Betriebssystem. Er wollte sogar die gleiche Größe (50 GB) für seine VDI-Datei wie ich, was für ein Zufall. Also dachte ich, ich würde es trotzdem versuchen, entweder machen oder brechen. Was kann möglicherweise schief gehen? ... wie? Nun, das ist die hässliche Überraschung, die ich bekam.
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 jetzt sagen?! ... können virtuelle Festplatten im VDI-Format nicht skaliert werden? Sagst du nicht Unterstützen Sie Ihr eigenes Format nicht? Wie wäre es damit ...
Gibt es wirklich keine einfache Möglichkeit, die Größe einer VDI-Datei zu ändern, vorzugsweise mit ein paar Klicks in VirtualBox? Ist etwas in Arbeit?
Zusammenfassung:
VBoxManage.exe modifyhd --resize
kann die logische Größe des Datenträgerabbilds (die Größe, die vom Gastbetriebssystem angezeigt wird) erhöhen (aber nicht verringern).VBoxManage.exe modifyhd inputfile.vdi --compact
kann die Größe des Images der physischen Festplatte verringern (die Größe der Image-Datei auf der Festplatte, wie sie vom Host-Betriebssystem angezeigt wird). Dies ändert jedoch nicht die Größe des logischen Datenträgers. Beachten Sie, dass dies nur funktioniert, wenn der freie Speicherplatz zuerst im Gastbetriebssystem auf Null gesetzt wurde.modifyhd
funktioniert nur mit der dynamischen Formatvariante ("dynamisch zugewiesenes Bild").modifyhd
funktioniert nur mit den Bildformaten VDI und VHD.Einzelheiten siehe Abschnitt 8.23. VBoxManage modifyhd im Handbuch.
Der Grund, warum das Verringern der Größe der logischen Festplatte eines VDI noch nicht implementiert wurde, besteht darin, Datenbeschädigungen zu vermeiden, die auftreten können und die dazu führen, dass VMs nicht mehr gestartet werden können. Wenn die Option --resize
verwendet wird, muss die neue Datenträgergröße daher größer sein als die aktuelle Größe. Es darf nicht kleiner oder gleich der aktuellen Größe sein. Mit anderen Worten, eine 40-GB-Festplatte kann nur auf eine Größe von 41 GB oder mehr, nicht auf eine Größe von 40 GB (das ist nur dumm) oder auf eine Größe von 39 GB oder weniger angepasst werden.
Alte Versionen von VirtualBox haben VDI-Dateien als "feste" Formatvariante erstellt. Die neue Standardeinstellung besteht nun darin, "dynamische" Formatvarianten zu erstellen, wenn neue VDI-Dateien (Virtual Disk Image) erstellt werden. (Ich vermute, dass dies seit der Einführung der dynamischen Formatvariante der Fall ist, in welcher Version auch immer.)
Die Fehlermeldung "Vorgang für dieses Format ist noch nicht implementiert" bedeutet also, dass Ihre VDI-Datei die Formatvariante "Fest" verwendet. Um dieses Problem zu umgehen, müssen Sie Ihre VDI-Datei mit dem Befehl clonehd
klonen. Mit dem Befehl showhdinfo
können Sie anzeigen, in welcher Formatvariante sich Ihre VDI-Datei gerade befindet.
VDI-Informationen zur aktuellen Festplatte 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 es heißt "fester Standard"? Aus diesem Grund wird der obige Fehler bei dem Versuch, die Größe zu ändern, ausgeblendet.
Klonen Sie 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 wurde jetzt in eine neue Datei geklont. Da die Standardeinstellung in neuen Versionen von VirtualBox die Verwendung der "dynamischen" Formatvariante ist, müssen Sie dies nicht explizit definieren. Wenn Sie jedoch mit einer älteren Version von VirtualBox arbeiten, möchten Sie möglicherweise die Option auf "dynamisch" setzen (falls überhaupt verfügbar), um eine bessere Kompatibilität und/oder Flexibilität mit zukünftigen Versionen von VirtualBox sicherzustellen.
VDI-Informationen zur geklonten 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 es jetzt heißt "Dynamic Default"? Wie schön!
(Nebenbei bemerkt! Der Grund, warum hier 7806 MB als physische Größe angegeben sind, ist, dass ich die Option --compact
für die ursprüngliche VDI-Datei verwendet habe, um die Konvertierung in eine dynamische Formatvariante zu erzwingen. Nur etwas, was ich auf der VirtualBox gelesen habe Forum, es hätte angeblich mit älteren Versionen geklappt, also dachte ich, ich könnte es auch mal versuchen. Es hat nicht geklappt.)
Größe der geklonten Festplatte ändern.
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 Formatbullshitting mehr. Denken Sie daran, die Größe der neuen, geklonten und nicht der ursprünglichen Festplatte zu ändern. Beachten Sie, dass die Größe in MB angegeben wird. Ich glaube, Sie können z. 51200
sowie 50G
(oder möglicherweise "GB"). Es gibt auch die Option --resizebyte
, mit der die Größe in Bytes ausgedrückt werden kann.
Zeigt VDI-Informationen zu der verkleinerten Klon-Festplatte an.
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 ist es! Ab hier müssen Sie dieses geklonte Laufwerk als Ihre neue VDI für die VM hinzufügen. Das machen Sie in VirtualBox. Ich werde nicht darauf eingehen. Wenn Sie dies bisher gelesen und verstanden haben, brauchen Sie wahrscheinlich keine weiteren Anleitungen. Sie können entweder die alte "feste" Datei löschen oder als Backup behalten. Stellen Sie sicher, dass Sie die neue VDI-Datei testen, bevor Sie die ursprüngliche Quelldatei löschen.
Hinweis! Die neue Größe der geklonten Festplatte wird nicht sofort angezeigt. Sie müssen das VM damit booten und dann mit Ihrem Partitionsverwaltungstool Ihre Partition erweitern, um die virtuelle Festplatte zu füllen (oder weitere Partitionen zu erstellen). Führen Sie für Windows einfach diskmgmt.msc
aus, und Sie können die Partition dort erweitern.
Hier ist ein ziemlich einfacher Vorgang, mit dem ich die Größe einer VirtualBox-Festplatte (Version 4.3.16) mit fester Größe in eine dynamische 60-GB-Festplatte auf meinem Mac (OS X 10.9.4) mit Linux (Ubuntu 14.04) als Gastbetriebssystem ändern konnte:
In Terminal auf dem Mac CD 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
Fügen Sie im Speicherbereich der VirtualBox-Anwendung mydiskClone.vdi als zweite Festplatte hinzu und starten Sie dann VM normal.
Geben Sie in der Shell auf dem Gastbetriebssystem Folgendes ein:
Sudo fdisk /dev/sdb
- delete all partitions
- create new partition on full disk
Starten Sie den Gast neu. Wenn es wieder hochgefahren wird, gehen Sie erneut zur Shell und geben Sie Folgendes ein:
Sudo resize2fs /dev/sdb1
Fahren Sie das Gastbetriebssystem herunter.
Legen Sie im Speicherabschnitt der VirtualBox-Anwendung erneut mydiskClone.vdi als Startdiskette fest. Starten Sie dann das Gastbetriebssystem und überprüfen Sie die neue Festplattengröße mithilfe der Eigenschaften von "Computer" im Dateibrowser.
Das Klonen ist tatsächlich eine 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 ist Ihre originale vdi-Festplatte mit fester Größe, und Ihr Ziel ist etwas Neues Ihrer Wahl (einschließlich der Option eines neuen).
OK, also habe ich es geschafft ohne zu klonen .
Ich hatte eine 100 GB VDI-Datei (festes Format) mit Ubuntu darauf. Funktioniert gut. Ich wollte Speicherplatz auf dem Host freigeben, indem ich die VM verkleinerte.
Schritte:
Gelöschte unerwünschte Dateien. 45GB kostenlos. Ich brauche nur 30GB, um befreit zu werden.
Ich habe nur eine Partition, daher kann ich im Gast-Ubuntu nichts tun. Hängte Ubuntu Live in das VM ein und bootete von dort.
Verwenden Sie gparted
, um die Partition auf 70 GB zu verkleinern. Erstellt eine neue Partition im ungenutzten Bereich in ext4
.
Der freie Speicherplatz in einer neuen Partition (30 GB).
Befolgen Sie diese Anleitung: Verkleinern Sie die virtuelle Festplatte unter Ubuntu als Gast- und Host-Betriebssystem mit null
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
Komprimieren Sie den VDI
VBoxManage modifyhd "ubuntu.vdi" kompakt
Es hat eine Weile gedauert, aber es hat funktioniert!
So habe ich ein festes VDI-Image vergrößert/vergrößert/verkleinert (mein Vorgang zum Verkleinern ist in einer anderen Antwort enthalten):
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: Je nach Größe der ursprünglichen Festplatte, Geschwindigkeit der Festplatte auf dem Host usw. kann dies eine Weile dauern.) (Hinweis: Wenn Ihrem Gast VM> 1 GB RAM zugewiesen sind, können Sie den Parameter 'bs' in "bs = 256 MB" ändern, wodurch die Kopie möglicherweise etwas beschleunigt wird.).Das oben Genannte hat bei mir bereits mehrfach funktioniert, aber es scheint ein paar weitere Schritte zu erfordern, wenn LVM verwendet wird. (ANMERKUNG: Wenn LVM verwendet wird, können Sie einfach eine neue Festplatte mit der gewünschten Größe hinzufügen und diese dann der Datenträgergruppe hinzufügen.) Unter CentOS 6.6, wo LVM verwendet wird, musste ich auch den Speicherplatz innerhalb von LVM erhöhen. Nachdem ich die oben erstellte neue Festplatte gebootet habe, habe ich etwas in diese Richtung getan (verschiedene Teile davon hängen von den Namen Ihres Setups ab):
Hier erhalten Sie Informationen zum LVM-Setup:
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_rhel6bm1 lvm2 a-- 31.51g 0
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_rhel6bm1 1 2 0 wz--n- 31.51g 0
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_rhel6bm1 -wi-ao---- 28.31g
lv_swap vg_rhel6bm1 -wi-ao---- 3.20g
Erweitern Sie das physische Volumen (PV) (Lautstärkegruppe (VG) spiegelt automatisch dieselbe Erhöhung wider):
# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_rhel6bm1 lvm2 a-- 39.51g 8.00g
# vgs
VG #PV #LV #SN Attr VSize VFree
vg_rhel6bm1 1 2 0 wz--n- 39.51g 8.00g
Logisches Volume erweitern (LV):
# lvextend /dev/vg_rhel6bm1/lv_root /dev/sda2
Size of logical volume vg_rhel6bm1/lv_root changed from 28.31 GiB (7247 extents) to 36.31 GiB (9295 extents).
Logical volume lv_root successfully resized
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_rhel6bm1 -wi-ao---- 36.31g
lv_swap vg_rhel6bm1 -wi-ao---- 3.20g
Dateisystem erweitern:
Vor:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rhel6bm1-lv_root
28G 24G 3.1G 89% /
tmpfs 939M 232K 939M 1% /dev/shm
/dev/sda1 477M 85M 368M 19% /boot
Befehl:
# resize2fs /dev/mapper/vg_rhel6bm1-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_rhel6bm1-lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/mapper/vg_rhel6bm1-lv_root to 9518080 (4k) blocks.
The filesystem on /dev/mapper/vg_rhel6bm1-lv_root is now 9518080 blocks long.
Nach dem:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_rhel6bm1-lv_root
36G 24G 11G 69% /
tmpfs 939M 232K 939M 1% /dev/shm
/dev/sda1 477M 85M 368M 19% /boot
Etwas spät zur Party hier, aber ich werde meine 2 Cent hinzufügen. Zuerst möchte ich sagen, dass dies ein komplizierter Prozess ist, der die meisten Gelegenheitsnutzer verrückt macht, die versuchen, es herauszufinden. 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 hier ist, 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 Speicherplatz zu nutzen. Laden Sie die gparted iso herunter und erstellen Sie eine neue virtuelle Maschine in VBox. Verwenden Sie diese als Quelle für IDE. Verwenden Sie dann das vorhandene VDI-Laufwerk als SATA-Laufwerk. Erstellen Sie kein virtuelles Laufwerk für diesen Computer. Starten Sie die neue Maschine und Sie haben die gparted Gui ausgeführt. Dies kann einige Neustarts erfordern, um sich selbst zu beheben.
Sobald gparted ausgeführt wird, sehen Sie die Partitionen Ihres VDI-Laufwerks, deren Größe Sie ändern möchten. WICHTIG: Sie müssen die erweiterte Partition löschen und den Dateibereich austauschen, um die Größe der primären Partition erhöhen zu können. Weisen Sie dem PP daher nicht den gesamten neuen Speicherplatz zu. Sobald Sie dies tun, müssen Sie den verbleibenden Speicherplatz für die neue erweiterte Partition festlegen und einen neuen Auslagerungsdateibereich innerhalb dieses Speicherplatzes erstellen. Ich fand das viel einfacher, als mit der Kommandozeile herumzuspielen.
Kein Kinderspiel, aber machbar ... ich habe etwa einen halben Tag lang im Internet recherchiert, um das herauszufinden. Laufen win8.1/Ubuntu auf VBox
Willie
So habe ich ein festes VDI-Image verkleinert/verkleinert/verkleinert (mein Prozess zum Erweitern befindet sich in einer anderen Antwort in demselben Thema):
Zuerst ein kurzer Hintergrund, warum ich das brauchte (da es viele Szenarien zum Verkleinern eines VDI gibt, von denen einige mit diesem Ansatz möglicherweise nicht durchführbar sind): Vor Jahren habe ich ein festes VDI für einen Windows Server-Gast erstellt und es auf 600 GB dimensioniert. Ich kann mich nicht erinnern, 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 größten Teil des verbleibenden Speicherplatzes zurückfordern. In meinem Fall möchte ich also alle Daten im Gast behalten und einfach nicht genutzten Speicherplatz im Gast freigeben.
(Die folgenden Schritte stammen größtenteils aus meiner Erinnerung daran, dass ich dies in den letzten 2 Stunden getan habe. Ich entschuldige mich, wenn ich hier etwas verpasse.)
Booten Sie den Gast VM (sollte in einer gparted Live-Umgebung booten). Aus der Umgebung heraus:
Angenommen, Ihre „Original“ Disk/dev/sda und „neu“/dev/sdb (wenn nicht, stellen Sie den folgenden Befehl in geeigneter Weise), dann werden wir jede Partition kopieren, einen nach dem anderen. Geben Sie für jede Partition, die aus dem obigen Schritt hervorgeht, den folgenden Befehl in das Terminal ein:
# dd if=/dev/sda1 of=/dev/sdb1 status=progress bs=128M
und warten Sie, bis der Vorgang abgeschlossen ist. Dadurch wird Partition 1 von der ursprünglichen Festplatte auf Partition 1 auf der neuen Festplatte byteweise kopiert.
Wiederholen Sie den Befehl für jede verbleibende Partition:
# dd if=/dev/sda2 of=/dev/sdb2 status=progress bs=128M
# dd if=/dev/sda3 of=/dev/sdb3 status=progress bs=128M
# ...
Anmerkungen:
Der letzte Schritt, den ich für meinen Windows-Gast ausführen musste, war das Festlegen/Korrigieren des MBR und/oder des BCD. (Ich weiß nicht, ob dies für einen Linux-Gast erforderlich ist, da ich es noch nicht getan habe.) Wenn ich einfach von meinem neuen VDI gebootet habe, wurde ein Windows-Boot-Manager-Fehlerbildschirm mit diesem Inhalt angezeigt (ich habe es leider nicht getan). Ich mache keinen Screenshot, bevor ich das Problem behoben habe.
windows failed to start
status 0xc000000e
information A required device isn't connected or can't be accessed.
Beziehen Sie eine ISO-Datei für eine Windows-Installation oder -Reparatur (im Idealfall eine, die Ihrer Betriebssystemversion entspricht) und konfigurieren Sie den Gast VM, um von dieser zu starten (erneut Speichereinstellungen).
Starten Sie den Gast VM und starten Sie ihn von der CD/DVD.
Wenn Sie an einer Eingabeaufforderung angelangt sind, führen Sie die folgenden Befehle aus (danke an http://loverofcode.blogspot.com/2013/11/fixed-0xc000000e-boot-error.html für die Info!):
> bootrec /fixmbr
> bootrec /fixboot
> bootrec /rebuildBcd
Dieser letzte Befehl sollte Ihre Windows-Installation finden und Sie auffordern, sie dem BCD hinzuzufügen. Antworten Sie mit "Y".
Ich stelle eine Antwort zur Verfügung, die für jedes gehostete Betriebssystem gilt, das auf einem beliebigen Host-Betriebssystem ausgeführt wird. In dieser Antwort wird davon ausgegangen, dass Sie die Größe erhöhen (erweitern) möchten.
Hinweis: Wie von djule5 (siehe Kommentar direkt nach der Frage) hervorgehoben, heißt modifyhd
jetzt modifymedium
(bleibt jedoch abwärtskompatibel). Hier benutze ich modifymedium
.
Ja, diese Antwort gilt für eine VDI-Datei, die bereits von einer VirtualBox-VM verwendet wird.
Die Befehlszeile VBoxManage möchte die Größe eines Datenträgerabbilds 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
Ermitteln Sie daher die UUID Ihres Festplatten-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 Disk-Image-Größe.
$ vboxmanage modifymedium 181540c7-b791-4b2f-8e01-5feaff04a6eb --resizebyte 16260316160
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
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:
Die Größe Ihrer VDI-Datei (auf Ihrem Host-System) hat sich möglicherweise nicht geändert, da Ihr VM den zusätzlichen Speicherplatz noch nicht belegt hat. Habe Spaß.