Domanda Come posso aumentare la dimensione del disco rigido della macchina virtuale?


enter image description here

Ho esaurito lo spazio sulla mia macchina virtuale WinXP, che ho dato solo 10 GB di spazio per quando l'ho creato. C'è un modo semplice per aumentarlo, diciamo, 20 GB? Non riesco a vedere nessuna opzione ovvia nelle impostazioni di VirtualBox.


Il suggerimento qui sotto dà questo errore

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

Rimozione di .vdi da VirtualBox prima di chiamare il comando VBoxManage, quindi aggiungerlo di nuovo, ha avuto successo. Ma ora non riesco ad avviare la macchina virtuale, ottengo questa schermata preoccupante:

enter image description here

A proposito, dice FATAL: Could not read from the boot medium! System halted.


Il vdi deve essere ricollegato alla VM dopo il comando VBoxManage. Inoltre, la partizione dovrà essere ridimensionata da WITHIN windows, perché avrai questo spazio vuoto:

enter image description here

Sono stato in grado di ridimensionare facilmente la partizione usando un po 'di freeware chiamato EASEUS Partition Master 9.1.0 Home Edition.


232
2017-12-18 11:51


origine


Il tuo problema è che hai collegato il disco a un percorso "/ media / dati" e che non si trova nella posizione originale "/ home / wim / VirtualBox". Ho risposto con come ho risolto questo problema. - stolsvik
ho dettagliato la mia esperienza qui: kmonsoor.wordpress.com/2012/05/26/virtualbox-increase-disk-size   la risposta "accettata" di seguito è ben lungi dall'essere giusta. - kmonsoor
Esiste un'altra possibilità di "copiare il vdi esistente" in un "nuovo vdi vuoto, la cui dimensione è maggiore di quella esistente" (riferimento justintung.com/2011/01/06/... ) - parasrish
si noti inoltre che il ridimensionamento potrebbe non essere d'aiuto, poiché la dimensione "vdi" sarebbe aumentata, ma in base alla "installazione di vm-os", la partizione primaria rimane invariata e lo spazio appena assegnato viene in genere visualizzato "non allocato" ". È necessario quindi eseguire la "ridistribuzione della partizione" (fare riferimento al collegamento sopra). - parasrish


risposte:


Aprire un terminale e accedere alla cartella con l'immagine del disco VirtualBox, quindi utilizzare il seguente comando:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

sostituzione YOUR_HARD_DISK e SIZE_IN_MB con il nome dell'immagine e la dimensione desiderata. sudo potrebbe essere necessario in alcune macchine o potresti riscontrare un errore. Questa risposta e una spiegazione più completa sono qui, su webupd8. Ringraziamo Andrew per aver postato questa risposta.

Dopo il ridimensionamento, l'extra lo spazio sul disco rigido virtuale deve essere partizionato e formattato per l'ospite di usarlo. Questo può essere fatto con gparted avviando il guest da un ISO live. Possiamo anche ridimensionare la partizione esistente usando gparted. Per questo potremmo aver bisogno di disabilitare /swap e creare una nuova partizione di swap.


298
2017-12-18 12:07



+1. Utilizzato solo per aumentare la dimensione del mio disco di Windows 7 da 20 a 30 GB, e ha funzionato molto agevolmente (non è stata necessaria alcuna registrazione ecc.). $ VBoxManage modifyhd Windows7.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  Inizialmente Windows non ha rilevato lo spazio aumentato, ma dopo uno spegnimento ha funzionato, e quindi sono stato in grado di utilizzare lo strumento di gestione disco integrato per aumentare la dimensione della mia partizione C :. - Jonik
+1, questo è sicuramente il modo più pulito per farlo. - Starx
@asd La modifica della dimensione del disco non è sufficiente, è inoltre necessario ridimensionare la partizione. - Bruno
QUESTO FUNZIONERÀ! Tuttavia, è necessario aumentare la partizione dopo che Windows può registrare il nuovo spazio. Il metodo migliore e più rapido / semplice: howtogeek.com/howto/windows-vista/... - tfont
Penso che sia nelle versioni recenti di VirtualBox .\VBoxManage.exe modifymedium disk 4d30d154-f8c2-4a3b-bd8b-ddcfbfe64aaf --resize 30720 adesso. modifyhd funziona anche se c'è una compatibilità con i precedenti comandi. - TranslucentCloud


