Jak zmienić rozmiar pliku VMB VirtualBox

539

Skończyło mi się miejsce na dysku maszyny wirtualnej, który jest vmdk i muszę zmienić rozmiar obrazu wirtualnego. Zmiana rozmiaru za pomocą polecenia

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

daje błąd

Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Jak mogę zmienić rozmiar obrazu VMDK?

Brian
źródło

Odpowiedzi:

806

Jeśli chcesz zakończyć odzyskiwanie dysku twardego vmdk (być może interesuje Cię również użycie dysku w vwmare), wykonaj następujące kroki:

VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk

Powyższe spowoduje zmianę rozmiaru dysku twardego do 50 GB (50 * 1024 MB).

Aby wykonać te czynności , musisz także zmienić rozmiar dysku! Aby to osiągnąć, możesz pobrać gparted ISO i uruchomić z tego ISO, aby zmienić rozmiar dysku (wybierz ISO z ustawień Virtualbox).

PS Jeśli twój nowy rozmiar jest zbyt mały, otrzymasz ten sam błąd, nawet z nowym plikiem vdi.

Luca Borrione
źródło
17
To działa! Chcę dodać, że możesz także pominąć trzeci krok i zachować dysk w formacie VDI. Właśnie zrobiłem to z obrazem Oracle 12c i działa dobrze bez trzeciego kroku. Po prostu zamień stary „dysk twardy” na sklonowany VDI w ustawieniach. Ponadto - nie zapomnij zmienić rozmiaru za pomocą Gparted i możesz zacząć!
Avindra Goolcharan
12
Użytkownicy systemu Windows, którzy nie dodali VirtualBox do zmiennej PATH, powinni pamiętać o przejściu do katalogu Virtual Box, aby skorzystać z programu VBoxManage, np. „Cd C: \ Program Files \ Oracle \ VirtualBox”
Cleanshooter
2
Mam dowiązanie pliku vm z mojego SSD do dużego SSD. Musiałem określić ścieżkę dowiązania symbolicznego VBoxManage clonehd "~/path/to/symlink/packer-centos-6.5-x86_64-disk1.vmdk" "/media/k0pernikus/thatFatSlowDisk/cloned_packer-centos-6.5-x86_64-disk1.vdi"Jeśli podasz prawdziwą ścieżkę, polecenie ulegnie awarii z powodu VBoxManage: error: Cannot register the hard disk, ponieważ VBox uważa, że ​​jest już zdefiniowane gdzie indziej.
k0pernikus
2
Łał. Zmarnowałem godziny, próbując i badając, dlaczego clonehedwciąż tworzy woluminy, które nie są obsługiwane przez --resize. Okazuje się, że dołączenie --format vdido clonehdjest kluczowe!
datv
5
Niedopasowanie identyfikatorów UUID po wykonaniu tej czynności (i wymianie oryginalnego dysku). VirtualBox 5.1.12 nie aktualizuje UUID automatycznie. Musiałem usunąć dysk twardy z listy znanych dysków twardych (Plik -> Virtual Media Manager), a następnie ponownie dodać go do instancji.
Chaim Eliyah
196

Byłem w stanie zmienić rozmiar vmdk, klonując go, a następnie modyfikując i zmieniając rozmiar.

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
Brian
źródło
4
Dzięki za to. Dla każdego, kto dostanie błąd: VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005)podczas próby uruchomienia tego polecenia w systemie Windows uruchom wiersz polecenia jako użytkownik niebędący administratorem.
Jim W.
4
@BradFJacobs, ale oczywiście. W końcu to logiczna rzecz. : P
Paul Draper
4
Pozostawia to plik w formacie VDI, który nie odpowiada na pytanie Briana „Jak mogę zmienić rozmiar obrazu vmdk?”
user66001,
Uwaga: po zmianie rozmiaru pliku vmdk musisz rozwinąć partycję na maszynie wirtualnej, uruchamiając ją np. gparted-live
stephanfriedrich
Dla informacji: W Linuksie (mięta) działało tylko bez użycia podwójnych cudzysłowów w virtualdisk.vmdktaki sposób:vboxmanage clonehd virtualdisk.vmdk "new-virtualdisk.vdi" --format vdi vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
lese
43

