Vraag Hoe verhoog ik de hardeschijfgrootte van de virtuele machine?


enter image description here

Ik heb onvoldoende ruimte op mijn WinXP virtuele machine, die ik slechts 10 GB ruimte gaf voor toen ik het maakte. Is er een eenvoudige manier om het te verhogen naar bijvoorbeeld 20 GB? Ik zie geen voor de hand liggende optie in de VirtualBox-instellingen.


De onderstaande suggestie geeft deze fout

wim@wim-ubuntu:/media/data/winxp_vm$ VBoxManage modifyhd wim.vdi --resize 20000
VBoxManage: error: Cannot register the hard disk '/media/data/winxp_vm/wim.vdi' {46284957-2c09-4e70-8a49-bfbe0f7f681d} because a hard disk '/home/wim/VirtualBox VMs/winxp_vm/wim.vdi' with UUID {46284957-2c09-4e70-8a49-bfbe0f7f681d} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 210 of file VBoxManageDisk.cpp

Het verwijderen van de .vdi uit VirtualBox voor het aanroepen van de opdracht VBoxManage en het vervolgens weer toevoegen ervan, was succesvol. Maar nu kan ik de virtuele machine niet opstarten, ik krijg dit zorgwekkende scherm:

enter image description here

Trouwens, het zegt FATAL: Could not read from the boot medium! System halted.


De vdi moet opnieuw worden gekoppeld aan de VM na de opdracht VBoxManage. Verder moet de grootte van de partitie worden aangepast vanuit WITHIN-vensters, omdat je deze lege ruimte hebt:

enter image description here

Ik kon de grootte van de partitie eenvoudig wijzigen met behulp van een beetje freeware genaamd EASEUS Partition Master 9.1.0 Home-editie.


232
2017-12-18 11:51


oorsprong


Uw probleem is dat u de schijf hebt gekoppeld aan een '/ media / data'-locatie en dat deze zich niet op de oorspronkelijke locatie' / home / wim / VirtualBox VMs 'bevindt. Ik heb geantwoord met hoe ik dit heb opgelost. - stolsvik
ik heb mijn ervaring hier gedetailleerd beschreven: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   het "geaccepteerde" antwoord hieronder is allesbehalve gelijk. - kmonsoor
Er is nog een mogelijkheid om "de bestaande vdi te kopiëren" naar een "nieuwe lege vdi, waarvan de grootte groter is dan de bestaande" (refer justintung.com/2011/01/06/... ) - parasrish
Houd er ook rekening mee dat alleen het wijzigen van de grootte mogelijk niet helpt, omdat de "vdi" -grootte is toegenomen, maar op basis van de "vm-os-installatie", blijft uw primaire partitie hetzelfde en wordt de nieuw toegewezen ruimte meestal weergegeven "niet toegewezen ". U moet daarom de "herverdeling van de partitie" uitvoeren (zie de link hierboven). - parasrish


antwoorden:


Open een terminal en navigeer naar de map met de VirtualBox-schijfkopie en gebruik vervolgens de volgende opdracht:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

vervangen YOUR_HARD_DISK en SIZE_IN_MB met je afbeeldingnaam en gewenste grootte. sudo kan op sommige computers noodzakelijk zijn of u kunt een fout tegenkomen. Dit antwoord en een uitgebreidere uitleg zijn hier op webupd8. Met dank aan Andrew daar voor het plaatsen van dit antwoord.

Na het vergroten / verkleinen, de extra virtuele harde schijfruimte moet worden gepartitioneerd en geformatteerd voor de gast om het te gebruiken. Dit kan gedaan worden met gparted door de gast te booten vanuit een live ISO. We kunnen ook de grootte van de bestaande partitie aanpassen met behulp van gparted. Hiervoor moeten we mogelijk uitschakelen /swap en maak een nieuwe swappartitie.


298
2017-12-18 12:07



1. Gewoon gebruikt om de grootte van mijn Windows 7-schijf te vergroten van 20 naar 30 GB, en het werkte heel soepel (geen ongedaan maken enz. Nodig). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  Aanvankelijk ontdekte Windows de toegenomen ruimte niet, maar na een power-off deed het dat en kon ik de ingebouwde Schijfbeheer-tool gebruiken om mijn C: -partitie groter te maken. - Jonik
+1, dit is zeker de schoonste manier om het te doen. - Starx
@asd Het wijzigen van de schijfgrootte is niet voldoende, u moet ook de grootte van de partitie wijzigen. - Bruno
DIT ZAL WERKEN! U moet de partitie echter wel vergroten nadat Windows de nieuwe ruimte kan registreren. Beste en snelste / gemakkelijkste methode: howtogeek.com/howto/windows-vista/... - tfont
Ik denk dat dit in recente versies van VirtualBox wel het geval is .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 nu. modifyhd is echter ook werken - er is een achterwaartse compatibiliteit met oudere opdrachten. - TranslucentCloud


