W Windows 7 skonfigurowałem kolejną maszynę wirtualną z Windows 7 w VirtualBox. Działa świetnie. Następnie musiałem zwiększyć rozmiar VHD HD. Więc użyłem narzędzia VBoxManage, aby to zrobić z następującym komentarzem:
VBoxManage modifyhd "c:\VMs\Win7.vhd" --resize 30000
Następnie próbowałem ponownie uruchomić maszynę wirtualną, ale nie można jej uruchomić i wyświetla następujący błąd:
FATAL: Nie znaleziono nośnika startowego! System zatrzymany.
Następnie próbowałem zobaczyć, co dzieje się wewnątrz dysku VHD, i spróbować dołączyć go do zarządzania urządzeniami. Mówi, że nie można go dołączyć, ponieważ plik lub katalog jest uszkodzony i nieczytelny .
Masz pojęcie, co poszło nie tak i jak mogę zapisać moją maszynę wirtualną w tym pliku VHD?
windows-7
windows
virtualbox
virtualization
vhd
tugberk
źródło
źródło
Odpowiedzi:
Niestety dokumentacja VirtualBox dla opcji VBoxManage --resize wprowadza w błąd. Nie można po prostu zwiększyć rozmiaru obrazu dysku i sprawić, aby wszystko działało poprawnie. Informacje o partycji dysku w obrazie muszą zostać dostosowane, aby system operacyjny gościa znał układ „dysku” symulowanego przez obraz dysku. Tę regulację można wykonać, pobierając rozruchowy obraz dysku CD z edytorem partycji i uruchamiając maszynę wirtualną na tym dysku CD. Następnie użyj edytora partycji, aby dopasować partycje obrazu dysku w celu wykorzystania dodanej przestrzeni.
Jest ładny writeup procedury tutaj ; po prostu przejdź do kroku 4.
źródło
modifyhd
zepsułeś dysk nie do naprawienia?Miałem ten sam problem
Odniesienie: http://tips.kaali.co.uk/2012/03/16/expand-or-increase-the-size-of-virtual-box-vdi-dis/
źródło
Miałem ten sam problem i udało mi się odzyskać dane za pomocą GParted LiveCD
Następnie możesz zamknąć maszynę wirtualną i zamontować dysk VHD w Menedżerze urządzeń systemu Windows.
źródło
Tutaj wyjaśniają problem (po hiszpańsku)
Streszczenie:
za. „vboxmanage modyfikuj (zmiana rozmiaru)” generuje błąd w wielu systemach (Windows NT5, 9x, wersje serwerowe i x86). Rezultatem jest uszkodzona partycja, bardzo trudna do odzyskania
b. Musisz wykonać polecenie „vboxmanage modyfikhd (resize)” (aby zmienić rozmiar VDI) W ścieżce zawierającej wszystkie pliki i foldery powiązane z VDI. Spójrz na obraz
Rekomendacje:
Zamień „vboxmanage modyfikhd” na „vboxmanage clonehd”
Utwórz nowy wirtualny dysk VDI (o rozmiarze, który chcesz rozszerzyć). Przykład: Old.vdi miał 50 GB. New.vdi utwórz go ze 100 GB
VBoxManage createhd - nazwa_pliku / ścieżka / Nowy.vdi - rozmiar 100000
Sklonuj go za pomocą następującego polecenia:
vboxmanage clonehd /path/Old.vdi /path/New.vdi --istniejące
Uwaga : oba VDI nie powinny być na tej samej ścieżce
źródło
Warto zauważyć, że dostałem dokładnie ten sam problem, który spowodował, że wydałem polecenie edithd podczas działania gościa. Oficjalna dokumentacja nic nie mówi o tym, że najpierw musisz usunąć migawki, a gość powinien zostać zatrzymany.
Mój plan polegał na zmianie rozmiaru dysku podczas pracy maszyny, ponieważ mam wolumin dynamiczny, który można również zwiększyć w locie. Był to jednak zły pomysł, ponieważ ponownie uruchomiłem maszynę, aby uzyskać pełny rozmiar dysku. Zostałem w ciemności z uszkodzonym obrazem, którego nie mogłem przywrócić nawet bez dysku testowego. Testdisk znajduje partycje, ale system plików jest poważnie uszkodzony i nie można go naprawić.
Więc radzę:
Powtórzyłem procedurę na moim komputerze z obrazem kopii zapasowej i przy wyłączonym systemie gościa, to działa dobrze.
źródło
Udało mi się odzyskać obraz, który został uszkodzony przez ten błąd. W przeciwieństwie do Edisona, obraz na żywo w dwóch partiach niczego nie znalazł. Oto co zrobiłem:
Po pierwsze, ponieważ najwyraźniej obsługa VHD dla VHD jest błędna i okropna, zacznij od konwersji VHD na VDI za pomocą
VBoxManage clonehd foo.vhd --format vdi foo.vdi
. Gdy pominąłem ten krok, mogłem odzyskać pliki z obrazu, ale po kilku ponownych uruchomieniach „ponownie się„ zepsuje ”. Zgaduję, że błąd naprawdę psuje plik VHD w taki sposób, że później I / O „go ponownie psuje” ... VBox nie wydaje się mieć tych problemów z VDI, więc zrezygnowałem z VHD.Uruchom system w WinPE, środowisku przedinstalacyjnym systemu Windows. Jak to zrobić, może być artykułem samym w sobie. Jeśli nie jesteś zaznajomiony z tym, oto skrót: Uruchom komputer z dysku DVD Instalatora systemu Windows (Vista lub nowszego) i naciśnij Shift-F10 po uruchomieniu GUI, wyświetli się wiersz polecenia.
Pobierz dysk testowy , znajdź sposób na umieszczenie go na obrazie WinPE (lub działałby zwykły dysk USB) i uruchom go ze środowiska WinPE. (Uwaga: WinPE nie ma WOW64, 32-bitowej warstwy zgodności dla aplikacji 32-bitowych. Dlatego moja 64-bitowa konfiguracja WinPE wymagała 64-bitowego pliku testdisk).
Testdisk znalazł partycje i przywrócił je.
W tym momencie pliki zostały odzyskane, ale bootloader nie powiódł się z powodu kilku problemów. Najpierw stosuje się
diskpart
do oznaczenia partycji jako aktywny (list disk
,sel disk <disk number>
,sel par 0
,active
). Posunęłem się dalej, nie uruchamiał się. Wróciłem do WinPE i usunąłem\boot
, a następnie uruchomiłem,bcdboot C:\windows /s C:
aby ponownie zainstalować program ładujący.Na koniec pobiegłem,
chkdisk /R
aby upewnić się, że obraz jest w porządku. Zajęło mi to kilka godzin, nie znalazłem żadnych problemów.źródło
Miałem ten sam problem, GParted w ogóle nie rozpoznał partycji i zostało to pokazane jako nieprzydzielone miejsce. W tym momencie zrozumiałem, że dane mogły zostać utracone.
Potem przypomniałem sobie, jak za pomocą testdisk szukać utraconej partycji na dyskach twardych, więc dlaczego nie wypróbować jej na dyskach wirtualnych? i zadziałało.
Mam nadzieję, że to komuś pomoże.
źródło