Så här krymper du en VirtualBox Virtual Machine och frigör diskutrymme
Som standard skapar VirtualBox dynamiska diskar som växer över tiden när du lägger till data. Om du tar bort data från den virtuella maskinen senare kommer du dock märka att skivan inte automatiskt krymper. Men du kan manuellt krympa en dynamisk disk med hjälp av ett dolt kommando.
Kom ihåg att det här bara kommer att krympa disken om den är vuxen i storlek och sedan har du tagit bort data. Så, om du bara skapat en dynamisk disk, kommer den inte att krympa den. Men om du har skapat en dynamisk disk, laddat ner 10 GB data i den och sedan raderade den 10 GB data efteråt bör du kunna krympa disken med ca 10 GB.
Steg ett: Se till att du använder en dynamisk disk
Denna process fungerar bara för dynamiska diskar, som kan växa och krympa i storlek. Dynamiska skivor kan vara upp till en viss maximal storlek på 50 GB, till exempel - men de växer bara till den maximala storleken när de innehåller så mycket data. Fasta formatskivor kommer alltid att vara deras maximala storlek.
Om du har en faststorleksdisk som du vill krympa, kan du först konvertera den till en dynamisk disk och följ sedan anvisningarna nedan. Om du till exempel har en fast disk på 50 GB med endast 20 GB data på den och konverterar den till en dynamisk disk, bör du kunna krympa den för att ta upp endast 20 GB utrymme.
För att kontrollera om en disk är dynamisk eller fast storlek i VirtualBox, högerklickar du på den virtuella maskinen som använder skivan och väljer "Inställningar". Klicka på fliken "Förvaring" och välj disken. Du får se vilken typ av disk det visas bredvid "Detaljer". Till exempel, i skärmdumpen nedan, indikerar "Dynamiskt allokerad lagring" att det här är en dynamisk disk.
Steg två: Skriv nollor till disken i den virtuella maskinen
Var noga med att radera data som du inte längre vill ha på skivan i den virtuella maskinen för att frigöra utrymme innan du fortsätter. Ta bort filer som du inte behöver, avinstallera program du inte längre använder och töm papperskorgen. Då måste du skriva över det tomma utrymmet med nollor.
För Windows Guest Operating Systems
Om du har Windows installerat i den virtuella maskinen bör du nu starta upp den virtuella maskinen och defragmentera dess diskar. Inuti den virtuella maskinen, sök på Start-menyn för "Defragmentation" och starta verktyget "Diskdefragmenterare" eller "Defragmentera och optimera drivrutiner". Välj den skiva du vill komprimera och klicka på "Defragment disk".
När defragmenteringsprocessen är klar måste du skriva nollor till det tomma utrymmet i den virtuella maskinen. När du tar bort filer sparas de raderade dataen fortfarande på skivan, så VirtualBox kan inte automatiskt krympa enheten. Men när du skriver nollor över de raderade filerna kommer VirtualBox att se en stor mängd nollar-tomt utrymme, med andra ord-och kunna komprimera disken.
För att göra detta, ladda ner SDelete-verktyget från Microsoft. Extrahera sdelete.exe
filen till en mapp på din dator.
Öppna ett kommandotolfönster. För att göra det, öppna Start-menyn, sök efter "Kommandotolk" och starta genvägen.
Ändra till katalogen som innehåller sdelete.exe
fil genom att skriva CD
, tryck på mellanslag, ange sökvägen till katalogen och tryck på Enter. Var noga med att bifoga sökvägen i citattecken om den innehåller ett mellanslag. Det ska se ut så här:
cd "C: \ path \ to \ folder"
Till exempel, om du extraherade sdelete.exe
fil till ditt användarkonto nedladdning mapp och ditt Windows användarnamn är Bob, skulle du köra följande kommando:
cd "C: \ Users \ bob \ Downloads"
För att snabbt fylla i katalogvägen, skriv bara CD
i fönstret Kommandotolk, tryck på Space och dra och släpp sedan mappikonen från filhanterarens adressfält.
Kör följande kommando:
sdelete.exe c: -z
Detta kommer att skriva nollor till allt ledigt diskutrymme på enhet C :. Om du vill krympa en sekundär enhet som ligger i ett annat skrivbrev i den virtuella maskinen, skriv dess skrivbrev istället för c :. Detta är vad verktyget var konstruerat för. Som SDelete-sidan på Microsofts webbplatsnoteringar är -z-alternativet "bra för optimering av virtuell disk".
Du kommer att bli ombedd att godkänna verktygets licensavtal innan du fortsätter. Klicka bara på "Agree".
Vänta på att processen ska slutföras. När det är klart, stäng av din virtuella maskin med alternativet "Stäng" i sin Start-meny. Du är nu redo att komprimera den.
För Linux Guest Operating Systems
Om du har Linux installerat i den virtuella maskinen - ett Linux-gästoperativsystem istället för ett Windows-operativsystem, med andra ord-du kan hoppa över defragmenteringsprocessen och använda inbyggda kommandon för att nollställa ledigt utrymme på enheten. Vi använder Ubuntu som exempel här, men processen kommer att likna andra Linux-distributioner.
För att göra detta måste du först installera zerofree
verktyg i den virtuella maskinen. Det ska vara tillgängligt i din Linux-distributions programvaruförteckning. Till exempel kan du installera det på Ubuntu genom att köra följande kommando vid terminalen inuti din virtuella maskin:
sudo apt install zerofree
Du kan faktiskt inte använda zerofree
på din / partitionen medan du startas upp i standard Linux-miljö. I stället vill du starta in i ett speciellt återställningsmodus där din normala rotpartition inte är monterad. På Ubuntu startar du om din virtuella maskin och trycker upprepade gånger på "Esc" -knappen medan den startar för att komma till Grub-menyn. När Grub-menyn visas, välj "* Avancerade alternativ för Ubuntu" och tryck på Enter.
Välj alternativet "Återställningsläge" som är kopplat till den senaste Linuxkärnan, det vill säga alternativet med det högsta versionsnumret nära toppen av listan och tryck på Enter.
Välj "root" i återställningsmenyn för att starta till en root shell prompt.
Tryck på "Enter" efteråt när "Tryck Enter for Maintenance" visas på skärmen. Du får en terminalprompt.
På kommandoraden, bestäm vilken virtuell disk du vill nollställa genom att köra följande kommando:
df
I produktionen nedan kan vi se det / Dev / sda1
är vår enda verkliga diskenhet här. Vi vet det eftersom det är den enda skivan med / Dev /
i den vänstra kolumnen.
Om du antar att din virtuella maskin skapades med standardinställningarna, kommer den bara att ha / Dev / sda1
, vilken är den första partitionen på den första hårddisken. Om du har ställt upp saker på olika sätt med flera skivor eller flera partitioner, kan du behöva nollställa en annan partition eller noll flera partitioner.
Du är nu redo att nollställa disken. Kör följande kommando, byta ut / Dev / sda1
med enhetens namn på partitionen du vill skriva nollor till. De flesta kommer bara ha en / Dev / sda1
enheten till noll.
zerofree -v / dev / sda1
När nollprocessen är klar kör du följande kommando för att stänga av den virtuella maskinen:
stanna
När du ser meddelandet "Systemstoppad" på skärmen har systemet stannat och du kan nu stänga av din virtuella maskin. Stäng den virtuella maskinens fönster och välj "Stäng av den virtuella maskinen".
Steg tre: Hitta kommandot VBoxManage
Resten av processen kommer att utföras utanför den virtuella maskinen, på ditt värd operativsystem. Om du till exempel har Windows 10 som körs på datorn och Windows 7 körs i en virtuell maskin, utför du resten av processen på Windows 10.
Det här alternativet är inte exponerat i VirtualBox grafiska gränssnitt. I stället måste du använda VBoxManage.exe
kommando.
Leta upp det här kommandot för att fortsätta. På Windows hittar du det i VirtualBox-programkatalogen, vilket är C: \ Program Files \ Oracle \ VirtualBox
som standard. Om du installerade VirtualBox till en annan katalog, kolla du istället.
Öppna ett kommandotolfönster. För att göra detta, öppna Start-menyn, skriv cmd
och tryck på Enter.
Typ CD
i kommandotolken följt av sökvägen för mappen där kommandot VBoxManage är. Du måste bifoga den i citat.
Du kan snabbt göra det genom att skriva CD
i fönstret Kommandotolken och dra och släpp sedan mappikonen från filhanterarens adressfält till kommandotolken.
Om du använder standardvägen ska den se ut som följer:
cd "C: \ Program Files \ Oracle \ VirtualBox"
OBS! Dessa anvisningar förutsätter att du använder VirtualBox på Windows. Om du använder VirtualBox på macOS eller Linux kan du bara öppna ett Terminal-fönster och köra vboxmanage
Kommandot normalt, som du skulle något annat kommando.
Steg fyra: Sök vägen till den skiva du vill komprimera
Kör följande kommando i kommandotolken för att visa en lista över alla virtuella hårddiskar på din dator:
VBoxManage.exe listan hdds
Steg fem: Komprimera disken
För att komprimera disken måste du använda VBoxManage.exe
med rätt kommando. Kör bara följande kommando, ersätt sökvägen till disken VDI-filen med sökvägen till disken på ditt system som du hittade med ovanstående kommando. Var noga med att bifoga sökvägen för filen i citat om den innehåller ett utrymme var som helst i sökvägen.
Det ska se ut så här:
VBoxManage.exe modifymedium disk "C: \ path \ to \ disk.vdi" --compact
Till exempel, eftersom sökvägen till filen är C: \ Användare \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi
i vårt exempel kör vi följande kommando:
VBoxManage.exe modifymedium disk "C: \ Användare \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" --compact
VirtualBox komprimerar disken och du kan omedelbart starta upp den virtuella maskinen efteråt, om du vill. Hur mycket utrymme du än sparar beror på hur mycket tomt utrymme det var att återställa.
Också överväga att radera ögonblicksbilder
VirtualBox låter dig skapa snapshots för varje virtuell maskin. Dessa innehåller en hel bild av den virtuella maskinen när du skapade ögonblicksbilden, så att du kan återställa den till ett tidigare tillstånd. Dessa kan ta mycket utrymme.
För att frigöra mer utrymme, ta bort ögonblicksbilder du inte använder. Om du vill visa stillbilderna som du har sparat för en virtuell maskin markerar du den i det huvudsakliga VirtualBox-fönstret och klickar på knappen "Snapshots" till höger om Detaljer på verktygsfältet. Om du inte längre behöver en ögonblicksbild, högerklicka på den i listan och välj "Radera snapshot" för att frigöra utrymme.