Het volgende werkte voor mij:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Ik begrijp echter hoe de kilometerstand kan verschillen :-) Wat het formaat van de partitie betreft, kon ik in Windows 7 het formaat wijzigen op het scherm dat je liet zien door met de rechtermuisknop op de knop te klikken. C: drive in het onderste paneel en selecteer volume uitbreiden.

Computer management screen


23
2018-04-15 11:53



sudo is niet noodzakelijk. Het kan de machtigingen in je thuismap beschadigen, waardoor je deze moet gebruiken sudo voor virtualbox, dat is a slecht idee. - Lekensteyn
@Lekensteyn: goed om te weten dat het niet nodig is. Ik gebruikte het omdat anderen hadden gezegd dat het niet werkte zonder root te zijn. Wat betreft de corruptie van toestemming, werkt chmod goed om dergelijke fouten te verhelpen. - Richard Povinelli
@Lekensteyn: chown lost eigendomsfouten op. Ik noem chmod en chown, omdat ik het probleem dat je vaak herhaalt moet oplossen :-) - Richard Povinelli
Dit is geweldig voor Windows, maar als je een Linux-gast-besturingssysteem hebt, kan deze link helpen bij het wijzigen van de grootte van de partities: forums.virtualbox.org/viewtopic.php?f=35&t=50661 - Jon
Als u windows in linux uitvoert, moet u deze optie volgen en de schijf uitbreiden, anders zullen vensters niet de extra ruimte toevoegen die we hebben toegevoegd - Ajith R Nair


Wim, ik denk dat je het eerst moet afmelden bij Vbox. Bestand, mediabeheer, klik op je hdd en maak de registratie ongedaan. Probeer het dan opnieuw.


17
2017-12-19 11:40



Niet vereist voor Linux in VirtualBox. Het gast-besturingssysteem moest eerst volledig worden uitgeschakeld. - Underverse


Na het wijzigen van de grootte en het niet kunnen bekijken van de grootte van mijn Windows XP-gastmachine, moest ik

  1. kloon het
  2. wijzig het met "VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720" en alles werkte

Ik zag in andere forums dat snapshots kunnen interfereren met het wijzigen van de grootte en niet in staat zijn om alle snapshots te verwijderen voor verschillende fouten die ik kreeg, de enige gevonden oplossing voor mij was om het te klonen om de snapshots te verwijderen en het te verkleinen, en alles werkte. Voor het wijzigen van de grootte van vensters buiten, een Gparted opstart-cd die kan worden gevonden hier kan helpen


7
2018-05-28 11:11





Ik had hetzelfde probleem waarbij ik een schijf had verplaatst en het origineel door een symlink had vervangen. Dit werkt OK daarna, maar je loopt problemen tegen met de 'modifyhd' opdracht, omdat die blijkbaar het pad naar het vdi-bestand kanonicaliseren wanneer ermee wordt gewerkt. Hierdoor lijkt het erop dat u probeert een nieuwe schijf met dezelfde UUID toe te voegen, maar op een ander pad - of iets dergelijks.

Er waren twee problemen:

  1. De schijf moest worden verwijderd van de VM die deze gebruikte, maar dan ook "van de VirtualBox-lijst van hdds". Dit is opgelost met de opdracht 'closemedium', die deze uit die lijst verwijdert.

  2. De schijf waarvan de grootte moet worden aangepast, is een "vaste schijf" in plaats van "dynamisch" en alleen de grootte van dynamische schijven kan worden gewijzigd. Dat was opgelost met een 'kloon'-commando (de kloon is dynamisch) en verklein dan de resulterende schijf.

Dit is mijn logboek voor hoe het werd gedaan. Merk dat ik ben niet op elk moment als root, behalve wanneer ik daarna de grootte van de partitie en het bestandssysteem wijzig.

VERWIJDER DE ASSOCIATIE NAAR DE SCHIJF VAN VM. 

PROBLEEM NOG DUIVEN:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
VBoxManage: error: Cannot register the hard disk '/datadisk/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' {6cd99209-e4db-4178-a6c2-53f9581b1fad} because a hard disk '/home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi' with UUID {6cd99209-e4db-4178-a6c2-53f9581b1fad} already exists
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

