質問: hyper-vからエクスポートされたvhdを起動できません ゲストとしてwindows2008 r2 x64を実行し、ホストとしてhyper-v r2x64を実行している仮想マシンがあります。仮想マシンのvhdファイルのクローンを作成しました。次に、windows 7 enterprise x64 sp1(ハードウェア仮想化を使用)であるラップトップコンピューターで直接起動します。そのために、bcdエントリを設定しました:bcdedit /copy {current} /d "boot_from_vhd" エントリは{1230b942-0833-11e1-abb2-d1169c7203ba}に正常にコピーされました bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} device vhd=[e:]\vhd\myvhd.vhd bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} osdevice vhd=[e:]\vhd\myvhd.vhd bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} detecthal on bcdedit /enumを実行すると、エントリが表示されます。windows boot loader ------------------- identifier {1230b942-0833-11e1-abb2-d1169c7203ba} device vhd=[e:]\vhd\myvhd.vhd path \windows\system32\winload.exe description boot_from_vhd locale en-us inherit {bootloadersettings} osdevice vhd=[e:]\vhd\myvhd.vhd systemroot \windows resumeobject {1230b940-0833-11e1-abb2-d1169c7203ba} nx optin detecthal yes 再起動すると、ブートメニューにエントリが表示されます。新しく作成したエントリを選択すると、windowsのロゴが数秒間表示され、次にbsodが表示されます。このbsodは、chkdskを実行することを提案しているだけなので、あまり役に立ちません。 64ビットの16進数も配置されますが、エラーメッセージは表示されません。問題を解決する方法はありますか?ps:ハードウェアの変更の可能性を除いて、システムをそのまま維持したいと思います。 sysprep /generalizeを実行していません。すべてのユーザー、ホスト名などがリセットされるためです。
回答: 私はついに問題を解決しました。bsodはエラーstop: 0x0000007b、つまりinaccessible boot device。これは私を行方不明のドライバーの道に置きます。実際、hyper-vマシンはideエミュレーションを使用しており、私のラップトップはesataドライブを使用しているのに対し、イメージではideドライバーのみが使用可能であると思います。この問題を解決するために、osを実行するラップトップで、次の手順を使用して dism/add-driverコマンド を使用します:: vhdをディスク管理にマウントします(diskpartも可能です)->コンピューターに2つのドライブを追加します。f:予約済みシステムパーティション用、g:windowsパーティション用 次のように入力して、ラップトップのすべてのドライバーをイメージに追加します。 dism /image:g: /add-driver /driver:c:\windows\inf /recurse ダウンロードした最新のドライバーも追加します。 dism /image:g: /add-driver /driver:c:\somewhere\drivers /recurse これには数分かかりましたが、操作後、私のvhdにはすべてのドライバーが含まれています。ターゲットのラップトップでコマンドを実行して、実際のハードウェアのドライバーがすべて追加されていることを確認することが重要だと思います。最後に、再起動して正しいブートエントリを選択すると、ブートされます:)新しいハードウェアが検出されたため、何度か再起動する必要がありましたが、最終的にシステムが仮想から物理に移行されました。