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 aggiungi 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 in dimensioni e da allora 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 crescere e ridursi di 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 hai un disco di dimensioni fisse che desideri ridurre, puoi prima 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 su di esso 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 zeri sul disco nella macchina virtuale
Assicurati di eliminare tutti i dati che non desideri 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 i sistemi operativi guest di Windows
Se hai installato Windows all'interno della macchina virtuale, dovresti ora 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. Estrarre il sdelete.exe
file in una cartella sul tuo computer.
Apri 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 sdelete.exe
file digitando CD
, premendo Spazio, inserendo il percorso della directory e premendo Invio. Assicurati di racchiudere il percorso tra virgolette se contiene uno spazio. Dovrebbe sembrare come questo:
cd "C: \ percorso \ alla \ cartella"
Ad esempio, se hai estratto il sdelete.exe
file nella cartella di download dell'account utente e il tuo nome utente Windows è Bob, devi eseguire il seguente comando:
cd "C: \ Users \ bob \ Downloads"
Per inserire rapidamente il percorso della directory, digita 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.
Esegui il seguente comando:
sdelete.exe c: -z
Scriverà zeri su 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".
Ti verrà chiesto di accettare il contratto di licenza dello strumento prima di continuare. 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 il zerofree
utilità all'interno della macchina virtuale. Dovrebbe essere disponibile nei repository software della tua distribuzione Linux. Ad esempio, puoi installarlo su Ubuntu eseguendo il seguente comando sul terminale all'interno della tua macchina virtuale:
sudo apt install zerofree
Non puoi effettivamente usare zerofree
sulla tua / partition mentre sei avviato 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.
Seleziona l'opzione "(modalità di ripristino)" associata al più recente kernel di Linux, ovvero l'opzione con il numero di versione più alto in cima alla lista, e premi Invio.
Seleziona "root" nel menu di ripristino per avviare il prompt di una 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 qui sotto, possiamo vederlo / Dev / sda1
è il nostro unico dispositivo disco reale 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 zero partizioni multiple.
Ora sei pronto per azzerare il disco. Esegui il seguente comando, sostituendo / Dev / sda1
con il nome del dispositivo della partizione su cui scrivere gli zeri. La maggior parte delle persone avrà solo un / Dev / sda1
dispositivo a zero.
zerofree -v / dev / sda1
Al termine del processo zero, eseguire il seguente comando per arrestare la macchina virtuale:
arresto
Quando viene visualizzato il messaggio "Sistema interrotto" sullo schermo, il sistema si è arrestato e ora è possibile arrestare la macchina virtuale. Chiudi la finestra della macchina virtuale e seleziona "Spegni la macchina virtuale".
Passo 3: trova 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 VBoxManage.exe
comando.
Trova 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ì.
Apri una finestra del prompt dei comandi. Per fare ciò, aprire il menu Start, digitare cmd
e premere Invio.
genere CD
nel prompt dei comandi, seguito dal percorso della cartella in cui si trova il comando VBoxManage. Avrai bisogno di racchiuderlo tra virgolette.
Puoi farlo rapidamente digitando CD
nella finestra del prompt dei comandi, quindi trascinando e rilasciando l'icona della cartella dalla barra degli indirizzi del file manager nel prompt dei comandi.
Se stai utilizzando il percorso predefinito, dovrebbe essere simile al seguente:
cd "C: \ Programmi \ Oracle \ VirtualBox"
NOTA: queste istruzioni presumono che stai usando VirtualBox su Windows. Se stai usando VirtualBox su macOS o Linux, puoi semplicemente aprire una finestra di Terminale ed eseguire il VBoxManage
comando normalmente, come faresti con qualsiasi altro comando.
Passaggio 4: 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 sul computer:
VBoxManage.exe lista hdds
Passaggio 5: 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 sembrare come questo:
Disco modifamedium VBoxManage.exe "C: \ path \ to \ disk.vdi" --compact
Ad esempio, poiché il percorso del file è C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi
nel nostro esempio, eseguiremmo il seguente comando:
Disco modifymedium VBoxManage.exe "C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" --compact
VirtualBox comprimerà il disco e potrai 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 ti 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 più spazio, elimina le istantanee che non usi. 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.