Mam klienta Windows 7 na komputerze Mac i ten post był BARDZO pomocny. Dzięki.

Dodałbym, że nie używałem gparted. Ja to zrobiłem:

  1. Uruchom nowy powiększony obraz vmdk.
  2. Przejdź do Start i kliknij prawym przyciskiem myszy Komputer i wybierz Zarządzaj.
  3. Kliknij Zarządzanie dyskami
  4. Powinieneś zobaczyć trochę szarego miejsca na (w moim przypadku) dysku C.
  5. Kliknij dysk C prawym przyciskiem myszy i wybierz opcję Rozszerz głośność.
  6. Wybierz rozmiar i idź

Słodkie! Wolałem, aby używać narzędzia innej firmy z ostrzeżeniami o utracie danych.

Twoje zdrowie!

CodeChops
źródło
32

VBoxManage załatwia sprawę , ale nie zapominaj, że musisz użyć GParted lub innego narzędzia, aby przydzielić wolne miejsce utworzone za pomocą VBoxManage .

Przejrzyj mój blog, aby uzyskać szczegółowe informacje i zrzuty ekranu krok po kroku.

TVial
źródło
VBoxManage wyraźnie nie działa, myślę, że
pomyliłeś
Bez zamieszania, wystarczy spojrzeć na link. VMDK musi zostać przekonwertowany na VDI.
TVial
@tvial - niestety, AFAICS, proces konwersji VMDK na VDI spowoduje utratę wszystkich posiadanych migawek, co jest nie do przyjęcia dla wielu osób. Dlatego samo stwierdzenie, że „robi lewę”, jest przesadą.
Jules,
@Jules, moja odpowiedź dotyczy pytania. Brian próbował użyć VBoxManage i nie tylko stwierdzam, że tak. Spędziłem godziny pisząc post na blogu krok po kroku ze zrzutem ekranu. Prawdopodobnie brakuje informacji o migawkach, masz rację.
TVial 19.04.16
Jasne, ale to nie jest najlepsze rozwiązanie. Odpowiedzi, które zawierają rekomendacje dla oprogramowania, które zmienią rozmiar VMDK bez konwersji na VDI (np. Odpowiedzi dostarczone przez @micwallace i @davidehrman) są zdecydowanie lepszymi rozwiązaniami dla wielu osób (i nie jest jasne, czy pierwotny pytający jest jednym z nich, czy nie ).
Jules
31

W rzeczywistości potrzebne są tylko te polecenia:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

Następnie możesz wybrać cloned.dvi w magazynie GUI Virtualbox.

Następnie uruchom wirtualne okna i rozwiń dysk C jako metody Code Chops.

Nie jest konieczna konwersja pliku * .vdi do pliku * .vmdk.

Nowy Bentley
źródło
5
Nie głosowałem negatywnie, ale mogłem zrozumieć głos negatywny, ponieważ dwie najlepsze odpowiedzi, obie odpowiedzi w 2012 r. (!) Są dokładnie takie same. To nie dodaje nic nowego.
nathanvda
2
-1 Zgadzam się z nathanvda , ale także ta „odpowiedź” nie odpowiada na pytanie Briana „jak mogę zmienić rozmiar obrazu vmdk?”
user66001,
22

Ponieważ jest to plik vmdk, możesz użyć VMWare vdiskmanager, jeśli jest dostępny na twoją platformę. VMWare ma tutaj wersje dla systemów Linux, Windows i OS X x86 .

A potem po prostu robisz:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

Pozwala to uniknąć klonowania, a następnie rozszerzania dysku. Minusem jest to, że potrzebujesz dodatkowego narzędzia, a vmdk to format dysku VMWare, a nadal korzystasz z Virtualbox, więc mogą wystąpić niezgodności.

qemu-imgmoże również działać, ale nie jestem pewien, czy obsługuje zmianę rozmiaru plików vmdk. Wyglądałoby to tak:

qemu-img resize Machine-disk1.vmdk +8G

Przypominamy, że po zmianie rozmiaru dysku podstawowego nadal musisz powiększać partycję. Wszystkie te narzędzia są w istocie dd if=/dev/old_disk of=/dev/new_disk bs=16M.

