«

»

Set 20

Vmware : come espandere disco macchina virtuale Windows

virtual_diskLavorando 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 comments

Vai al modulo dei commenti

  1. Giuseppe Cargini

    Bravi. Tutto chiaro, semplice e soprattutto funzionante. Siete stati di grande aiuto. Grazie

  2. Gianluca

    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!

    1. mdede

      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

      1. Gianluca

        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!

        1. mdede

          Mi sembra che tu abbia già fatto tutto, forse un riavvio della macchina tanto per essere sicuri che sia tutto a posto.
          ciao

          1. Gianluca

            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.

          2. Gianluca

            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.

        2. mdede

          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

  3. Gianluca

    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!

    1. mario

      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.

      1. Gianluca

        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

  4. mario

    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

  5. Aldo

    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.

  6. mario

    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 :

    http://www.trickit.it/linux/programmi-per-gestire-partizioni-disco

  7. Alessio

    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

  8. mario

    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 :

    http://www.trickit.it/linux/programmi-per-gestire-partizioni-disco

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

code