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?
virtualbox
Brian
źródło
źródło
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 powoduVBoxManage: error: Cannot register the hard disk
, ponieważ VBox uważa, że jest już zdefiniowane gdzie indziej.clonehed
wciąż tworzy woluminy, które nie są obsługiwane przez--resize
. Okazuje się, że dołączenie--format vdi
doclonehd
jest kluczowe!Byłem w stanie zmienić rozmiar vmdk, klonując go, a następnie modyfikując i zmieniając rozmiar.
źródło
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.virtualdisk.vmdk
taki sposób:vboxmanage clonehd virtualdisk.vmdk "new-virtualdisk.vdi" --format vdi vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
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:
Słodkie! Wolałem, aby używać narzędzia innej firmy z ostrzeżeniami o utracie danych.
Twoje zdrowie!
źródło
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.
źródło
W rzeczywistości potrzebne są tylko te polecenia:
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.
źródło
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:
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-img
może również działać, ale nie jestem pewien, czy obsługuje zmianę rozmiaru plików vmdk. Wyglądałoby to tak: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
.źródło
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ę.
Zatrzymaj maszynę wirtualną Docker
docker-machine stop default
.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
.vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
.default
VM i kliknij koło zębate „Ustawienia” u góry.docker-machine start default
źródło
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ł.
źródło
Aby zmniejszyć rozmiar obrazu, wykonuję następujące czynności:
cat /dev/zero > z;sync;sleep 3;sync;rm -f z
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
źródło
Jak wspomniano w odpowiedzi Lucy, wymagane kroki to:
Sklonuj obraz VMDK do formatu VDI
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
Zmień rozmiar obrazu VDI
VBoxManage modifyhd "cloned.vdi" --resize 51200
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 wybierzCopy
. 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,Properties
jeśli nie jest widoczny).Wreszcie może być konieczna zmiana rozmiaru dysku w systemie-gościu:
gparted
lubkparted
.źródło
VirtualBox dla Windows
Zmiana rozmiaru pliku dysku przy jednoczesnym zachowaniu ustawień maszyny wirtualnej!
Krok 1 - Zmień rozmiar pliku dysku
Uruchom program cmd.exe
cd
do Oracle VM VirtualBox w katalogu (w systemach 64-bitowych:"C:\Program Files\Oracle\VirtualBox\"
)Uruchom następujące polecenia (jak wyżej):
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
.bak
rozszerzenie (ma.vbox
rozszerzenie). Zmień nazwę oryginalnego.vmdk
pliku z.bak
rozszerzeniem, aby uniknąć kolejnego błędu. Możesz teraz bezpiecznie wykonać trzeci krok bez komunikatu o błędzie, aby przekonwertować urządzenie z powrotem na.vmdk
format lub błędu „duplikowania dysku”.Otrzymasz token UID . Skopiuj ten token, przeciągając go, podświetlając w oknie Windows Interpetor poleceń i używając
Ctrl+C
skrótu klawiaturowego.Otwórz
.vbox.bak
plik w edytorze tekstów, takim jak Notepad ++. Otrzymasz plik bazy danych podobny do XML. Poszukaj tych linii: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.bak
pliku, aby przywrócić jego oczekiwane rozszerzenie.vbox
.Krok 2 - Usuń śmieci
Teraz można bezpiecznie usunąć
.bak
pliki pozostające w katalogu. To, co pozostaje, to przeskalowana.vmdk
ze zaktualizowaną.vbox
bazą 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
diskpart
z wiersza polecenia uruchomionego z Konsoli odzyskiwania systemu Windows (partycja odzyskiwania)SELECT DISK 1
,LIST PARTITION
a następnie zbierz numer partycjiC:\
dyskuSELECT PARTITION #
. Za pomocą przyciskuEXTEND SIZE=mb
moż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
.ISO
gparted, 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 Utility
z 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 wirtualnejgparted
, aby ją uruchomić. Partycje MacOSX są rozpoznawane przez gparted jakoHFS
- partycje „Heaping File System”.Krok 4 - Zdjęcia kotów
Ponieważ internet. ;) Jesteś skończony. Ciesz się nowym
.vmdk
obrazem dysku wirtualnego o zmienionym rozmiarze dzięki VirtualBox dla Windows!źródło
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
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.
Na twoim hoście:
Otwórz okno terminala.
Przejdź do katalogu z dyskiem wirtualnym, którego rozmiar chcesz zmienić. Na przykład:
Utwórz nowy dysk VirtualBox z żądaną nazwą pliku, rozmiarem (w megabajtach) i formatem
Standard
(dynamicznym) lubFixed
). Na przykład, aby utworzyć dysk o stałym formacie 50 GB o nazwieMyNewDisk.vdi
:Skopiuj oryginalny dysk na nowy dysk.
Zmiana rozmiaru jest zakończona! Możesz sprawdzić właściwości nowego dysku, jeśli chcesz:
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.
źródło
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/
źródło
Szybka i prosta opcja:
Przenieś zawartość ze starego dysku na nowy dysk:
Włącz maszynę
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.
źródło
Wyrzuć to i zacznij od nowa. Zignoruj wszystkie te odpowiedzi - nie marnuj czasu.
źródło
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.
źródło
Po prostu musisz wykonać następujące kroki:
Gratulacje, ciesz się wolną przestrzenią.
Ten film pomoże ci: https://youtu.be/ikSIDI535L0
źródło