David Ehrmann
źródło
1
najlepszy program odpowiadający, nie wymaga klonowania.
WiringHarness,
+1 To zadziałało świetnie w przypadku zmiany rozmiaru maszyny wirtualnej z systemem Windows, a nawet nie musiałem uruchamiać się w celu odzyskania, moja instalacja pozwoliła mi zmienić rozmiar w Zarządzaniu dyskiem po ponownym uruchomieniu.
benh57
To działało dla mnie lepiej, zmieniając rozmiar obrazu ubuntu na Windows10. Nie musiałem nawet powiększać partycji (była to moja partycja root) po rozszerzeniu dysku.
zacumowane
Link do pobrania vdiskmanager nie działał dla mnie. Pobieram wersję próbną VMWare z download3.vmware.com/software/fusion/file/... , a następnie zamontowałem plik .dmg. Narzędzie vdiskmanager jest następnie dostępne w / Volumes / VMware \ Fusion / VMware \ Fusion.app/Contents/Library/vmware-vdiskmanager.
user674669
16

Wypróbowałem wszystkie rozwiązania tutaj, ale wydawało się, że nic nie działa. Po wielu godzinach kopania znalazłem ten post na blogu i jak magia wszystko działa. Musiałem dokonać drobnych korekt, więc tutaj jest zmodyfikowana wersja. Testowane z wersją Docker 17.06.0-ce, kompilacja 02c1d87.

Gdy programiści naprawdę zaczynają konteneryzować swoje aplikacje, często generują dużą liczbę obrazów i szybko zapełniają 20 GB miejsca na dysku twardym przydzielonego domyślnie maszynie wirtualnej Docker. Aby upewnić się, że maszyna wirtualna Docker ma dużo miejsca na dysku, powinniśmy zmienić rozmiar / dev / sda1 na bardziej rozsądną liczbę.

  1. Pobierz GParted Live CD / USB / HD / PXE Obraz rozruchowy .
  2. Zatrzymaj maszynę wirtualną Docker docker-machine stop default.

  3. Instalator pakietu Boot2Docker jest dostarczany z woluminem VMDK, którego natywne narzędzia VirtualBox nie mogą zmienić. Aby zmienić rozmiar woluminu dyskowego Docker, najpierw sklonuj wolumin VDI z domyślnego woluminu VMDK vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard.

  4. Zmień rozmiar nowo sklonowanego woluminu VDI do pożądanej pojemności. Zalecamy co najmniej 64 GB vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>.
  5. Uruchom aplikację VirtualBox, wybierz defaultVM i kliknij koło zębate „Ustawienia” u góry.Menedżer VirtualBox
  6. Kliknij ikonę „Storage”. Usuń domyślny wolumin VMDK.wprowadź opis zdjęcia tutaj
  7. Dodaj nowy kontroler IDE.Kontroler IDE
  8. Zamontuj GParted ISO za pomocą opcji „Dodaj urządzenie CD / DVD”.Dodaj urządzenie CD / DVD
  9. Zamontuj sklonowany wolumin VDI za pomocą opcji „Dodaj urządzenie CD / DVD”.Zamontuj głośność
  10. Jeśli używasz Dockera na komputerze z półprzewodnikowym dyskiem twardym, upewnij się, że dla sklonowanego woluminu VDI wybrano opcję „Dysk półprzewodnikowy”.Dysk SSD
  11. Kliknij ikonę „Start”, aby uruchomić maszynę wirtualną Docker, która uruchomi GParted ISO. Wybierz „GParted Live (ustawienia domyślne)”.GParted Live (ustawienia domyślne)
  12. Ustaw zasady obsługi map klawiszy na „Nie dotykaj mapy klawiszy”.mapy klawiszy
  13. Ustaw preferencje językowe na opcję „33”, która odwzorowuje na „US English”.Angielski w USA
  14. Wybierz opcję „1”, aby uruchomić „Forcevideo” i ręcznie skonfiguruj X.Forcevideo
  15. Zachowaj domyślną rozdzielczość „1024 × 760”, wybierając opcję „2”.1024 × 760
  16. Zachowaj domyślną „vesa” jako kartę VGA.Pozostaw puste, jeśli pożądane jest ustawienie domyślne
  17. Zachowaj domyślną głębię kolorów „24”, wybierając opcję „0”. Głębia koloru
  18. Po uruchomieniu GParted kliknij ikonę „Zmień rozmiar / Przenieś”.GParted
  19. Ustaw nowy rozmiar woluminu dyskowego na żądany rozmiar, przeciągając suwak. W tym przykładzie maksymalny rozmiar to 127 035 MB. Kliknij przycisk „Zmień rozmiar / Przenieś”, aby rozpocząć proces.Rozmiar woluminu dyskowego
  20. Potwierdź operację zmiany rozmiaru, klikając przycisk „Zastosuj”.Upiecz to
  21. Wyłącz urządzenie po zakończeniu operacji zmiany rozmiaru.Twardy reset, np :)
  22. Usuń GParted ISO.Twoje prawie gotowe
  23. Zaloguj się do maszyny wirtualnej Docker, aby sprawdzić, czy zmiana rozmiaru woluminu powiodła się, uruchamiając maszynę docker-machine start default
  24. Jeśli wystąpią problemy z siecią, uruchom ponownie maszynę dokującą
