Lavorando in ambiente virtuale Vmware capita abbastanza frequentemente la necessità di dover espandere un disco di sistema o di dati di una macchina virtuale Windows.
Questo perchè si tende spesso a creare il disco virtuale senza esagerare con la dimensione per non sprecare troppo spazio nello storage dell’ambiente virtuale.
La procedura che segue è un esempio in ambiente Vmware ESXi.
Premessa questa procedura funziona solo con macchine virtuali basate su sistemi operativi Windows server 2008, server 2012, Vista, 7 e 8 e con pochissime modifiche si applica anche a Vmware ESX, Workstation e Server.
- Lanciare Vmware Vsphere Client e collegarsi all’ambiente ESXi
- Selezionare la macchina virtuale Windows di cui dobbiamo espandere il disco e fermarla
- Quindi entrare nella configurazione della macchina virtuale selezionando Edit Settings
- Selezionare il disco virtuale da espandere (se è quello di sistema di solito è Hard Disk 1) ed impostare il nuovo valore della dimensione disco desiderata
- Far ripartire la macchina virtuale Windows
- Nella macchina virtuale Windows aprire il prompt dei comandi come Admin (start -> esegui -> cmd) ed eseguire i seguenti comandi :
diskpart - Quindi al prompt di diskpart digitare :
list disk
per avere un elenco dei dischi presenti nella macchina virtuale Windows - Selezionare il disco su cui agire con il comando
select disk #
dove # è il numero di disco visualizzato col comando precedente, normalmente per un disco di sistema è
select disk 0 - Verificare se il disco è partizionato col comando
list partition - Selezionare la partizione da espandere col comando
select partition #
dove # è il numero di partizione che ci interessa espandere, di solito in un disco di sistema è
select partition 2
perchè la partizione 1 è quella dedicata alla partizione SYSTEM del sistema operativo - Espandere la partizione appena selezionata col comando
extend
che allocherà tutto lo spazio disponibile nel “nuovo” disco virtuale - Ripetere il comando :
list partition
per verificare che la partizione sia stata espansa come richiesto. - Uscire da diskpart col comando :
exit - Come ulteriore verifica chiudere il prompt dei comandi e riavviare la macchina virtuale Windows
- Dopo il riavvio entrare nella gestione dischi dall’interfaccia grafica della macchina virtuale Windows e verificare che effettivamente il disco ora abbia assunto le nuove dimensioni che avevamo specificato nei parametri di Vmware.
16 commenti
Vai al modulo dei commenti ↓
Giuseppe Cargini
21 Maggio 2014 at 08:44 (UTC 1) Link to this comment
Bravi. Tutto chiaro, semplice e soprattutto funzionante. Siete stati di grande aiuto. Grazie
Gianluca
30 Novembre 2015 at 11:22 (UTC 1) Link to this comment
L’articolo è scritto molto bene, complimenti!
Vorrei soltanto chiarirmi un paio di punti prima di provare la procedura.
punto primo: dopo aver modificato la dimensione di Hard Disk 1 in Edit Settings impostando il nuovo valore, è necessario riavviare la macchina virtuale anche se già in esecuzione?
punto secondo: utilizzando il comando extend senza la specificazione del parametro size mi sembra di capire che l’aumento va dall’attuale valore a quello nuovo impostato in Edit Settings, è così? Oppure l’estensione raggiunge la dimensione del disco fisico?
E se volessi ridurre la dimensione disco di una macchina virtuale?
Grazie!
mdede
4 Dicembre 2015 at 20:05 (UTC 1) Link to this comment
punto primo, si c’è scritto devi riavviare Windows
punto secondo, si, si espande fino al massimo impostato in edit settings
Per ridurre la dimensione di un disco basta entrare in gestione_computer -> gestione_disco -> tasto dx sul disco da ridurre -> riduci_volume
Gianluca
15 Gennaio 2016 at 12:04 (UTC 1) Link to this comment
Ciao,
ho ampliato con successo il disco della macchina virtuale (raddoppiando la sua dimensione) ma poi sono stato costretto a ridurre nuovamente la dimensione del disco per problemi di backup.
Per ridurre ho seguito la procedura indicata e cioè Gestione Computer -> Gestione Disco ecc.
La domanda è: devo fare altro? Riavviare la macchina virtuale? Modificare qualcosa in Edit settings da Vmware Vsphere Client?
Grazie!
mdede
15 Gennaio 2016 at 20:20 (UTC 1) Link to this comment
Mi sembra che tu abbia già fatto tutto, forse un riavvio della macchina tanto per essere sicuri che sia tutto a posto.
ciao
Gianluca
16 Gennaio 2016 at 11:10 (UTC 1) Link to this comment
Grazie per la risposta!
Ho fatto la riduzione e, accedendo alla macchina, il disco C: risulta effettivamente ridotto. Però non ho riavviato la macchina.
Non ho neppure modificato il valore di Hard Disk 1 in Edit Settings di Vmware Vsphere Client (che risulta ancora impostato al valore esteso).
Il problema nasce perché la persona che si occupa di fare il backup della macchina mi ha chiesto di ripristinare la dimensione dell’hard disk al valore precedente in quanto sostiene di non riuscire a fare il backup per problemi di spazio. Lui non vede la riduzione che ho fatto. Perché secondo te?
Grazie ancora, ciao.
Gianluca
16 Gennaio 2016 at 11:52 (UTC 1) Link to this comment
Attualmente lo stato dell’hard disk della macchina virtuale (disk 0) che in precedenza era 200 Gb (tutti allocati a C:), dopo la riduzione, risulta essere di:
– 108 Gb allocati a C:
– 92 Gb non allocati
Quindi disk 0 è sempre di 200 Gb! Come faccio ad eliminare dal disco virtuale (disk 0) i 92 Gb non allocati?
Mi occorre che disk 0 non comprenda più la parte non allocata ma abbia una dimensione effettiva di 108 Gb
Grazie, ciao.
mdede
17 Gennaio 2016 at 11:05 (UTC 1) Link to this comment
Direi che sei nel caso peggiore che ti potesse capitare… per ridurre la dimensione del disco VMware devi fare una conversione virtual to virtual usando la versione standalone di VMware Converter che puoi scaricare da qui :
https://my.vmware.com/web/vmware/evalcenter?p=converter
a questo punto converti la tua macchina virtuale in una nuova specificando nella conversione la nuova dimensione ridotta del disco, al termine della conversione provi a lanciare la nuova e se è tutto ok puoi rimuovere la vecchia Vm, questa è la procedura ufficiale (e la più sicura) consigliata da VMware anche nella sua knowledge base :
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1002019
(sezione shrinking)
ovviamente ci sono altri modi agendo a livello di disco facendo una copia con il comando dd (siamo pur sempre su una macchina Linux !) e modificando manualmente i valori della Vm poi… ma sinceramente procederei con la via “ufficiale”. ciao
Gianluca
18 Gennaio 2016 at 14:50 (UTC 1) Link to this comment
Grazie sei stato gentilissimo!
Sospettavo che l’operazione non fosse altrettanto semplice, se confrontata all’estensione.
Magari sarebbe opportuno fare un backup della macchina virtuale prima di procedere alla sua conversione.
Che software mi consigli?
Ciao!
mario
19 Gennaio 2016 at 09:15 (UTC 1) Link to this comment
Senti il tuo sys admin di VMware se può salvarti copia dell’immagine attuale della macchina, in alternativa usa qualsiasi programma di clonazione dei dischi (tipo Ghost, True Image, Clonezilla, ecc…) e salvati copia dell’immagine disco su un Nas in rete prima di procedere con l’operazione.
Gianluca
19 Gennaio 2016 at 18:02 (UTC 1) Link to this comment
Che ne pensi di questo strumento: https://www.veeam.com/it/virtual-machine-backup-solution-free.html
Il backup devo farlo da solo, purtroppo non posso contare sul supporto di nessuno
mario
25 Gennaio 2016 at 09:11 (UTC 1) Link to this comment
Lo strumento che proproni è ottimo ma è piuttosto complesso da configurare e far funzionare e comunque prevede di conoscere i dati di accesso root dell’Esxi di VMware (cosa che se ho ben capito non hai….).
Ti conviene procedere facendo un’immagine con True Image o simili, oppure contattare il tuo sys admin di VMware perchè sei in un caso piuttosto particolare….
ciao
Aldo
14 Febbraio 2016 at 08:47 (UTC 1) Link to this comment
Ho aggiornato VMware Workstation 12.1.0 Player for Windows 64-bit operating systems. Lavoro su un XP virtuale creato su Windows10 ex Windows7.
Ho fatto tutte le operazioni da voi descritte, ma alla fine dopo aver digitato extend mi risponde: Impossibile per DiskPart estendere il volume. Verificare che il volume possa essere esteso.
A list disk mi aveva risposto giustamente che vedeva due dischi della dimensione richiesta, ma al comando list partition del disco 1 vede solo la dimensione originaria e non quella richiesta.
Se occorre posso cancellare anche il disco 0, intanto non viene visto dal sistema virtuale.
Come posso fare?
Grazie.
mario
19 Febbraio 2016 at 11:38 (UTC 1) Link to this comment
Ciao, la procedura descritta nell’articolo funziona solo da Windows Vista in poi, purtroppo XP non aveva questa possibilità di espansione al volo dei dischi, se devi ridimensionare la partizione di XP devi usare un programma di gestione delle partizioni facendo il boot all’interno della tua macchina virtuale, ne abbiamo parlato qui :
https://www.trickit.it/linux/programmi-per-gestire-partizioni-disco
Alessio
19 Settembre 2016 at 11:08 (UTC 1) Link to this comment
Ciao,
grazie per la guida.
ho portato lo spazio da 40 Gb a 130 Gb.
Unico problema, la dimensione dell’hdd è effettivamwente aumentata, ma lo spazio disponibile no.
Come è possibile? cosa occupa lo spazio? avevo 5-6 Gb liberi prima dell’incremento, e son rimasti 5-6 Gb liberi anche adesso che vede l’hdd da 130 Gb.
Come è possibile? GRAZIE
mario
19 Settembre 2016 at 13:44 (UTC 1) Link to this comment
Non hai fatto l’ultimo punto, devi espandere il disco logico ora , si fa da :
start -> esegui -> diskmgmt.msc
selezioni il disco , tasto dx e dal menù scegli “estendi volume”, mi sembra che funzioni solo da Vista / server 2008 in poi (vado a memoria), se la tua macchina virtuale usa un s.o. più vecchio devi farlo usando un programma di partizionamento dei dischi :
https://www.trickit.it/linux/programmi-per-gestire-partizioni-disco