Ah, de schijf staat nog steeds "in het systeem":

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

UUID:        6cd99209-e4db-4178-a6c2-53f9581b1fad
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 64 bit/TestInception 64 bit.vdi
State:       created
Type:        normal

Verwijder / verwijder de schijf uit de VirtualBox-schijflijst ("closemedium"):

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage closemedium disk 6cd99209-e4db-4178-a6c2-53f9581b1fad
virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage list hdds
UUID:        ba58276a-bbe1-4354-8ae5-246bdac390c8
Parent UUID: base
Format:      VDI
Location:    /home/virt_box/VirtualBox VMs/TestInception 32 bit/TestInception.vdi
State:       locked write
Type:        normal
Usage:       TestInception 32 bit (UUID: a693ac62-7caa-4f11-9d00-51d3a149f5f7)

Probeer opnieuw te resizen:

virt_box@TestBox:~/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd TestInception\ 64\ bit.vdi --resize 8192
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

DAMN, "fixed-size" WERKT NIET! 'gekloond' om te redden, want dat laat een 'dynamisch toegewezen' gekloonde schijf achter:

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage clonehd TestInception\ 64\ bit.vdi TestInception\ 64\ bit-cloned.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 8e237500-173b-401a-9e63-9e64da110da9

NU DOET DE RESIZE (instantanious):

virt_box@TestBox:/datadisk/VirtualBox VMs/TestInception 64 bit$ VBoxManage modifyhd --resize 8192 TestInception\ 64\ bit-cloned.vdi 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

BEVESTIGEN DAN AAN EEN AANTAL VM, VOOR RESIZING. Dit wordt gedaan als root. Gaat ervan uit dat je maar één partitie hebt en mogelijk verwisselt.

# fdisk /dev/sdb  # <- The extra disk, just attached to be resized
// The procedure looks like this:
// m - print help
// p - print table
// d ... - delete partition (delete both if you have root and swap)
// n - new partition (create root/first partition starting on exact same sector as before, typically 2048, but ends on last, or last minus swap)
//  ... n.. (.. then add the swap partition. Calculate how many sectors using original table)
// t - change type of partition (swap partition, if any, to 82 - not 83 which is "normal Linux").
// w - write partition table (write out, with the resized partition)

# e2fsck -f /dev/sdb1

e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 99918/122160 files (0.3% non-contiguous), 471032/487936 blocks

# resize2fs /dev/sdb1

resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/sdb1 to 1965824 (4k) blocks.
The filesystem on /dev/sdb1 is now 1965824 blocks long.

5
2018-04-09 12:01



Dit werkte voor mij, volgde de gids hier: yinfor.com/2015/05/... - marijnz0r


Dit werkte voor mij met Virtualbox 5.2.6 geïnstalleerd op Ubuntu 16.04 Host Machine en Windows 10 Guest: open Virtualbox Manager, klik op Global Tools (rechterbovenhoek) en kies Virtual Media Manager. Klik op het tabblad Harde schijf en selecteer uw gast-besturingssysteem. Klik onderaan het vak op het tabblad Attributen. Onderaan ziet u de grootte van de virtuele schijf en met de schuifregelaar kunt u de grootte naar wens vergroten. (Je kunt alleen met deze methode de grootte vergroten, niet verkleinen). Klik op Toepassen. Start uw Windows Guest OS, open Computerbeheer, klik met de rechtermuisknop op C: Drive en selecteer Volume uitbreiden om het bestandssysteem uit te breiden met het niet-toegewezen deel.

Dat is alles wat ik moest doen, werkt perfect voor mij.


2
2018-01-24 17:55



Werkte geweldig. Zou dit niet het geaccepteerde antwoord moeten zijn, althans voor de recente versies van VirtualBox? - AlwaysLearning


Een zekere manier is om hetzelfde te doen als naar een grotere harde schijf gaan die niet in een VM draait. Gebruik eerst ccleaner of vergelijkbaar programma in XP om alle ongewenste bestanden die het kan op te ruimen. Maak vervolgens een tweede virtuele harde schijf van de gewenste grootte. Start met de clonezilla-ISO in uw virtuele ODD-schijf en kloon samen met de geselecteerde optie 'Formaat wijzigen naar nieuwe partitiegrootte'. Stel vervolgens de nieuwe virtuele HDD in als primair en verwijder de oude niet totdat u weet dat het werkte.


1
2017-12-19 14:03