30Jul

Come ridurre una macchina virtuale VirtualBox e liberare spazio su disco

Per impostazione predefinita, VirtualBox crea dischi dinamici che crescono nel tempo man mano che si aggiungono i dati. Tuttavia, se si eliminano i dati dalla macchina virtuale in un secondo momento, si noterà che il disco non si riduce automaticamente. Ma puoi ridimensionare manualmente un disco dinamico usando un comando nascosto.

Ricorda che questo ridurrà il disco solo se è cresciuto di dimensioni e hai rimosso i dati. Quindi, se hai appena creato un disco dinamico, questo non lo ridurrà.Tuttavia, se hai creato un disco dinamico, scaricato 10 GB di dati e successivamente cancellato i 10 GB di dati, dovresti essere in grado di ridurre il disco di circa 10 GB.

Fase uno: assicurarsi di utilizzare un disco dinamico

Questo processo funziona solo per i dischi dinamici, che possono aumentare e ridurre le dimensioni. I dischi dinamici possono avere dimensioni massime fino a un massimo di 50 GB, ad esempio, ma in realtà raggiungono solo le dimensioni massime quando contengono una quantità di dati tale. I dischi di dimensioni fisse saranno sempre la loro dimensione massima.

Se si desidera ridurre il disco di dimensioni fisse, è possibile convertirlo in un disco dinamico e quindi seguire le istruzioni di seguito. Ad esempio, se hai un disco fisso di 50 GB di dimensioni con solo 20 GB di dati e lo converti in un disco dinamico, dovresti essere in grado di ridurlo per occupare solo 20 GB di spazio.

Per verificare se un disco è dinamico o di dimensioni fisse in VirtualBox, fare clic con il pulsante destro del mouse sulla macchina virtuale che utilizza il disco e selezionare "Impostazioni".Fare clic sulla scheda "Archiviazione" e selezionare il disco. Vedrai che tipo di disco è visualizzato accanto a "Dettagli".Ad esempio, nello screenshot seguente, "Memoria allocata dinamicamente" indica che si tratta di un disco dinamico.

Fase due: scrivere gli zeri sul disco nella macchina virtuale

Assicurarsi di eliminare tutti i dati che non si desiderano più sul disco all'interno della macchina virtuale per liberare spazio prima di continuare. Elimina i file che non ti servono, disinstalla i programmi che non usi più e svuota il Cestino. Quindi, dovrai sovrascrivere quello spazio vuoto con zero.

per sistemi operativi guest Windows

Se nella macchina virtuale è installato Windows, è necessario avviare la macchina virtuale e deframmentare i suoi dischi. All'interno della macchina virtuale, cercare nel menu Start "Deframmentazione" e avviare lo strumento "Deframmentazione dischi" o "Deframmenta e ottimizza unità".Seleziona il disco che vuoi compattare e fai clic su "Disco di deframmentazione".

Al termine del processo di deframmentazione, sarà necessario scrivere zeri nello spazio vuoto all'interno della macchina virtuale. Quando si eliminano i file, i dati cancellati sono ancora memorizzati sul disco in modo che VirtualBox non possa ridurre automaticamente l'unità.Ma quando si scrivono degli zeri sui file cancellati, VirtualBox vedrà una grande quantità di zeri - spazio vuoto, in altre parole - e sarà in grado di compattare il disco.

Per fare ciò, scaricare l'utility SDelete di Microsoft. Estrai il file sdelete.exe in una cartella sul tuo computer.

Apre una finestra del prompt dei comandi. Per fare ciò, apri il menu Start, cerca "Prompt dei comandi" e avvia il collegamento.

Passare alla directory contenente il file sdelete.exe digitando cd, premendo Spazio, immettendo il percorso della directory e premendo Invio. Assicurati di racchiudere il percorso tra virgolette se contiene uno spazio. Dovrebbe apparire come segue:

cd "C: \ path \ to \ folder"

