Zainstalowałem maszynę wirtualną z systemem Windows 10 za pomocą dysku IDE i chciałbym teraz zmienić dysk, aby korzystać ze sterownika Virtio.
W przypadku innych wersji systemu Windows podejście zawarte w tym pytaniu wydaje się wystarczające - jak przeprowadzić migrację maszyny wirtualnej IDE na maszynę wirtualną virtio?
Jednak w przypadku systemu Windows 10 prowadzi to do INACCESSIBLE_BOOT_DEVICE
problemu.
Wiem, że preferowanym podejściem jest użycie urządzenia Virtio od samego początku i zainstalowanie odpowiedniego sterownika virtio po wyświetleniu monitu. Niestety miałem pewne osobne problemy ze zmianą płyty CD w KVM (nie mogłem też uruchomić 2 urządzeń CDROM).
Czy istnieje sposób na rozwiązanie tego problemu bez ponownej instalacji?
Podobny problem tutaj - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090
źródło
INACCESSIBLE_BOOT_DEVICE
niebieski ekran. Skończyło się na ponownej instalacji na urządzeniu rozruchowym VirtIO.Odpowiedzi:
Wszystkie odpowiedzi są prawidłowe, ale może być konieczne wykonanie kilku dodatkowych kroków po zainstalowaniu sterowników virtio. Oto kroki, które wykonałem:
Otwórz wiersz polecenia z podwyższonym poziomem uprawnień i ustaw maszynę wirtualną na uruchomienie w trybie awaryjnym, wpisując
bcdedit / set {current} safeboot minimal
zamknij maszynę wirtualną i zmień typ urządzenia rozruchowego na virtio.
uruchom maszynę wirtualną. Wejdzie w tryb awaryjny.
Uwaga: W trybie awaryjnym wszystkie sterowniki rozruchowe zostaną włączone i załadowane, w tym sterownik virtio. Ponieważ jest teraz zainstalowany miniport, aby z niego korzystać, jądro sprawi, że stanie się ono częścią sterowników, które mają być ładowane podczas rozruchu i nie będzie go ponownie wyłączać.
w uruchomionej maszynie wirtualnej zresetuj ustawienia bcdedit, aby umożliwić maszynie uruchomienie w trybie normalnym, wpisując (ponownie w wierszu polecenia z podwyższonym poziomem uprawnień):
bcdedit / deletevalue {current} safeboot
Gotowy.
źródło
bcdedit /set safeboot minimal
, pomijając,{current}
ponieważ nie byłem pewien, co tam ma się stać.{current}
jest dosłowny, wpisujesz jak jest.Udzielono dość prostej odpowiedzi - i może działać w wielu przypadkach, wraz ze wskazówkami dotyczącymi innych opcji. Jeśli (tak jak ja) nie możesz przełączyć się na IDE i zmuszony do korzystania z VirtIO, może działać następujące podejście alternatywne:
drvload e:\viostor\w10\amd64\viostor.inf
dism /image:f:\ /add-driver /driver:e:\viostor\w10\amd64\viostor.inf
Zapobiega zbędnemu tworzeniu specjalnych płyt CD / obrazów do uruchamiania systemu Windows i „łatania” rzeczywistego obrazu instalacyjnego systemu Windows w locie.
Uwaga: w tym niszowym przypadku sugeruję unikanie naprawy przy rozruchu (co dla mnie nie powiodło się). Wydawało się, że nie wie, jak dołączyć vistor.inf po załadowaniu, a jeśli spróbujesz, uważaj, aby uniknąć gotowości systemu Windows 10 do przywracania lub ponownego instalowania DVD ...
Kredyt za podejście DISM: Dodanie sterowników w celu usunięcia sterowników
źródło
Kroki, które należy wykonać ogólnie to:
Szczegółowa procedura to:
Jeśli maszyna wirtualna nie uruchamia się, ale sterowniki są zainstalowane, możesz spróbować:
Jeśli niestety wymagany jest ostatni krok, można napotkać jeszcze jedną trudność, jeśli dysk rozruchowy systemu Windows nie może zrozumieć dysku VirtIO, ponieważ sterowniki te nie zostały w nim zawarte przez firmę Microsoft. W takim przypadku należy utworzyć niestandardowy rozruchowy dysk CD / USB zawierający te sterowniki, ale upewnij się, że zaczynasz od systemu Windows ISO, który jest na tym samym poziomie co instalacja, uzyskując najnowszy (obecnie 1511).
Oto kilka samouczków dotyczących sposobu przesyłania sterowników w systemie Windows:
źródło
setup.exe
na dysku CD. Tak opisuje link w pytaniu i, o ile wiem, nie ma innego sposobu, aby to zrobić.setup.exe
na dysku CD. Link do jednego artykułu z wiarygodnego źródła, który dowodzi, że nie kłamiesz, a ja przeprosię i dam ci cenną opinię.pc-q35-2.5
maszyną wirtualną używającą emulacji / typu maszyny, nie można dodać kontrolera IDE.odpowiedź od harrymca działa dla mnie dobrze.
następujące kroki, które wykonałem:
źródło
Niestety, możliwe jest, aby sterownik był perfekcyjnie zainstalowany, a STILL uzyskał „niedostępne urządzenie rozruchowe”. Powód jest nieco szokujący (uważam): instalacja Win 10 „pamięta” sterowniki, które były wymagane przy pierwszej instalacji, i domyślnie NIE ładuje innych sterowników pamięci masowej podczas uruchamiania. Wydaje się, że odbywa się to w celu „piractwa” - utrudnia to uruchomienie „tej samej” instalacji na innym sprzęcie. W tym poście z forów Gentoo znajduje się świetna dokumentacja na temat tej „funkcji” . Istota jest następująca:
Sterowniki, dla których zabronione jest ładowanie przy rozruchu, można określić w następujący sposób: W kluczu rejestru Komputer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services istnieje jeden podklucz dla każdego sterownika znanego z instalacji. Nazwa tego podklucza to tylko nazwa sterownika. W ramach każdego podklucza sterownika będzie znajdował się podklucz „STARTOVERRIDE”, jeśli ten sterownik ma uniemożliwić ładowanie podczas rozruchu. W szczególności w podkluczu STARTOVERRIDE znajduje się parametr o nazwie „0”. JEŻELI wartość tego parametru to „3”, nie zostanie załadowana podczas uruchamiania. Ustawienie tej wartości na 0 zamiast tego spowoduje „nadpisanie” zachowania.
Sam przechodzę do Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services i szukam „STARTOVERRIDE”. Za każdym razem, gdy go znajduję, jeśli pod nim jest nazwa o nazwie „0” z wartością „3”, zmieniam na „0”. Wydaje się, że to przesada, wystarczy zmienić dysk, który trzeba załadować. W moim przypadku jest ich kilka i nigdy nie pamiętam, więc po prostu wykonuję „wyszukiwanie F3” w tej sekcji „usługi”.
I ostatnia wskazówka, która nie jest potrzebna do bieżącej, podpisanej pamięci masowej virtio, ale może być dla kogoś innego, kto to czyta, jeśli chce użyć bardziej eksperymentalnego sterownika, który nie jest (jeszcze) podpisany: znalazłem EVEN po zrobieniu powyższego trick, RÓWNIEŻ musiałem uruchomić system z ekranu opcji zaawansowanych i wybrać F7 („wyłącz weryfikację podpisu sterownika”). Irytujące nie było ustawienie flagi bcd, aby wyłączyć weryfikację sterownika, ponieważ sterownik musi się załadować, zanim maszyna odczyta BCD i dowie się, że nie musi weryfikować podpisu.
Podsumowując, nie najbardziej świecąca godzina Microsoftu. Naprawdę musisz nienawidzić swoich użytkowników, jeśli wolisz dać legalnym użytkownikom sztuczny niebieski ekran, niż pozwolić ludziom (powiedzmy) wymienić dysk SATA na dysk NVMe i sprawić, by „po prostu działał”.
źródło