P2Vした際にBSoD STOP 0x0000007Aでハマった


はじめに

まあ、こんな記事誰も読まんと思うが、忘備録として残しておく

以下の環境をP2Vしようとしてハマった。
Boot時にBSoD STOP 0x0000007Aか0x0000007Bが発生し、ググってもレジストリをハイブ修正しろやゴラーみたいな記事し引っかかりませんでした。
その手順で修正してもWindows Server 2003とXPはBootできたが、2008R2はBootせず(泣)。途方に暮れました。

レジストリ修正の記事をよく読むとレジストリをいじって最初に読み込むドライバを設定することが書いてあったので、2008R2についてもドライバを読み込ませればOKとの予想の元やってみたら何とかなったのと、誰もこの方法で修正した記事はなかったので、書き記しておきます。

内容
移行元OS Windows Sever2008R2
移行先OS Proxmox VE5.3(KVM)
移行方法 移行元からHDDをひっこ抜き、USB接続してDD

確認

ほんとにBoot Sequenceまで行っているよね?->Windows起動時のアニメーションは一瞬でもみたよね?
BSoD STOPは一瞬で消えるけどスマホなりで録画確認して、0x0000007Aであること確認したよね?
DDなどで、ほかにバックアップイメージ取ってあるよね?

これらが確認出来たら次へGO

ドライバをGETする

KVMの場合以下から、FedoraのページからISOを入手します。
https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

VMwareの場合VMware ToolsのISOを入手します。
https://kb.vmware.com/s/article/1036810?lang=ja

Xenも以下同文。
https://www.xenproject.org/developers/teams/windows-pv-drivers.html

なんとかしてシステム回復オプションの画面までたどり着く

Windowsのインストールメディアを用意したり、上記ドライバを読み取らせたりしながら、なんとかしてシステム回復オプションまでたどり着いてください。ここは試行錯誤すればなんとかなると思います。
Windows7やServer2008R2だと以下の画面

Windows10だと以下の画面

コマンドプロンプトからDISMコマンドを実行し、システムにドライバを追加。(削除もできるよ)

どうせ最後はSCSI環境にすることがほとんどだと思うので、SCSIドライバをインストールします。
環境によってCドライブ、Dドライブは変わると思うので随時確かめてください。CドライブはWindowsフォルダがあるドライブ。DドライブはISOをマウントしたCDドライブです。dirコマンドでファイル一覧を取得しながら探してください。下の例では2008R2のドライバを読み込んでいますが、ほかのOSのドライバは違うパスにあります。

Dism /image:C:\ /Add-Driver /driver:D:\vioscsi\2k8R2\amd64\vioscsi.inf

まちがったドライバは削除してください。ドライバがバッティングして起動しない時も、このコマンドは使えると思います。

Dism /image:C:\ /Remove-Driver /driver:vioscsi.inf

再起動すればBootするはず

KVMではvioscsiドライバの追加のみで起動しました。
起動してしまえばデバイスマネージャーからエラーが出ているドライバを追加すれば操作は終了です。