Ad esempio, se hai estratto il file sdelete.exe nella cartella di download dell'account utente e il tuo nome utente di Windows è Bob, devi eseguire il seguente comando:

cd "C: \ Users \ bob \ Downloads"

Per inserire rapidamente il percorso della directory, digitare semplicemente cd nella finestra del prompt dei comandi, premere Spazio, quindi trascinare e rilasciare l'icona della cartella dalla barra degli indirizzi del file manager.

Eseguire il seguente comando:

sdelete.exe c: -z

Scriverà zeri a tutto lo spazio libero su disco nell'unità C: .Se si desidera ridurre un'unità secondaria situata in una lettera di unità diversa nella macchina virtuale, digitare la lettera dell'unità invece di c: .Questo è lo strumento per cui è stato progettato. Come la pagina SDelete sul sito Web di Microsoft, l'opzione -z è "buona per l'ottimizzazione del disco virtuale".

Prima di continuare, ti verrà chiesto di accettare il contratto di licenza dello strumento. Basta fare clic su "Accetto".

Attendere il completamento del processo. Al termine, spegni la macchina virtuale utilizzando l'opzione "Spegni" nel suo menu Start. Ora sei pronto per compattarlo.

per sistemi operativi guest Linux

Se nella macchina virtuale è installato Linux, un sistema operativo guest Linux invece di un sistema operativo guest Windows, in altre parole, è possibile saltare il processo di deframmentazione e utilizzare i comandi incorporati per azzerare lo spazio libero sull'unità.Useremo Ubuntu come esempio qui, ma il processo sarà simile su altre distribuzioni Linux.

Per fare ciò, devi prima installare l'utilità zerofree nella macchina virtuale. Dovrebbe essere disponibile nei repository software della tua distribuzione Linux. Ad esempio, è possibile installarlo su Ubuntu eseguendo il seguente comando sul terminale all'interno della macchina virtuale:

sudo apt install zerofree

Non è possibile utilizzare zerofree sulla propria partizione mentre si è avviati nell'ambiente Linux standard. Invece, ti consigliamo di avviare in una modalità di recupero speciale in cui la tua partizione di root normale non è montata. Su Ubuntu, riavvia la tua macchina virtuale e premi ripetutamente il tasto "Esc" mentre è in fase di avvio per accedere al menu Grub. Quando appare il menu Grub, seleziona "* Opzioni avanzate per Ubuntu" e premi Invio.

Selezionare l'opzione "(modalità di ripristino)" associata al più recente kernel Linux, ovvero l'opzione con il numero di versione più alto in cima alla lista, e premere Invio.

Selezionare "root" nel menu di ripristino per avviare il prompt della shell di root.

Premere "Enter" in seguito quando "Press Enter for maintenance" appare sullo schermo. Ti verrà dato un prompt del terminale.

Alla riga di comando, determinare quale disco virtuale si desidera azzerare eseguendo il seguente comando:

df

Nell'output seguente, possiamo vedere che /dev/ sda1 è l'unico dispositivo disco effettivo qui. Lo sappiamo perché è l'unico disco con /dev/ nella colonna più a sinistra.

Supponendo che la tua macchina virtuale sia stata creata con le impostazioni predefinite, avrà solo /dev/ sda1, che è la prima partizione sul primo disco rigido. Se hai impostato le cose in modo diverso con più dischi o più partizioni, potresti dover azzerare un'altra partizione o azzerare più partizioni.

Ora sei pronto per azzerare il disco. Eseguire il seguente comando, sostituendo /dev/ sda1 con il nome del dispositivo della partizione in cui si desidera scrivere zeri. La maggior parte delle persone avrà solo un dispositivo sda1 /dev/ a zero.

zerofree -v /dev/ sda1

Al termine del processo zero, eseguire il seguente comando per arrestare la macchina virtuale:

interrompe

Quando viene visualizzato il messaggio "Sistema arrestato" sullo schermo, il sistema si è arrestato e ora è possibile chiuderegiù la tua macchina virtuale. Chiudere la finestra della macchina virtuale e selezionare "Spegni la macchina virtuale".