Ako
źródło
Bardzo szczegółowe i pomocne. Dzięki. W opcji gparted śledziłem wymuszoną ścieżkę wideo , to nie działało. Automatyczny X opcja pracował chociaż.
mshsayem
15

Możesz użyć Vmware player, aby zmienić rozmiar vmdk. To usuwa konwersję w obie strony (odnotowaną w innych postach), jeśli chcesz zachować ją w formacie vmdk. Upewnij się tylko, że kiedy dodajesz vmdk do vmware, nie klikaj formatu aktualizacji po wyświetleniu monitu, zachowaj bieżący na wypadek, gdyby VirtualBox go nie zaakceptował.

micwallace
źródło
1
Dzięki, właśnie to zrobiłem. Myślę, że najpierw trzeba umieścić na maszynie wirtualnej, aby móc zmienić rozmiar, ale to mały krok. Również nie uruchamiaj VM w VMWare, zmiana HW spowodowała dla mnie bluescreen.
Andreas Reiff,
Doskonała wskazówka! też był bardzo szybki (zajął około 1 sekundy) i zachował moje ustawienie „podziel na pliki 2 GB”. Dzięki!!
Osmar
Jak przenieść VMDK do odtwarzacza VMware? To brzmi jak świetne rozwiązanie, ale jest niekompletne
thaspius
11

Aby zmniejszyć rozmiar obrazu, wykonuję następujące czynności:

  1. Na komputerze klienckim cat /dev/zero > z;sync;sleep 3;sync;rm -f z
  2. Zamknij komputer kliencki
  3. Na hoście VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  4. Na hoście VBoxManage modifyhd cloned.vdi --compact
  5. Na hoście VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
Londeren
źródło
11

Jak wspomniano w odpowiedzi Lucy, wymagane kroki to:

  1. Sklonuj obraz VMDK do formatu VDI

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. Zmień rozmiar obrazu VDI

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. Sklonuj z powrotem do formatu VMDK

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

Krok 3 jest opcjonalny, jeśli zamiast tego można użyć obrazu VDI.

Wszystkie te kroki można również wykonać w graficznym interfejsie użytkownika VirtualBox, pod File -> Virtual Media Manager . Wybierz dysk, który chcesz sklonować, a następnie wybierz Copy. Zostanie otwarte okno dialogowe, które pozwala wybrać format dysku i opcje. Aby zmienić rozmiar obrazu VDI, wystarczy użyć suwaka u dołu (kliknij, Propertiesjeśli nie jest widoczny).

Wreszcie może być konieczna zmiana rozmiaru dysku w systemie-gościu:

  1. Uruchom system gościa i zmień rozmiar partycji dyskowych. Jeśli używasz Linuksa, możesz użyć gpartedlub kparted.
teekarna
źródło
9

VirtualBox dla Windows