Quanto segue ha funzionato per me:

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB

Tuttavia, capisco come il chilometraggio può variare :-) Per quanto riguarda il ridimensionamento della partizione, in Windows 7, sono stato in grado di ridimensionare lo schermo che hai mostrato facendo clic destro sul C: guida nel pannello in basso e seleziona estendere il volume.

Computer management screen


23
2018-04-15 11:53



sudo è non necessario. Può danneggiare le autorizzazioni nella tua home directory, richiedendoti di usarle sudo per virtualbox che è a cattivo idea. - Lekensteyn
@Lekensteyn: Buono a sapersi che non è necessario. L'ho usato perché altri avevano detto che non funzionava senza essere root. Per quanto riguarda la corruzione dei permessi, chmod funziona bene per correggere tali errori. - Richard Povinelli
@Lekensteyn: chown risolverà gli errori di proprietà. Menziono chmod e chown, perché ho dovuto risolvere il problema a cui fai riferimento più volte :-) - Richard Povinelli
Questo è ottimo per Windows, ma se hai un SO guest Linux questo link può aiutarti a ridimensionare le partizioni: forums.virtualbox.org/viewtopic.php?f=35&t=50661 - Jon
Se stai usando windows in linux devi seguire queste opzioni ed estendere il disco, altrimenti windows non aggiungerà lo spazio aggiuntivo che abbiamo aggiunto - Ajith R Nair


Wim, penso che dovrai prima annullarne la registrazione da Vbox. File, Media Manager, fai clic su hdd e annullalo. Quindi prova di nuovo.


17
2017-12-19 11:40



Non richiesto su Linux in VirtualBox. Dovevo solo spegnere completamente il SO guest. - Underverse


Dopo il ridimensionamento e non essere in grado di visualizzare il ridimensionamento sul mio computer guest Windows XP, ho dovuto

  1. clonarlo
  2. ridimensionalo con "VBoxManage modifyhd winxppro \ Clone.vdi --resize 30720" e tutto ha funzionato

Ho visto in altri forum che le istantanee possono interferire con il ridimensionamento e non essere in grado di rimuovere tutte le istantanee per i diversi errori che ho ottenuto, l'unica soluzione trovata era quella di clonarlo per rimuovere gli snapshot e ridimensionarlo, e tutto funzionava. Per ridimensionare le finestre esterne, è possibile trovare un cd di avvio gparted Qui può aiutare


7
2018-05-28 11:11





Ho avuto lo stesso problema in cui avevo spostato un disco e sostituito l'originale con un collegamento simbolico. Ciò funziona in seguito, ma si incontrano problemi con il comando 'modifyhd', in quanto apparentemente canonicalizza il percorso del file vdi quando si lavora con esso. Questo sembra che tu stia cercando di aggiungere un nuovo disco con lo stesso UUID ma su un percorso diverso - o qualcosa del genere.

C'erano due problemi:

  1. Il disco doveva essere rimosso dalla VM che lo utilizzava, ma anche "dalla lista VirtualBox di hdds". Questo problema è stato risolto con il comando 'closemedium', che lo rimuove da quella lista.

  2. Il disco da ridimensionare era un "disco fisso" invece di "dinamico" e solo i dischi dinamici possono essere ridimensionati. È stato corretto con un comando "clone" (il clone è dinamico), quindi ridimensiona il disco risultante.

Questo è il mio log per come è stato fatto. Notare che io sono non in qualsiasi momento eseguendo come root, tranne quando in seguito eseguo il ridimensionamento della partizione e del filesystem.

RIMUOVERE L'ASSOCIAZIONE AL DISCO DA VM. 

