IDEディスクを使用してWindows 10仮想マシンをインストールしましたが、今度はVirtioドライバを使用するようにディスクを変更したいと思います。
Windowsの他のバージョンでは、この質問のアプローチで十分であるようです - IDE VMをvirtio VMに移行するにはどうすればいいですか?
しかしWindows 10では、これはINACCESSIBLE_BOOT_DEVICE
の問題を引き起こします。
推奨される方法は、最初からVirtioデバイスを使用し、プロンプトが表示されたら適切なvirtioドライバーをインストールすることです。残念ながら私はKVMのCDを交換することに関していくつかの別々の問題を抱えていました(私は2つのCDROMデバイスを動かすことができませんでした)。
再インストールせずにこの問題を解決する方法はありますか?
ここで同様の問題 - - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090
すべての答えは正しいですが、virtioドライバーをインストールした後に、いくつか追加のステップを実行する必要があるかもしれません。私が従った手順は次のとおりです。
昇格したコマンドプロンプトを開き、次のように入力してセーフモードで起動するようにVMを設定します。
bcdedit/set {current} safeboot minimal
VMをシャットダウンし、起動デバイスの種類をvirtioに変更します。
vMを起動します。セーフモードで起動します。
注:セーフモードでは、virtioドライバーを含むすべてのブートスタートドライバーが有効になりロードされます。これを使用するためのミニポートがインストールされているので、カーネルは起動時にロードされるドライバの一部にし、再び無効にすることはしません。
起動したVMでbcdeditの設定をリセットし、次のように入力してマシンを通常モードで起動できるようにします(昇格したコマンドでもう一度プロンプト)。
bcdedit/deletevalue {current} safeboot
完了しました。
かなり 簡単な答えが提供されています - そして、他の選択肢のヒントと共に、多くの場合うまくいくでしょう。 (私のように)IDEに切り替えられず、VirtIOを使用することを強制されない場合は、次の代替アプローチが機能する可能性があります。
drvload e:\viostor\w10\AMD64\viostor.inf
dism /image:f:\ /add-driver /driver:e:\viostor\w10\AMD64\viostor.inf
特別なウィンドウにCD /イメージをブートさせたり、実際のウィンドウにイメージを 'パッチ'でインストールする手間を省く必要がなくなります。
このニッチなケースでは、起動時の修復を回避することをお勧めします(これは失敗しました)。それはそれをロードした後にvistor.infをインクルードする方法を知らないようで、あなたがそれを試みるならば、すべてを復元または再インストールするためにWindows 10のDVD熱望を避けるように注意してください...
DISMアプローチの功績: dismを使用してドライバを追加する
一般的に従うべき手順は次のとおりです。
手続き の詳細は:
VMが起動せず、ドライバがインストールされている場合は、次のようにします。
残念ながら最後の手順が必要な場合は、WindowsブートCDがVirtIOディスクを認識できないために発生する可能性があるもう1つの問題は、これらのドライバがMicrosoftによって含まれていないためです。この場合、これらのドライバを含むカスタムブートCD/USBを作成する必要がありますが、最新のもの(現在1511)を入手して、インストールと同じレベルのWindows ISOから起動するようにしてください。
Windowsでドライバをスリップストリーム化する方法についてのチュートリアルがいくつかあります。
harrymcからの答えは私のためにうまく働きます。
私が従った次のステップ:
残念ながら、ドライバを完全にインストールしたままで「アクセスできない起動デバイス」となる可能性があります。その理由は少し衝撃的です(私が見つけます):Win 10のインストールは最初にインストールされたときに必要とされたドライバを「記憶」し、デフォルトでは起動時に他のストレージドライバをロードしません。これは「著作権侵害」とされているようです。異なるハードウェアで「同じ」インストールを実行するのは困難です。この "feature" に関するすばらしい文書がgentooフォーラムのこの投稿にあります 。本質は次のとおりです。
ブート禁止ロードの対象となるドライバは、次のように決定できます。レジストリキーComputer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Servicesには、インストールに認識されるすべてのドライバに対して1つのサブキーがあります。このサブキーの名前は単なるドライバの名前です。各ドライバサブキー内に、そのドライバが起動時にロードされないようにする場合は、サブキー "STARTOVERRIDE"があります。特に、STARTOVERRIDEサブキー内には、名前が "0"のパラメータがあります。このパラメータの値が "3"の場合、起動時にロードされません。代わりにこの値を0に設定すると、動作が「上書き」されます。
私は自分でComputer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Servicesに行き、 "STARTOVERRIDE"を検索します。その下に "0"という名前の値が "3"である場合、それを見つけるたびに、 "0"に変更します。これはやり過ぎであるように思われます、あなたはロードする必要があるドライブを変える必要があるだけです。私の場合、それらのいくつかがあります、そして、私はどれを覚えていません、それで私はただその「サービス」セクションの中で「F3検索」をするだけです。
現在の署名付きのvirtioストレージには必要ない最後のヒントですが、まだ署名されていないもっと実験的なドライバを使用したい場合は、これを読んでいる他の人に役立つ可能性があります。トリック、私はまた高度なオプション画面に起動し、F7キー( "ドライバの署名の検証を無効にする")を選択する必要がありました。迷惑なことに、マシンがBCDを読み取って署名を検証する必要がないことを確認する前にドライバをロードする必要があるため、ドライバの検証を無効にするためにbcdフラグを設定するだけでは不十分でした。
結局のところ、Microsoftの最も輝く時間ではない。合法的なユーザーに人工的な人工のブルースクリーンを提供するのではなく、ユーザーがSATAディスクをNVMeディスクに交換して「正しく動作する」ようにするよりも、ユーザーを憎む必要があります。