Zmiana rozmiaru pliku dysku przy jednoczesnym zachowaniu ustawień maszyny wirtualnej!


Krok 1 - Zmień rozmiar pliku dysku

Uruchom program cmd.exe

cddo Oracle VM VirtualBox w katalogu (w systemach 64-bitowych: "C:\Program Files\Oracle\VirtualBox\")

Uruchom następujące polecenia (jak wyżej):

VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200

Eksplorator Windows i „skopiuj adres jako tekst” za pomocą paska adresu powinny pomóc ci uzyskać potrzebną ścieżkę.

W systemie Windows katalog maszyny Wirtualnej VirtaulBox pod użytkownikiem może zawierać plik bazy danych w formacie XML z ustawieniami skonfigurowanymi dla maszyny wirtualnej. Zmień nazwę tego pliku na .bakrozszerzenie (ma .vboxrozszerzenie). Zmień nazwę oryginalnego .vmdkpliku z .bakrozszerzeniem, aby uniknąć kolejnego błędu. Możesz teraz bezpiecznie wykonać trzeci krok bez komunikatu o błędzie, aby przekonwertować urządzenie z powrotem na .vmdkformat lub błędu „duplikowania dysku”.

VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk

Otrzymasz token UID . Skopiuj ten token, przeciągając go, podświetlając w oknie Windows Interpetor poleceń i używając Ctrl+Cskrótu klawiaturowego.

Otwórz .vbox.bakplik w edytorze tekstów, takim jak Notepad ++. Otrzymasz plik bazy danych podobny do XML. Poszukaj tych linii:

<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
  <Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
    <MediaRegistry>
      <HardDisks>
        <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...

Na linii <HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ..., usunąć starą UID Reklamowe między nawiasami i wklej ten, skopiowany z okna poleceń. Pamiętaj, aby pozostawić wsporniki na miejscu !

Zapisz ten plik i zamknij edytor tekstu. Zmień nazwę .vbox.bakpliku, aby przywrócić jego oczekiwane rozszerzenie .vbox.


Krok 2 - Usuń śmieci

Teraz można bezpiecznie usunąć .bakpliki pozostające w katalogu. To, co pozostaje, to przeskalowana .vmdkze zaktualizowaną .vboxbazą danych, z zachowanymi wcześniej ustawieniami VirtualBox Manager.


Krok 3 - Zmień rozmiar partycji dysku, aby wypełnić wolne miejsce

Możesz teraz uruchomić VirtualBox VM Manager i uruchomić maszynę wirtualną, korzystając z odpowiednich narzędzi dla systemu operacyjnego, aby wypełnić nowe wolne miejsce.

W przypadku maszyn wirtualnych z systemem Windows skorzystaj diskpartz wiersza polecenia uruchomionego z Konsoli odzyskiwania systemu Windows (partycja odzyskiwania) SELECT DISK 1, LIST PARTITIONa następnie zbierz numer partycji C:\dysku SELECT PARTITION #. Za pomocą przycisku EXTEND SIZE=mbmożna zmienić rozmiar dysku C: \ systemu Windows na odpowiednią wartość. Upewnij się, że zostawiłeś miejsce na partycje odzyskiwania i rozruchu! Aby uzyskać tę wartość, można bezpiecznie odjąć 4096 MB od nowego rozmiaru dysku wirtualnego, ponieważ pliki kopiowania w tle i pliki odzyskiwania systemu Windows.

W przypadku maszyn wirtualnych z systemem Linux , plik .ISOgparted, który można uruchomić za pomocą pliku dysku maszyny wirtualnej, można znaleźć pod adresem : http://gparted.org/. Przejdzie on bezpośrednio do graficznego interfejsu użytkownika gparted-gtk, z którego można wypełnić twoja wolna przestrzeń.

W przypadku maszyn wirtualnych PPC / Mac , Disk Utilityz Findera poprosi Cię o wypełnienie wolnego miejsca, ale możesz rozważyć opcję partycji Linux , ponieważ obecnie jedyną metodą uruchamiania MacOSX w VirtualBox jest hackintosh i nie możesz rozszerzyć głośności podczas uruchamiania w MacOSX. Możesz także poszukać tymczasowej modyfikacji ustawień maszyny wirtualnej gparted, aby ją uruchomić. Partycje MacOSX są rozpoznawane przez gparted jako HFS- partycje „Heaping File System”.


Krok 4 - Zdjęcia kotów

Ponieważ internet. ;) Jesteś skończony. Ciesz się nowym .vmdkobrazem dysku wirtualnego o zmienionym rozmiarze dzięki VirtualBox dla Windows!