Passaggio tre: trovare il comando VBoxManage

Il resto del processo verrà eseguito all'esterno della macchina virtuale, sul sistema operativo host. Ad esempio, se Windows 10 è in esecuzione sul PC e Windows 7 è in esecuzione su una macchina virtuale, eseguirai il resto del processo su Windows 10.

Questa opzione non è esposta nell'interfaccia grafica di VirtualBox. Invece, devi usare il comando VBoxManage.exe.

Individuare questo comando per continuare. Su Windows, lo troverai nella directory del programma VirtualBox, che è C: \ Programmi \ Oracle \ VirtualBox per impostazione predefinita. Se hai installato VirtualBox in un'altra directory, guarda invece lì.

Apre una finestra del prompt dei comandi. Per fare ciò, apri il menu Start, digita cmd e premi Invio.

Digitare cd nel prompt dei comandi, seguito dal percorso della cartella in cui si trova il comando VBoxManage. Avrai bisogno di racchiuderlo tra virgolette.

È possibile eseguire rapidamente questa operazione digitando cd nella finestra del prompt dei comandi e quindi trascinando e rilasciando l'icona della cartella dalla barra degli indirizzi del file manager nel prompt dei comandi.

Se si utilizza il percorso predefinito, dovrebbe essere simile al seguente:

cd "C: \ Programmi \ Oracle \ VirtualBox"

NOTA: queste istruzioni presuppongono che si stia utilizzando VirtualBox su Windows. Se stai usando VirtualBox su macOS o Linux, puoi semplicemente aprire una finestra di Terminale ed eseguire normalmente il comando vboxmanage, come faresti con qualsiasi altro comando.

Passaggio quattro: individuare il percorso del disco che si desidera compattare

Eseguire il seguente comando nella finestra del prompt dei comandi per visualizzare un elenco di tutti i dischi rigidi virtuali presenti nel computer: elenco hdd

VBoxManage.exe

Esamina l'elenco e identifica il percorso del file sul disco virtuale che desideri compattare. Diciamo che vogliamo modificare il disco virtuale associato alla macchina virtuale denominata "Windows 7".Come possiamo vedere nell'output sottostante, il percorso di quel disco virtuale sul nostro sistema è C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi.

Fase cinque: compattare il disco

Per compattare il disco, è necessario utilizzare VBoxManage.exe con il comando corretto. Basta eseguire il comando seguente, sostituendo il percorso del file VDI del disco con il percorso del disco sul sistema che hai trovato utilizzando il comando precedente. Assicurati di racchiudere il percorso del file tra virgolette se contiene uno spazio nel suo percorso.

Dovrebbe apparire così:

VBoxManage.exe disco modifamedium "C: \ path \ to \ disk.vdi" --compatta

Ad esempio, poiché il percorso del file è C: \ Users \ chris \ VirtualBox VMs \ Windows7 \ Windows 7.vdi nel nostro esempio, eseguiremmo il seguente comando:

VBoxManage.exe modifymedium disk "C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" --compatto

VirtualBox si compatteràil disco e puoi avviare immediatamente la macchina virtuale, se lo desideri. Quanto spazio si finisce per risparmiare dipende da quanto spazio vuoto ci fosse da recuperare.

Considera anche l'eliminazione di istantanee

VirtualBox consente di creare istantanee per ogni macchina virtuale. Questi contengono un'immagine completa della macchina virtuale quando hai creato l'istantanea, permettendoti di ripristinarla a uno stato precedente. Questi possono richiedere molto spazio.

Per liberare spazio, eliminare le istantanee che non si utilizzano. Per visualizzare le istantanee salvate per una macchina virtuale, selezionarla nella finestra principale di VirtualBox e fare clic sul pulsante "Istantanee" a destra di Dettagli sulla barra degli strumenti. Se non hai più bisogno di un'istantanea, fai clic con il pulsante destro del mouse nell'elenco e seleziona "Elimina istantanea" per liberare spazio.