Maszyny wirtualne są obecnie wszechobecne do testowania różnych systemów operacyjnych i wykonywania innych zadań. Popularnym i darmowym programem do uruchamiania maszyn wirtualnych jest VirtualBox. Podczas tworzenia nowej maszyny należy utworzyć dla niej dysk twardy i określić jego rozmiar. Nie zawsze jednak można przewidzieć, ile miejsca zajmie dana maszyna. Istnieją dynamiczne dyski wirtualne, które zajmują miejsce tylko podczas zapisywania na nich plików, ale jest to niekompletne rozwiązanie problemu, ponieważ nie można zaplanować wszystkiego z wyprzedzeniem.
Istnieją trzy główne formaty, których można używać w VirtualBox - VDI
, VHD
i VDMK
. Tylko VDI
i VHD
mogą być zmieniane. Istnieje obejście dla VDMK
.
Aby zwiększyć rozmiar, należy użyć polecenia w terminalu lub wierszu poleceń, niestety nie ma takiej funkcji w GUI. Musisz również znać pełną ścieżkę do dysku. Powiedzmy, że nasz dysk znajduje się pod adresem ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
w systemie Linux. Przyjrzyjmy się jego informacjom, aby poznać jego aktualny rozmiar:
$ VBoxManage showhdinfo ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi
Rozmiar jest oznaczony w polu pojemności i w tym przykładzie wynosi 22075 megabajtów. Ważne jest, aby znać pojemność w megabajtach, ponieważ to właśnie jej użyjemy do powiększenia dysku. Aby zwiększyć rozmiar wirtualnego dysku virtualbox, używamy tego samego polecenia, tylko z parametrem modifyhd
:
$ VBoxManage modifyhd ~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi --resize 32075
Zwiększyliśmy wolumen o 10 GB. Ważne jest, aby ilość określona w parametrze resize
nie była mniejsza niż aktualny rozmiar dysku, w przeciwnym razie dane systemu operacyjnego mogą zostać uszkodzone, a cały sens tej operacji staje się bezsensowny.
Jeśli twoja maszyna ma migawki stanu, powinieneś również zmienić ich rozmiar, w przeciwnym razie nic nie zadziała. W tym celu można użyć pętli podobnej do tej:
$ for x in ~/VirtualBox VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x --resize 32075 ; done
Pamiętaj, że rozmiar i nazwy muszą się zgadzać we wszystkich poleceniach dla tej samej maszyny. VirtualBox nie obsługuje zmiany rozmiaru formatu VDMK
, ale można go przekonwertować na vdi
, powiększyć jak opisano powyżej i przekonwertować z powrotem:
$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdmk" "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi" --format vdi
$ VBoxManage modifyhd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " --resize 32075$ VBoxManage clonehd "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi " "~/VirtualBox VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk" --format vmdk
W systemie operacyjnym Windows polecenie będzie wyglądać nieco inaczej, a ścieżka do pliku rozpocznie się od dysku C:. Aby uruchomić polecenie VBoxManage, należy najpierw przejść do folderu plików wykonywalnych VirtualBox:
cd “C:Program FilesOracleVirtualBox”
Uruchom polecenie zwiększenia rozmiaru virtualboxa, jak opisano wcześniej, zastąp ścieżkę pliku własną:
$ VBoxManage showhdinfoC:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi
I zmienić rozmiar tego dysku, należy pamiętać, że rozmiar powinien być określony w megabajtach i powinien być większy niż obecny.
$ VBoxManage modifyhd "C:UsersAdminVirtualBox VMsWindows 7Windows 7.vdi" --resize 32075
Fakt, że zwiększyłeś dostępny rozmiar dysku, niczego nie zmienia, tak jak dodanie nowego dysku twardego do systemu niczego nie zmienia. Następnie musisz uruchomić maszynę wirtualną, rozszerzyć dysk virtualbox i zwiększyć przestrzeń zajmowaną przez system plików, w tym celu możesz użyć narzędzia Gparted. W dystrybucjach Linuksa jest ono dostarczane domyślnie:
Zobaczysz zaznaczone na szaro dostępne miejsce na końcu dysku. Teraz możesz zmienić rozmiar ostatniej partycji, klikając ją prawym przyciskiem myszy i wywołując menu kontekstowe, a następnie wybierając "zmień rozmiar / przenieś":
Po zakończeniu nie zapomnij kliknąć "Zastosuj", aby zastosować wszystkie operacje.
Widzieliśmy, jak zwiększyć rozmiar wirtualnego dysku virtualbox za pomocą wiersza poleceń i jak udostępnić wynikową przestrzeń systemowi gościa.