Powiększenie dysku maszyny w VirtualBox


 

vbox_logo2_gradient

Jedną z większych bolączek VirtualBox jest między innymi brak możliwości rozszerzenia dysku dla wirtualnej maszyny z poziomu interfejsu graficznego. Jednak twórcy tego narzędzia nie pozostawili użytkowników samych sobie i wiele funkcji jest dostępnych z poziomu narzędzi dostępnych z poziomu linii komend. 

UWAGA! Zanim zaczniesz wykorzystywać narzędzia dostępne dla VirtualBox w linii komend – upewnij się, że Twoje wirtualne maszyny są wyłączone, a główne okno programu jest zamknięte!

Aby ułatwić sobie zadanie, najpierw dodajmy ścieżkę instalacji VirtualBox do systemowej zmiennej PATH. W tym celu uruchamiamy (Win+R) „Właściwości Systemu”:

sysdm.cpl

Tu przechodzimy do zakładki „Zaawansowane” i na samym dole klikamy w „Zmienne środowiskowe…”

system

W nowo otwartym oknie wybieramy z listy dostępnej w dolnym panelu interesującą nas zmienną „Path” i klikamy „Edytuj…”

path

W nowym okienku wybieramy albo „Nowy”, albo „Przeglądaj…” i wskazujemy na ścieżkę gdzie zainstalowany jest VirtualBox – najpewniej będzie to: C:\Program Files\Oracle\VirtualBox lub C:\Program Files (x86)\Oracle\VirtualBox.

path2

W starszych systemach Windows okienko to wygląda nieco skromniej, ale zasada jest podobna. Jeśli widzisz okienko jak poniżej, wystarczy, że na końcu linii po średniku dokleisz ścieżkę do instalacji VirtualBox:

patholder

Dla tych, którzy lubują się w CMD – jest też opcja zmiany zmiennej PATH bezpośrednio z linii komend. W tym celu należy wydać polecenie:

setx /m PATH „%PATH%;C:\ścieżka do instalacji VirtualBox”

Drobna uwaga – jakiekolwiek zmiany zmiennych środowiskowych nie są brane pod uwagę w bieżącej sesji cmd.exe, tak więc jakiekolwiek zmiany czy to dokonane w okienkach czy też w linii komend, będą widoczne dopiero po ponownym uruchomieniu cmd.exe. Aby upewnić się, że wszystko działa jak należy wydajemy polecenie:

echo %path% | find „VirtualBox”

I sprawdzamy, czy polecenie zwróciło jakiś wynik. Teraz przystępujemy od właściwej zabawy, czyli powiększenia dysku twardego (pliku .vdi) dla wirtualnej maszyny. I choć wydaje się, że wszystko to, co zostało wykonane do tej pory nie ma znaczenia dla sprawy… to jest to po części racja, ale zdecydowanie ułatwia pewne sprawy, ale o tym za chwilę. W ustawieniach konkretnej maszyny w sekcji „Storage” znajdziemy informację o rozmiarze dysku oraz o jego lokalizacji:

vdi

W cmd wystarczy teraz przejść do folderu w którym znajduje się plik .vdi, który ma zostać powiększony i wydać polecenie:

Vboxmanage modifyhd 1504.vdi –resize 40000

Dzięki wszystkim operacjom wprowadzającym możemy teraz używać Vboxmanage w każdym katalogu bez konieczności pisania pełnej ścieżki do tego programu. Należy tu jeszcze zaznaczyć, że wartość parametru resize odnosi się do końcowego rozmiaru dysku, a nie do wartości o jaką chcemy poszerzyć dysk. W moim przypadku wyglądało to mniej więcej tak, aby dysk z 30GB stał się dyskiem 40GB:

resize

Aby potwierdzić zmianę wystarczy ponownie zajrzeć w ustawienia wirtualnej maszyny do sekcji Storage:

storage

Jak widać dysk został powiększony, co prawda nie do pełnych 40GB, ale chodziło mi o pokazanie zasady. Przekłamanie wynika z faktu zaokrągleń – 1GB to prawie dokładnie 1024MB itp… ;) Wiadomo o co chodzi. Zaś samo powiększanie dysku już w systemie wirtualnej maszyny jest uzależnione od jego samego oraz od sposobu wykorzystania dysku.

 


Podobne Tematy:

  • A ja głupi najpierw robiłem kopie dysku przez clonezille,następnie wgrywałem na nowy większy wirtualny dysk…

  • Hubert

    A ja nie mogę powiększyć dysku Windowsa 2012:
    0%…
    Progress state: VBOX_E_NOT_SUPPORTED
    VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

    • Możesz najpierw pokazać jaki wynik da polecenie:

      VBoxManage showhdinfo ?

      • Hubert

        Oczywiście:
        UUID: 5391b91b-a3c8-4845-ba78-a51a6998e5a7
        Parent UUID: base
        State: created
        Type: normal (base)
        Location: win2012srv1.vdi
        Storage format: VDI
        Format variant: dynamic default
        Capacity: 101376 MBytes
        Size on disk: 9748 MBytes
        In use by VMs: win2012srv (UUID: c10ba4f5-e508-4689-b88c-af22ad47a9f3)

        • I jak go rozszerzasz?

        • Hubert

          No właśnie nie mogę. Może dodam, że VirtualBox (4.3.34r104062) stoi na Ubuntu:

          root@14.04.LTS:/vms/win2012srv $ VBoxManage modifyhd win2012srv1.vdi –resize 40000
          0%…
          Progress state: VBOX_E_NOT_SUPPORTED
          VBoxManage: error: Resize hard disk operation for this format is not implemented yet!
          Stawiając pierwszy raz Win2012 utworzyłem dysk 50GB, ale niestety Win2012 potrzebuje min 90GB. Nie mogłem powiększyć, więc szybko utworzyłem nowy, większy dysk i zainstalowałem ponownie. Jest to instalacja testowa, więc nie było problemu. Ale jak widać tego nowego też powiększyć się nie da… Wykonałem próbę powiększenia dysku systemu linuksowego (.vdi), ale wysypało się komunikatem jak przy win2012srv1.

        • Nie doczytałeś wpisu :)

          Musisz napisać rozmiar DOCELOWY!!! Czyli jeśli chcesz Powiększyć dysk 50GB do 90GB to nie piszesz –resize 40000 tylko –resize 90000

          :)

        • Hubert

          Wygląda na to że zrozumiałem, że powiększa się o daną wartość. Faktycznie, teraz działa :) Dzięki

        • Dostajesz za karę jednorożca z kotem! Noś go z dumą ;) A następnym razem – RTFA! :D

        • Hubert

          Kota czy jednorożca? A ode mnie w podziękowaniu dostajecie: :)
          https://youtu.be/sJOD7Bsllso

  • paweł

    Teraz to raczej taka komenda i nie potrzebne żadne zmienne środowiskowe
    „C:Program FilesOracleVirtualBoxVboxmanage.exe” modifymedium „C:UsersPawełVirtualBox VMsdyskidysk.vdi.vhd” –-resize 40000