Robert Smith
źródło
Dziękujemy za kompleksowe kroki, były bardzo przydatne! Niektóre warianty zrobiłem: Użyłem narzędzia partycji dysku do rozszerzenia woluminu dyskowego na mojej maszynie Wirtualnej Win10. Brakuje również szczegółowego kroku, którym jest ponowne dodanie sklonowanego dysku vmdk do konfiguracji maszyny wirtualnej. Otóż ​​to. Twoje zdrowie!
j4v1,
Bardzo ważna jest część zmiany nazwy pliku konfiguracyjnego VM „.vbox” na „.vbox.bak” przed klonowaniem ! jeśli nie, akcja klonowania zakończyła się niepowodzeniem
Andres
Jest to prawdopodobnie „najbardziej kompletna” odpowiedź, jeśli otrzymujesz błędy z nieudanych poleceń VBoxManage. W moim przypadku nawet gdy nazwa pliku konfiguracji została zmieniona na „* .vbox.bak”, VBox nadal zachował stan (przez rejestr?). Musiałem więc użyć dodatkowych poleceń VBoxManage. Na przykład, aby zobaczyć dysków wirtualnych: vboxmanage list hdds. Aby usunąć te niechciane: vboxmanage closemedium disk <filename.vmdk>. Zobacz SATA port #, urządzenia #: vboxmanage showvminfo <vmName>. Aby ODŁĄCZYĆ dysk: vboxmanage storageattach <vmName> --storagectl SATA --port <p#> --device <d#> --medium none
elektromaggot
7

Oto sposób zmiany rozmiaru dysku VirtualBox, niezależnie od tego, czy jest to dysk o stałym formacie, czy dynamiczny. W szczególności zapobiega to błędom występującym, gdy dysk ma ustalony format.


⚠️ Wykonaj kopię zapasową dysku wirtualnego. Nigdy nie wiesz, co może pójść nie tak.

Na twoim hoście:

  1. Otwórz okno terminala.

    W systemie Windows: otwórz wiersz polecenia cmd.

  2. Przejdź do katalogu z dyskiem wirtualnym, którego rozmiar chcesz zmienić. Na przykład:

    cd "My VMs"
  3. Utwórz nowy dysk VirtualBox z żądaną nazwą pliku, rozmiarem (w megabajtach) i formatem Standard(dynamicznym) lub Fixed). Na przykład, aby utworzyć dysk o stałym formacie 50 GB o nazwie MyNewDisk.vdi:

    VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed

    Jeśli polecenie VBoxManagenie zostanie rozpoznane, podaj pełną ścieżkę do niego. Można go znaleźć w katalogu instalacyjnym VirtualBox. W systemie Windows powyższe polecenie brzmiałoby:

    "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium
        --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
  4. Skopiuj oryginalny dysk na nowy dysk.

    VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
  5. Zmiana rozmiaru jest zakończona! Możesz sprawdzić właściwości nowego dysku, jeśli chcesz:

    VBoxManage showmediuminfo "MyNewDisk.vdi"
  6. Zmień maszynę wirtualną, aby zamiast tego używała nowego dysku.

Następnie w systemie-gościu należy zmienić rozmiar partycji, aby użyć nowo dostępnego miejsca.

Daniel AA Pelsmaeker
źródło
3

Przybyłem tutaj, ponieważ musiałem zmienić rozmiar dysku w moim środowisku programistycznym Docker (CoreOS).

Dokumentacja CoreOS mówi, że nie ma potrzeby zmiany rozmiaru partycji systemu operacyjnego - to nieprawda. Po zmianie rozmiaru dysku wirtualnego postępuj zgodnie z tymi instrukcjami i zmień rozmiar partycji systemu operacyjnego za pomocą GParted:

https://docs.docker.com/articles/b2d_volume_resize/

lucasmartins
źródło
3

Szybka i prosta opcja:

  1. Wyłącz maszynę
  2. Utwórz nowy dysk wirtualnego pudełka o żądanym rozmiarze
  3. Przenieś zawartość ze starego dysku na nowy dysk:

    vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
    
  4. Włącz maszynę

  5. Być może trzeba zmienić rozmiar partycji w systemie operacyjnym, aby wypełnić resztę dysku

Ostrzeżenie

Jeśli nowy dysk jest krótszy niż źródłowy, utracisz dane znajdujące się w nowej pozycji rozmiaru dysku na dysku źródłowym.

Możesz zapobiec cofnięciu przydziału miejsca delta, gdzie delta = rozmiar (dysk źródłowy) - rozmiar (nowy dysk), na końcu dysku źródłowego w systemie operacyjnym przed krokiem 1.

Andre Figueiredo
źródło
0

Wyrzuć to i zacznij od nowa. Zignoruj ​​wszystkie te odpowiedzi - nie marnuj czasu.

Snowcrash
źródło
OK, więc jak uruchomić maszynę wirtualną z większym dyskiem, np. Vagrant?
Chris L. Barnes
-4

Pobierz / zainstaluj / użyj VMWare Workstation i utwórz nową maszynę wirtualną na podstawie bieżącego pliku vmdk, a następnie możesz zmienić rozmiar vmdk. Szczegółowe informacje na ten temat można znaleźć w Google dla VMWare.

Prem do nauczania LCA
źródło
-4

Po prostu musisz wykonać następujące kroki:

  1. Wyłącz urządzenie.
  2. Kliknij prawym przyciskiem myszy nazwę maszyny wirtualnej> Ustawienia> Pamięć
  3. Kliknij Kontroler: SATA> Dodaj dysk twardy.
  4. Wybierz rozmiar nowego typu dysku twardego i kliknij Utwórz.
  5. Odrzuć stan maszyny.
  6. Włóż Live CD Ubuntu.
  7. Uruchomienie z Live CD Ubuntu.
  8. Otwórz „gparted” (jest zainstalowany, nie trzeba go instalować).
  9. Sprawdź, czy system widzi Twój nowo utworzony dysk twardy.
  10. Otwórz terminal.
  11. Wpisz następujący kod.
  12. sudo dd if = / dev / sda of = / dev / sdb (Pierwsza to stara ścieżka do partycji, druga to nowa ścieżka do partycji).
  13. Poczekaj na zakończenie kopiowania danych (ten krok może zająć trochę czasu, zgodnie ze specyfikacją hosta).
  14. Po zakończeniu kopiowania wróć do gparted i wybierz odśwież urządzenia.
  15. Wybierz nową partycję / dev / sdb, która musi być typowa dla starej po wykonaniu polecenia dd.
  16. Wyświetli rozszerzoną przestrzeń jako nielokalizowane dane.
  17. Usuń partycję wymiany / partycję rozszerzoną.
  18. Kliknij prawym przyciskiem myszy partycję root / dev / sdb> Resize
  19. Przydziel całą przestrzeń bez alokacji wymiany.
  20. Utwórz nową partycję rozszerzoną> Wybierz rozszerzoną> Utwórz
  21. Utwórz nową partycję wymiany linux> wybierz zamianę linux> Utwórz
  22. Teraz wyłącz działającą maszynę.
  23. Kliknij prawym przyciskiem myszy urządzenie> ustawienia> Pamięć.
  24. Wysuń Ubuntu na żywo CD.
  25. Kliknij stary dysk twardy prawym przyciskiem myszy> usuń załącznik.
  26. Teraz możesz uruchomić VM z nowo utworzonego dysku twardego.
  27. Sprawdź pamięć, wpisując polecenie df -kh.
  28. Musi pokazać ci nowy rozmiar.

Gratulacje, ciesz się wolną przestrzenią.
Ten film pomoże ci: https://youtu.be/ikSIDI535L0

Mohammad Nimer
źródło
Tak, to dokładnie dla UBUNTU
Mohammad Nimer