PROBLEMA ANCORA PERSISTA:

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, il disco è ancora "nel sistema":

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

Rimuovere / eliminare il disco dall'elenco di dischi di VirtualBox ("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)

Prova nuovamente il ridimensionamento:

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" NON FUNZIONA! 'clonehd' in soccorso, dato che lascia un disco clonato '' dinamicamente allocato '':

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

ORA FARE IL RESIZE (istantaneo):

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%

ALLORA ALLORA ALCUNE VM, PER RIDIMENSIONARE. Questo è fatto come root. Si presuppone che tu abbia una sola partizione e possibilmente scambia.

# 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



Questo ha funzionato per me, seguito la guida qui: yinfor.com/2015/05/... - marijnz0r


Questo ha funzionato per me con Virtualbox 5.2.6 installato su Ubuntu 16.04 Host Machine e Windows 10 Guest: aprire Virtualbox Manager, fare clic su Strumenti globali (in alto a destra) e selezionare Virtual Media Manager. Fare clic sulla scheda Disco rigido e selezionare il sistema operativo Guest. Nella parte inferiore della finestra fai clic sulla scheda Attributi. In basso puoi vedere le dimensioni del Disco Virtuale e con il cursore puoi aumentare le dimensioni a tuo piacimento. (Puoi solo aumentare, non diminuire le dimensioni con questo metodo). Clicca su Applica. Avviare il sistema operativo guest Windows, aprire Gestione computer, fare clic con il tasto destro del mouse su C: Drive e selezionare Estendi volume per estendere il file system con la parte non allocata.

Questo è tutto ciò che dovevo fare, funziona perfettamente per me.


2
2018-01-24 17:55



Ha funzionato alla grande Non dovrebbe essere questa la risposta accettata, almeno per le versioni recenti di VirtualBox? - AlwaysLearning


Un modo sicuro è farlo allo stesso modo di passare a un disco rigido più grande che non è in esecuzione in una VM. Per prima cosa usa ccleaner o un programma simile in XP per ripulire tutti i file spazzatura che può. Quindi creare un HDD virtuale secondario della dimensione desiderata. Avvia con ISO clonezilla nel tuo disco ODD virtuale e clona oltre con l'opzione 'ridimensiona a nuova dimensione della partizione' selezionata. Quindi imposta il nuovo HDD virtuale come principale e non eliminare quello vecchio finché non si è certi che ha funzionato.


1
2017-12-19 14:03





Ho ricevuto lo stesso errore fino a quando non ho usato sudo per eseguire il comando, quindi ho funzionato perfettamente, ho ancora bisogno di avere partizione cresciuta dall'interno del guest per usare uno spazio aggiuntivo.


1
2018-02-01 09:34



Alcune persone hanno riferito che ciò comporta che la directory home abbia cattive autorizzazioni - Jonathan


In realtà, sembra questo modifyhd da solo non ti fa bene in alcuni casi. Ho effettivamente espanso il mio vdi WinXP clonando l'immagine dopo l'espansione.

Ecco la guida passo-passo completa che ha funzionato per me un paio di settimane fa: http://libtronics.com/2011/07/resize-virtualbox-disk-for-winxp-guest/


1
2018-05-01 19:25



Puoi spiegare i passaggi qui? Le risposte con poco più di un collegamento ad un altro sito sono generalmente disapprovate qui, e può essere cancellato. - Tom Brossman
Bene, è necessario capire cosa fa modifyhd, che non è molto più che espandere il disco virtuale sottostante, tutto qui. Hai ancora bisogno di espandere il filesystem su di esso. - Marcin Kaminski


Assicurati di aver effettuato l'accesso come utente con autorizzazioni di scrittura sul file immagine del disco. Quindi corri

VBoxManage modifyhd YOUR_HARD_DISK.vdi --resize SIZE_IN_MB  

Ha lavorato per me al primo tentativo di chiedere


1
2018-03-26 22:53



Hai dovuto reinstallare / riformattare / ripartizione? o si è appena avviato? - Jonathan