Ich habe eine virtuelle Windows 10-Maschine mithilfe einer IDE-Festplatte installiert und möchte nun die Festplatte so ändern, dass der Virtio-Treiber verwendet wird.
Für andere Windows-Versionen scheint der Ansatz in dieser Frage ausreichend zu sein: Wie migriert man eine IDE-VM auf eine virtuelle VM?
Bei Windows 10 führt dies jedoch zu einem INACCESSIBLE_BOOT_DEVICE
Problem.
Mir ist bewusst, dass der bevorzugte Ansatz darin besteht, das Virtio-Gerät von Anfang an zu verwenden und den entsprechenden virtio-Treiber zu installieren, wenn Sie dazu aufgefordert werden. Leider hatte ich einige Probleme beim Wechseln der CD in KVM (ich konnte auch nicht zwei CD-ROM-Geräte zum Laufen bringen).
Gibt es eine Möglichkeit, dieses Problem ohne Neuinstallation zu beheben?
Ähnliche Ausgabe hier - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090
quelle
INACCESSIBLE_BOOT_DEVICE
blauen Bildschirm. Ich habe mich dann auf einem VirtIO-Startgerät neu installiert.Antworten:
Alle Antworten sind korrekt, aber Sie müssen möglicherweise einige zusätzliche Schritte ausführen , nachdem Sie virtio-Treiber installiert haben. Hier sind die Schritte, denen ich gefolgt bin:
Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten, und legen Sie fest, dass die VM durch Eingabe in den abgesicherten Modus gestartet wird
bcdedit / set {current} safeboot minimal
Fahren Sie die VM herunter und ändern Sie den Startgerätetyp in virtio.
Starten Sie die VM. Es wird im abgesicherten Modus eingegeben.
Hinweis: Im abgesicherten Modus werden alle Starttreiber aktiviert und geladen, einschließlich des virtio-Treibers. Da jetzt ein Miniport zur Verwendung installiert ist, wird dieser vom Kernel zu einem Teil der Treiber, die beim Booten geladen werden sollen, gemacht und nicht wieder deaktiviert.
Setzen Sie in der gestarteten VM die bcdedit-Einstellungen zurück, damit der Computer durch Eingabe von (erneut in der Eingabeaufforderung mit erhöhten Rechten) in den normalen Modus gestartet werden kann:
bcdedit / deletevalue {current} safeboot
Getan.
quelle
bcdedit /set safeboot minimal
weggelassen,{current}
weil ich nicht sicher war, was da reingehen sollte.{current}
ist wörtlich, Sie geben so ein, wie es ist.Eine ziemlich einfache Antwort wird bereitgestellt - und kann in vielen Fällen zusammen mit Hinweisen auf andere Optionen funktionieren. Wenn Sie (wie ich) nicht zur IDE wechseln können und zur Verwendung von VirtIO gezwungen werden, funktioniert möglicherweise der folgende alternative Ansatz:
drvload e:\viostor\w10\amd64\viostor.inf
dism /image:f:\ /add-driver /driver:e:\viostor\w10\amd64\viostor.inf
Vermeidet es, spezielle Windows-Boot-CDs / Images zu erstellen und das eigentliche Windows-Installations-Image im laufenden Betrieb zu "patchen".
Beachten Sie, dass ich für diesen Nischenfall die Vermeidung der Startreparatur vorschlagen würde (was für mich fehlgeschlagen ist). Es schien nicht zu wissen, wie man vistor.inf nach dem Laden einbindet, und wenn Sie es versuchen, achten Sie darauf, dass Windows 10 nicht danach strebt, alles wiederherzustellen oder neu zu installieren ...
Credit for DISM-Ansatz: Verwenden von dism zum Hinzufügen von Treibern
quelle
Die folgenden Schritte sind im Allgemeinen auszuführen:
Die Vorgehensweise im Detail ist:
Wenn die VM nicht startet, die Treiber jedoch installiert sind, versuchen Sie möglicherweise Folgendes:
Wenn der letzte Schritt leider erforderlich ist, besteht eine weitere Schwierigkeit darin, dass die Windows-Start-CD den VirtIO-Datenträger nicht versteht, da diese Treiber nicht von Microsoft enthalten waren. In diesem Fall muss eine benutzerdefinierte Boot-CD / USB erstellt werden, die diese Treiber enthält. Stellen Sie jedoch sicher, dass Sie von einer Windows-ISO starten, die der Installationsstufe entspricht, indem Sie die neueste (derzeit 1511) herunterladen.
Hier sind einige Tutorials, wie man Treiber in Windows einbindet:
quelle
setup.exe
auf der CD ausgeführt wird. Dies ist, was der Link in der Frage beschreibt und meines Wissens gibt es keine andere Möglichkeit, dies zu tun.setup.exe
auf der CD auszuführen . Verknüpfen Sie einen Artikel aus einer zuverlässigen Quelle, die beweist, dass Sie nicht direkt lügen, und ich werde mich entschuldigen und Ihnen Ihre wertvolle Gegenstimme geben.pc-q35-2.5
Maschinenemulation / den Maschinentyp verwendet , leider nicht möglich, einen IDE-Controller hinzuzufügen.Die Antwort von Harrymc funktioniert gut für mich.
die folgenden schritte habe ich befolgt:
quelle
Es ist leider möglich, dass der Treiber perfekt installiert ist und STILL "nicht zugreifbares Startgerät" erhält. Der Grund ist etwas schockierend (finde ich): Eine Win 10-Installation "merkt" sich die Treiber, die bei der Erstinstallation benötigt wurden, und lädt standardmäßig KEINE anderen Speichertreiber beim Booten. Dies geschieht anscheinend durch "Piraterie" - es macht es schwierig, die "gleiche" Installation auf unterschiedlicher Hardware auszuführen. Es gibt einige großartige Dokumentationen zu diesem "Feature" in diesem Beitrag aus den Gentoo-Foren. Das Wesentliche ist wie folgt:
Die Treiber, für die das Laden beim Start verboten ist, können wie folgt ermittelt werden: Im Registrierungsschlüssel Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services befindet sich ein Unterschlüssel für jeden der Installation bekannten Treiber. Der Name dieses Unterschlüssels ist nur der Name des Treibers. In jedem Treiberschlüssel befindet sich ein Unterschlüssel "STARTOVERRIDE", wenn verhindert werden soll, dass dieser Treiber beim Booten geladen wird. Insbesondere gibt es innerhalb des Unterschlüssels STARTOVERRIDE einen Parameter mit dem Namen "0". Wenn der Wert dieses Parameters "3" ist, wird er beim Booten nicht geladen. Wenn Sie diesen Wert stattdessen auf 0 setzen, wird das Verhalten überschrieben.
Ich selbst gehe einfach zu Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services und suche nach "STARTOVERRIDE". Jedes Mal, wenn ich es finde, wenn es einen Namen mit dem Namen "0" mit dem Wert "3" gibt, wechsle ich zu "0". Dies scheint zu viel des Guten zu sein, Sie müssen nur das Laufwerk wechseln, das geladen werden muss. In meinem Fall gibt es mehrere von ihnen, und ich kann mich nie daran erinnern, weshalb ich einfach eine "F3-Suche" innerhalb dieses Abschnitts "Dienste" durchführe.
Und noch ein letzter Tipp, der für den aktuellen, signierten, virtuellen Speicher nicht benötigt wird, aber für jemanden, der dies liest, wenn er einen experimentelleren Treiber verwenden möchte, der (noch) nicht signiert ist: Ich habe das AUCH gefunden, nachdem ich die obigen Schritte ausgeführt habe Trick, ich musste auch in den erweiterten Optionen-Bildschirm booten und wählen Sie F7 ("Deaktivieren der Überprüfung der Treibersignatur"). Ärgerlicherweise reichte es nicht aus, das bcd-Flag zu setzen, um die Treiberüberprüfung zu deaktivieren, da der Treiber geladen werden muss, bevor der Computer die BCD liest und feststellt, dass die Signatur nicht überprüft werden muss.
Alles in allem nicht Microsofts glänzendste Stunde. Sie müssen Ihre Benutzer wirklich hassen, wenn Sie legitimen Benutzern lieber einen künstlichen Blue-Screen bieten möchten, als den Leuten zu erlauben, eine SATA-Festplatte durch eine NVMe-Festplatte zu ersetzen und "einfach funktionieren" zu lassen.
quelle