30Jul

Jak zmniejszyć wirtualną maszynę VirtualBox i zwolnić miejsce na dysku

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 od czasu usunięcia danych. 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.

Krok pierwszy: Upewnij się, że korzystasz z dysku dynamicznego

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.

Krok drugi: napisz zero na dysk w maszynie wirtualnej

Usuń 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.

Dla systemów operacyjnych gościa Windows

Jeśli masz zainstalowany system Windows w maszynie wirtualnej, powinieneś teraz uruchomić maszynę wirtualną i zdefragmentować jej dyski. Wewnątrz maszyny wirtualnej wyszukaj 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, musisz 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 z firmy Microsoft. Wyodrębnij plik sdelete.exe do folderu na 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 plik sdelete.exe, wpisując 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. Powinno to wyglądać tak:

cd "C: \ ścieżka \ do \ folderu"

Na przykład, jeśli wyodrębniono plik sdelete.exe do folderu pobierania konta użytkownika, a nazwą użytkownika Windows jest Bob, należy uruchomić następujące polecenie:

cd "C: \ Users \ bob \ Downloads"

Aby szybko wypełnić ścieżkę katalogu, po prostu wpisz 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ącą komendę:

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ę".

Poczekaj na zakończenie procesu. Po zakończeniu zamknij maszynę wirtualną za pomocą opcji "Zamknij" w menu Start. Jesteś teraz gotowy do kompaktowania.

Dla systemów operacyjnych gości Linux

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ć, najpierw musisz zainstalować narzędzie zerofree wewnątrz maszyny 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

Nie można w rzeczywistości używać zerofree na twoim / partycji podczas uruchamiania 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ć system z poleceniem powłoki głównej.

Naciśnij "Enter" później, 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, że /dev/ sda1 jest tutaj naszym jedynym rzeczywistym urządzeniem dyskowym. 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.

Jesteś teraz gotowy do wyzerowania dysku. Uruchom następującą komendę, zastępując /dev/ sda1 nazwą urządzenia partycji, dla której chcesz zapisać zera. Większość ludzi będzie po prostu mieć urządzenie sda1 /dev/ do zera.

zerofree -v /dev/ sda1

Po zakończeniu procesu zerowania uruchom następujące polecenie, aby wyłączyć maszynę wirtualną:

zatrzymanie

Po wyświetleniu komunikatu "System wstrzymany" na ekranie, system zatrzymał się i możesz teraz zamknąćdół twojej maszyny wirtualnej. Zamknij okno maszyny wirtualnej i wybierz "Wyłącz maszynę wirtualną".

Krok trzeci: znajdź polecenie VBoxManage

Reszta 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 należy użyć polecenia VBoxManage.exe.

Zlokalizuj to polecenie, aby kontynuować.W systemie Windows znajdziesz go w katalogu programu VirtualBox, domyślnie C: \ Program Files \ Oracle \ VirtualBox. Jeśli zainstalowałeś VirtualBox w innym katalogu, spójrz tam.

Otwórz okno wiersza polecenia. Aby to zrobić, otwórz menu Start, wpisz cmd i naciśnij klawisz Enter.

Wpisz polecenie cd w wierszu polecenia, a następnie ścieżkę folderu, w którym znajduje się polecenie VBoxManage. Musisz załączyć go w cudzysłów.

Możesz szybko zrobić to, wpisując 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 Terminal i normalnie uruchomić polecenie vboxmanage, tak jak każde inne polecenie.

Krok czwarty: znajdź ścieżkę do dysku, który chcesz zwinąć

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 to C: \ Users \ chris \ VirtualBox VMs \ Windows 7 \ Windows 7.vdi.

Krok piąty: Kompaktuj dysk

Aby skompaktować dysk, musisz 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.

Powinien wyglądać tak:

VBoxManage.exe dysk modifymedium "C: \ ścieżka \ do \ disk.vdi" --compact

Na przykład, ponieważ ścieżka do pliku to C: \ Users \ chris \ VirtualBox VMs \ Windows7 \ Windows 7.vdi w naszym przykładzie, uruchomilibyśmy następującą komendę:

VBoxManage.exe dysk modifymedium "C: \ Users \ chris \ Virtual VMware \ Windows 7 \ Windows 7.vdi" --compact

VirtualBox skompaktujena dysku i możesz od razu uruchomić maszynę wirtualną, jeśli chcesz. Ile miejsca zaoszczędzisz, zależy od tego, ile pustej przestrzeni było do odzyskania.

Pomyśl również o usuwaniu migawek

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.