Hoe een VirtualBox virtuele machine te verkleinen en schijfruimte vrij te maken
VirtualBox maakt standaard dynamische schijven die in de loop van de tijd groeien terwijl u gegevens toevoegt. Als u later echter gegevens van de virtuele machine verwijdert, merkt u dat de schijf niet automatisch krimpt. Maar u kunt een dynamische schijf handmatig verkleinen met een verborgen opdracht.
Vergeet niet dat dit de schijf alleen verkleint als deze in omvang is gegroeid en dat u sindsdien gegevens hebt verwijderd. Dus, als je zojuist een dynamische schijf hebt gemaakt, zal dit niet krimpen. Als u echter een dynamische schijf hebt gemaakt, 10 GB aan gegevens hebt gedownload en vervolgens die 10 GB aan gegevens hebt verwijderd, kunt u de schijf met ongeveer 10 GB verkleinen..
Stap één: zorg ervoor dat u een dynamische schijf gebruikt
Dit proces werkt alleen voor dynamische schijven, die in omvang kunnen groeien en krimpen. Dynamische schijven kunnen bijvoorbeeld tot een bepaalde maximale grootte van 50 GB zijn, maar ze groeien pas echt tot die maximale grootte wanneer ze zoveel gegevens bevatten. Diskettes met een vaste grootte zijn altijd hun maximale grootte.
Als u een schijf met een vaste grootte hebt die u wilt verkleinen, kunt u deze eerst converteren naar een dynamische schijf en vervolgens de onderstaande instructies volgen. Als u bijvoorbeeld een vaste schijf van 50 GB hebt met slechts 20 GB aan gegevens en deze converteert naar een dynamische schijf, zou u deze moeten kunnen verkleinen om slechts 20 GB ruimte in beslag te nemen.
Als u in VirtualBox wilt controleren of een schijf een dynamisch of vast formaat heeft, klikt u met de rechtermuisknop op de virtuele machine die de schijf gebruikt en selecteert u "Instellingen". Klik op het tabblad "Opslag" en selecteer de schijf. Je zult zien welk type schijf het wordt getoond naast "Details". In de onderstaande schermafbeelding geeft "Dynamisch toegewezen opslag" bijvoorbeeld aan dat dit een dynamische schijf is.
Stap twee: Schrijf nullen naar de schijf in de virtuele machine
Verwijder alle gegevens die u niet langer op de schijf in de virtuele machine wilt om ruimte vrij te maken voordat u doorgaat. Verwijder bestanden die u niet nodig hebt, verwijder programma's die u niet meer gebruikt en leeg uw Prullenbak. Dan moet je die lege ruimte overschrijven met nullen.
Voor Windows Guest Besturingssystemen
Als u Windows hebt geïnstalleerd op de virtuele machine, moet u nu de virtuele machine opstarten en de schijven defragmenteren. Zoek in de virtuele machine in het menu Start naar "Defragmenteren" en start het hulpprogramma "Schijfdefragmentatie" of "Schijfdefragmenteren en optimaliseren". Selecteer de schijf die u wilt comprimeren en klik op "Schijf defragmenteren".
Nadat het defragmentatieproces is voltooid, moet u nullen naar de lege ruimte binnen de virtuele machine schrijven. Wanneer u bestanden verwijdert, worden de verwijderde gegevens nog steeds op de schijf opgeslagen, zodat VirtualBox de schijf niet automatisch kan verkleinen. Maar wanneer u nullen over de verwijderde bestanden schrijft, ziet VirtualBox een grote hoeveelheid nullen - lege ruimte, met andere woorden - en kan de schijf worden gecomprimeerd.
Download hiervoor het hulpprogramma SDelete van Microsoft. Pak het sdelete.exe
bestand naar een map op uw computer.
Open een opdrachtpromptvenster. Open hiervoor het menu Start, zoek naar "Opdrachtprompt" en start de snelkoppeling.
Ga naar de map met de sdelete.exe
bestand door te typen CD
, druk op Spatie, voer het pad naar de map in en druk op Enter. Zorg ervoor dat u het pad tussen aanhalingstekens plaatst als het een spatie bevat. Het zou er zo uit moeten zien:
cd "C: \ pad \ naar \ map"
Als u bijvoorbeeld het sdelete.exe
bestand naar de downloadmap van uw gebruikersaccount en uw Windows-gebruikersnaam Bob is, voert u de volgende opdracht uit:
cd "C: \ Users \ bob \ Downloads"
Als u snel het mappad wilt invullen, typt u gewoon CD
in het opdrachtpromptvenster drukt u op Spatie en sleept u het mappictogram vervolgens van de adresbalk van de bestandsbeheerder.
Voer de volgende opdracht uit:
sdelete.exe c: -z
Dit zal nullen schrijven naar alle vrije schijfruimte op station C :. Als u een secundaire schijf wilt verkleinen die zich op een andere stationsletter in de virtuele machine bevindt, typt u de stationsletter in plaats van c :. Dit is waarvoor de tool is ontworpen. Zoals de SDelete-pagina op de website van Microsoft aantoont, is de optie -z "goed voor de optimalisatie van virtuele schijven".
U wordt gevraagd om akkoord te gaan met de licentieovereenkomst van de tool voordat u doorgaat. Klik gewoon op "Akkoord".
Wacht tot het proces is voltooid. Wanneer dit is gebeurd, sluit u uw virtuele machine af met de optie "Afsluiten" in het menu Start. U bent nu klaar om het te comprimeren.
Voor Linux Guest Besturingssystemen
Als u Linux op de virtuele machine hebt geïnstalleerd, met andere woorden een Linux-gastbesturingssysteem in plaats van een Windows-gastbesturingssysteem, kunt u het defragmentatieproces overslaan en ingebouwde opdrachten gebruiken om de vrije schijfruimte op nul te zetten. We gebruiken Ubuntu als het voorbeeld hier, maar het proces zal vergelijkbaar zijn op andere Linux-distributies.
Om dit te doen, moet u eerst het zerofree
hulpprogramma binnen de virtuele machine. Het zou beschikbaar moeten zijn in de softwarebronnen van uw Linux-distributie. U kunt het bijvoorbeeld op Ubuntu installeren door de volgende opdracht uit te voeren op de terminal binnen uw virtuele machine:
sudo apt installeer zerofree
Je kunt niet echt gebruiken zerofree
op uw / partitie terwijl u wordt opgestart in de standaard Linux-omgeving. In plaats daarvan wilt u opstarten in een speciale herstelmodus waarbij uw normale rootpartitie niet is gemount. Start op Ubuntu uw virtuele machine opnieuw op en druk herhaaldelijk op de "Esc" -toets terwijl het opstart om toegang te krijgen tot het menu Grub. Wanneer het menu Grub verschijnt, selecteert u "* Geavanceerde opties voor Ubuntu" en drukt u op Enter.
Selecteer de "(herstelmodus)" optie die is gekoppeld aan de meest recente Linux-kernel - dat wil zeggen, de optie met het hoogste versienummer bovenaan de lijst - en druk op Enter.
Selecteer "root" in het herstelmenu om te booten naar een rootshell-prompt.
Druk daarna op "Enter" wanneer "Druk op Enter voor onderhoud" op uw scherm verschijnt. U ontvangt een terminalprompt.
Bepaal op de opdrachtregel met welke virtuele schijf u de nul wilt maken door de volgende opdracht uit te voeren:
df
In de onderstaande uitvoer kunnen we dat zien / Dev / sda1
is ons enige echte schijfapparaat hier. Dat weten we omdat het de enige schijf is met / Dev /
in de meest linkse kolom.
Ervan uitgaande dat uw virtuele machine is gemaakt met de standaardinstellingen, heeft deze alleen / Dev / sda1
, welke de eerste partitie op de eerste harde schijf is. Als u de zaken anders hebt ingesteld met meerdere schijven of meerdere partities, moet u mogelijk een andere partitie of nul meerdere partities opnieuw instellen.
U bent nu klaar om de schijf op nul te zetten. Voer de volgende opdracht uit en vervang deze / Dev / sda1
met de apparaatnaam van de partitie waaraan u nullen wilt schrijven. De meeste mensen hebben gewoon een / Dev / sda1
apparaat naar nul.
zerofree -v / dev / sda1
Wanneer het nulproces is voltooid, voert u de volgende opdracht uit om de virtuele machine af te sluiten:
halte
Wanneer u het bericht "Systeem gestopt" op uw scherm ziet, is het systeem gestopt en kunt u nu uw virtuele machine afsluiten. Sluit het venster van de virtuele machine en selecteer "Zet de virtuele machine uit".
Stap drie: zoek de opdracht VBoxManage
De rest van het proces wordt uitgevoerd buiten de virtuele machine, op uw hostbesturingssysteem. Als u bijvoorbeeld Windows 10 op uw pc uitvoert en Windows 7 op een virtuele machine, voert u de rest van het proces uit op Windows 10.
Deze optie wordt niet getoond in de grafische interface van VirtualBox. In plaats daarvan moet u de VBoxManage.exe
commando.
Zoek deze opdracht om verder te gaan. In Windows vindt u dit in de programmamap van VirtualBox C: \ Program Files \ Oracle \ VirtualBox
standaard. Als je VirtualBox hebt geïnstalleerd in een andere map, kijk daar dan.
Open een opdrachtpromptvenster. Open hiervoor het menu Start en typ cmd
en druk op Enter.
Type CD
in de opdrachtprompt, gevolgd door het pad van de map waar de opdracht VBoxManage is. U moet het tussen aanhalingstekens plaatsen.
Je kunt dit snel doen door te typen CD
in het venster Opdrachtprompt en sleep vervolgens het mappictogram van de adresbalk van de bestandsbeheerder naar de opdrachtprompt.
Als u het standaardpad gebruikt, moet dit er als volgt uitzien:
cd "C: \ Program Files \ Oracle \ VirtualBox"
OPMERKING: Deze instructies gaan ervan uit dat u VirtualBox op Windows gebruikt. Als u VirtualBox op macOS of Linux gebruikt, kunt u een terminalvenster openen en de vboxmanage
commando normaal, zoals elk ander commando.
Stap vier: zoek het pad naar de schijf die u wilt comprimeren
Voer de volgende opdracht uit in het opdrachtpromptvenster om een lijst met alle virtuele harde schijven op uw computer te bekijken:
VBoxManage.exe lijst hdds
Stap vijf: maak de schijf compact
Om de schijf te comprimeren, moet je gebruiken VBoxManage.exe
met de juiste opdracht. Voer gewoon de volgende opdracht uit en vervang het pad naar het VDI-bestand van de schijf door het pad naar de schijf op uw systeem die u hebt gevonden met het bovenstaande commando. Zorg ervoor dat u het pad van het bestand tussen aanhalingstekens plaatst als het een spatie bevat die zich ergens in het pad bevindt.
Het zou er zo uit moeten zien:
VBoxManage.exe modifymedium disk "C: \ path \ to \ disk.vdi" --compact
Bijvoorbeeld, omdat het pad naar het bestand is C: \ Gebruikers \ chris \ VirtualBox VM's \ Windows 7 \ Windows 7.vdi
in ons voorbeeld voeren we de volgende opdracht uit:
VBoxManage.exe modifymedium schijf "C: \ Gebruikers \ chris \ VirtualBox VM's \ Windows 7 \ Windows 7.vdi" --compact
VirtualBox zal de schijf comprimeren en je kunt de virtuele machine daarna desgewenst onmiddellijk opstarten. Hoeveel ruimte u uiteindelijk bespaart hangt af van hoeveel lege ruimte er was om te herstellen.
Overweeg ook om snapshots te verwijderen
Met VirtualBox kunt u snapshots maken voor elke virtuele machine. Deze bevatten een volledig beeld van de virtuele machine wanneer u de momentopname hebt gemaakt, zodat u deze in een eerdere staat kunt herstellen. Deze kunnen veel ruimte in beslag nemen.
Maak snapshots die u niet gebruikt om meer ruimte vrij te maken. Om de snapshots te bekijken die u voor een virtuele machine hebt opgeslagen, selecteert u deze in het hoofdvenster van VirtualBox en klikt u op de knop "Snapshots" rechts van Details op de werkbalk. Als u geen momentopname meer nodig hebt, klikt u er met de rechtermuisknop op in de lijst en selecteert u "Momentopname verwijderen" om ruimte vrij te maken.