Domyślnie VirtualBox tworzy dyski dynamiczne, które rosną wraz z upływem czasu podczas dodawania danych. Jednak jeśli później usuniesz dane z maszyny wirtualnej, zauważysz, że dysk nie zmniejsza się automatycznie. Ale można ręcznie zmniejszyć dysk dynamiczny za pomocą ukrytego polecenia.
Pamiętaj, że spowoduje to zmniejszenie rozmiaru dysku tylko wtedy, gdy zwiększy się jego rozmiar, a Ty usuniesz dane. Tak więc, jeśli właśnie utworzyłeś dysk dynamiczny, nie zmniejszy go. Jeśli jednak utworzysz dysk dynamiczny, pobierzesz 10 GB danych, a następnie usuniesz te 10 GB danych, powinieneś być w stanie zmniejszyć dysk o około 10 GB.
Ten proces działa tylko w przypadku dysków dynamicznych, które mogą się zwiększać i zmniejszać. Dyski dynamiczne mogą mieć do pewnego maksymalnego rozmiaru - na przykład 50 GB - ale w rzeczywistości osiągają maksymalny rozmiar tylko wtedy, gdy zawierają tyle danych. Naprawione dyski wielkości zawsze będą miały maksymalny rozmiar.
Jeśli masz dysk o stałym rozmiarze, który chcesz zmniejszyć, możesz go najpierw przekonwertować na dysk dynamiczny, a następnie postępować zgodnie z instrukcjami poniżej. Na przykład, jeśli masz stały dysk o rozmiarze 50 GB, zawierający tylko 20 GB danych i konwertujesz go na dysk dynamiczny, powinieneś być w stanie zmniejszyć go, aby uzyskać tylko 20 GB miejsca.
Aby sprawdzić, czy dysk jest dynamiczny lub o stałym rozmiarze w VirtualBox, kliknij prawym przyciskiem myszy maszynę wirtualną, która używa dysku i wybierz "Ustawienia". Kliknij kartę "Pamięć" i wybierz dysk. Zobaczysz, jaki typ dysku jest wyświetlany obok "Szczegóły". Na przykład na poniższym zrzucie ekranu "Dynamicznie przydzielona pamięć" oznacza, że jest to dysk dynamiczny.
Pamiętaj, aby usunąć wszystkie dane, których już nie potrzebujesz na dysku wewnątrz maszyny wirtualnej, aby zwolnić miejsce przed kontynuowaniem. Usuń pliki, których nie potrzebujesz, odinstaluj programy, których już nie używasz, i opróżnij Kosz. Następnie musisz zastąpić puste miejsce zerami.
Jeśli masz zainstalowany system Windows na maszynie wirtualnej, powinieneś teraz uruchomić maszynę wirtualną i zdefragmentować jej dyski. Wewnątrz maszyny wirtualnej wyszukaj w menu Start "Defragmentacja" i uruchom narzędzie "Defragmentator dysków" lub "Defragmentuj i optymalizuj dyski". Wybierz dysk, który chcesz skompaktować, i kliknij "Defragmentuj dysk".
Po zakończeniu procesu defragmentacji należy wpisać zera do pustego miejsca wewnątrz maszyny wirtualnej. Kiedy usuwasz pliki, usunięte dane są nadal przechowywane na dysku, więc VirtualBox nie może automatycznie zmniejszyć dysku. Ale, gdy napiszesz zera nad usuniętymi plikami, VirtualBox zobaczy dużą liczbę pustych zer - innymi słowy - i będzie w stanie skompaktować dysk.
Aby to zrobić, pobierz narzędzie SDelete od firmy Microsoft. Wyodrębnij sdelete.exe
plik do folderu na twoim komputerze.
Otwórz okno wiersza polecenia. Aby to zrobić, otwórz menu Start, wyszukaj "Wiersz polecenia" i uruchom skrót.
Przejdź do katalogu zawierającego sdelete.exe
plik przez wpisanie Płyta CD
, naciskając spację, wprowadzając ścieżkę do katalogu i naciskając klawisz Enter. Pamiętaj, aby ująć ścieżkę w cudzysłów, jeśli zawiera znak spacji. To powinno wyglądać tak:
cd "C: \ ścieżka \ do \ folderu"
Na przykład, jeśli wyodrębniono sdelete.exe
plik do folderu pobierania twojego konta użytkownika, a twoją nazwą użytkownika Windows jest Bob, uruchomisz następujące polecenie:
cd "C: \ Users \ bob \ Downloads"
Aby szybko wypełnić ścieżkę katalogu, po prostu wpisz Płyta CD
w oknie wiersza polecenia naciśnij spację, a następnie przeciągnij i upuść ikonę folderu z paska adresu menedżera plików.
Uruchom następujące polecenie:
sdelete.exe c: -z
Spowoduje to zapisanie zer na całej wolnej przestrzeni dyskowej na dysku C :. Jeśli chcesz zmniejszyć napęd dodatkowy znajdujący się pod inną literą dysku w maszynie wirtualnej, wpisz jego literę zamiast c :. Właśnie do tego zaprojektowano narzędzie. Jak zauważa strona SDelete na stronie Microsoftu, opcja -z jest "dobra do optymalizacji dysków wirtualnych".
Zanim przejdziesz dalej, zostaniesz poproszony o wyrażenie zgody na umowę licencyjną narzędzia. Wystarczy kliknąć "Zgadzam się".
Zaczekaj, aż proces się zakończy. Po zakończeniu zamknij maszynę wirtualną za pomocą opcji "Zamknij" w menu Start. Jesteś teraz gotowy do kompaktowania.
Jeśli masz zainstalowany system Linux na maszynie wirtualnej - system operacyjny gościa Linux zamiast systemu operacyjnego gościa Windows, innymi słowy - możesz pominąć proces defragmentacji i użyć wbudowanych poleceń, aby wyzerować wolne miejsce na dysku. Użyjemy Ubuntu jako przykładu tutaj, ale proces będzie podobny w innych dystrybucjach Linuksa.
Aby to zrobić, musisz najpierw zainstalować zerofree
narzędzie w maszynie wirtualnej. Powinien być dostępny w repozytoriach oprogramowania dystrybucji Linuksa. Można na przykład zainstalować go w systemie Ubuntu, uruchamiając następujące polecenie na terminalu wewnątrz maszyny wirtualnej:
sudo apt install zerofree
W rzeczywistości nie możesz tego użyć zerofree
na twoim / partycji, gdy jesteś uruchomiony w standardowym środowisku Linux. Zamiast tego będziesz chciał uruchomić specjalny tryb odzyskiwania, w którym normalna partycja root nie jest podłączona. W systemie Ubuntu uruchom ponownie maszynę wirtualną i wielokrotnie naciskaj klawisz "Esc" podczas uruchamiania, aby uzyskać dostęp do menu Gruba.Gdy pojawi się menu Grub, wybierz "* Zaawansowane opcje dla Ubuntu" i naciśnij Enter.
Wybierz opcję "(tryb odzyskiwania)" skojarzoną z najnowszym jądrem systemu Linux - czyli opcję o najwyższym numerze wersji u góry listy - i naciśnij Enter.
Wybierz "root" w menu odzyskiwania, aby uruchomić rozruch z poleceniem powłoki głównej.
Naciśnij "Enter", gdy na ekranie pojawi się "Press Enter for maintenance". Otrzymasz monit terminalu.
W wierszu poleceń określ, który dysk wirtualny chcesz wyzerować, uruchamiając następujące polecenie:
df
Na wyjściu poniżej widzimy to / dev / sda1
to nasze jedyne rzeczywiste urządzenie dyskowe. Wiemy o tym, ponieważ jest to jedyny dysk z / dev /
w lewej kolumnie.
Zakładając, że twoja maszyna wirtualna została utworzona z ustawieniami domyślnymi, będzie miała tylko / dev / sda1
, która jest pierwszą partycją na pierwszym dysku twardym. Jeśli ustawiłeś różne rzeczy na wielu dyskach lub wielu partycjach, może być konieczne wyzerowanie innej partycji lub wyzerowanie wielu partycji.
Możesz teraz wyzerować dysk. Uruchom następujące polecenie, zastępując / dev / sda1
z nazwą urządzenia partycji, dla której chcesz zapisać zera. Większość ludzi po prostu będzie miała/ dev / sda1
urządzenie do zera.
zerofree -v / dev / sda1
Po zakończeniu procesu zerowania uruchom następujące polecenie, aby zamknąć maszynę wirtualną:
postój
Po wyświetleniu komunikatu "System wstrzymany" na ekranie system został zatrzymany i można teraz wyłączyć maszynę wirtualną. Zamknij okno maszyny wirtualnej i wybierz "Wyłącz maszynę wirtualną".
Pozostała część procesu zostanie wykonana poza maszyną wirtualną w systemie operacyjnym hosta. Na przykład, jeśli masz system Windows 10 działający na twoim komputerze i Windows 7 działający na maszynie wirtualnej, będziesz wykonywał resztę procesu w systemie Windows 10.
Ta opcja nie jest widoczna w interfejsie graficznym VirtualBox. Zamiast tego musisz użyć VBoxManage.exe
dowództwo.
Znajdź to polecenie, aby kontynuować. W systemie Windows znajdziesz go w katalogu programu VirtualBox, który jestC: \ Program Files \ Oracle \ VirtualBox
domyślnie. Jeśli zainstalowałeś VirtualBox w innym katalogu, spójrz tam.
Otwórz okno wiersza polecenia. Aby to zrobić, otwórz menu Start i wpisz cmd
i naciśnij Enter.
Rodzaj Płyta CD
w wierszu polecenia, a następnie ścieżka folderu, w którym znajduje się polecenie VBoxManage. Musisz załączyć go w cudzysłów.
Możesz to szybko zrobić, pisząc Płyta CD
w oknie wiersza polecenia, a następnie przeciągając i upuszczając ikonę folderu z paska adresu menedżera plików do wiersza polecenia.
Jeśli używasz domyślnej ścieżki, powinna wyglądać następująco:
cd "C: \ Program Files \ Oracle \ VirtualBox"
UWAGA: W tych instrukcjach założono, że używasz VirtualBox w systemie Windows. Jeśli używasz VirtualBox na macOS lub Linux, możesz po prostu otworzyć okno terminala i uruchomić vboxmanage
Polecenie normalnie, tak jak każde inne polecenie.
Uruchom następujące polecenie w oknie wiersza polecenia, aby wyświetlić listę wszystkich wirtualnych dysków twardych na komputerze:
VBoxManage.exe lista hdds
Przejrzyj listę i wskaż ścieżkę do pliku na dysku wirtualnym, który chcesz kompaktować. Powiedzmy, że chcemy zmodyfikować dysk wirtualny związany z maszyną wirtualną o nazwie "Windows 7". Jak widać na wyjściu poniżej, ścieżka do tego dysku wirtualnego w naszym systemie jestC: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi
.
Aby skompaktować dysk, musisz go użyć VBoxManage.exe
z poprawnym poleceniem. Po prostu uruchom następujące polecenie, zastępując ścieżkę do pliku VDI dysku ścieżką do dysku w systemie, który został znaleziony za pomocą powyższej komendy. Pamiętaj, aby ująć ścieżkę pliku w cudzysłów, jeśli zawiera spację w dowolnym miejscu na ścieżce.
To powinno wyglądać tak:
Dysk VBoxManage.exe modifymedium "C: \ path \ to \ disk.vdi" --compact
Na przykład, ponieważ ścieżka do pliku jest C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi
w naszym przykładzie uruchomilibyśmy następujące polecenie:
VBoxManage.exe dysk modifymedium "C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi" --compact
VirtualBox skompresuje dysk i jeśli chcesz, możesz od razu uruchomić maszynę wirtualną. Ile miejsca zaoszczędzisz, zależy od tego, ile pustej przestrzeni było do odzyskania.
VirtualBox umożliwia tworzenie migawek dla każdej maszyny wirtualnej. Zawierają pełny obraz maszyny wirtualnej po utworzeniu migawki, co pozwala przywrócić ją do poprzedniego stanu. Może to zająć dużo miejsca.
Aby zwolnić więcej miejsca, usuń migawki, których nie używasz. Aby wyświetlić migawki zapisane dla maszyny wirtualnej, wybierz ją w głównym oknie VirtualBox i kliknij przycisk "Migawki" po prawej stronie opcji Szczegóły na pasku narzędzi. Jeśli nie potrzebujesz już migawki, kliknij ją prawym przyciskiem myszy i wybierz "Usuń migawkę", aby zwolnić miejsce.