Windows 7
 Computer >> コンピューター >  >> システム >> Windows 7

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

コンピューターやサーバーのハードウェア(マザーボード、ドライブコントローラーなど)を交換した場合、バックアップからシステムイメージを復元した場合、あるいは物理ホストを仮想化環境へ移行(P2V)した場合に、Windows Server 2008 R2またはWindows 7の初回起動時にブルースクリーン(BSOD)エラー0x0000007Bが表示されることがあります。

STOP: 0x0000007B (0xFFFFF880009A9928, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000)

このストップコードはINACCESSIBLE_BOOT_DEVICEエラーに対応しており、新しいサーバー(物理マシンまたは仮想マシン)のハードディスクコントローラーが元の機器と異なることが原因です。起動時に、新しいコントローラーから起動するために必要なドライバーが読み込まれず、Windowsが正常に起動できなくなります。

エラー0x0000007Bが発生する主なケース

  1. OSのバックアップを別の物理コンピューターやHyper-V/VMware/VirtualBoxの仮想マシンに復元する場合(ベアメタルリカバリーからの別ハードウェアへの復元など)
  2. disk2vhdなどで作成したコンピューターイメージを使って物理システムを移行し、そのイメージから新しい仮想マシンを展開する場合
  3. BIOSでSATAコントローラーのモードをAHCIからIDEへ、またはその逆に切り替えた場合
  4. マザーボードやハードディスクコントローラーを交換した場合

筆者のケースでは、Windows Server 2008 R2が稼働する物理サーバーをVMware環境へ移行した際にこの問題が発生しました。VMの初回起動時にブルースクリーンが表示されました。

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

デバッグモードで確認すると、Windowsの起動がCLASSPNP.SYSドライバーの読み込み段階で停止していることがわかります。

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

レジストリによる修正手順

エラー0x0000007Bを修正するには、Windowsのインストールメディア(Windows 7 / 2008 R2以降)または起動ディスク(DARTなど)からシステムを起動します。Windowsインストールディスクを使用する場合は、言語とキーボードレイアウトを選択する最初のセットアップ画面でShift+F10キーを押してください。コマンドプロンプトウィンドウが開くので、次のコマンドを実行します。

Regedit.exe

レジストリエディターでHKEY_LOCAL_MACHINEを選択し、メニューからファイルハイブの読み込みをクリックします。ローカルサーバーのドライブ上(WinPEのディスクと混同しないよう注意)にある\Windows\System32\config\SYSTEMファイルを選択します。このファイルには、ローカルのWindowsのシステム関連レジストリが保存されています。

これにより、ハードディスク上のシステムのレジストリハイブが、例えばlocal_hkeyという名前でレジストリエディターにマウントされます。

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

読み込んだハイブ内で、次のレジストリキーへ移動します。
HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services

変更が必要なレジストリ値

以下のレジストリキーを探します。

  • Atapi
  • Intelide
  • LSI_SAS

各キー内にあるREG_DWORD型のパラメーターStartの値を0(0x00000000)に変更します。

エラーが発生する前にSATAコントローラーのモードをAHCIに切り替えていた場合は、msahciキーでもStart = 0に設定してください。

補足:Start=0は「Windows起動時にサービスを自動的に開始する」、Start=3は「サービスを手動で開始する」ことを意味します。

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

ディスク上のローカルレジストリファイルに変更を保存するには、HKEY_LOCAL_MACHINE\local_hkeyを選択した状態で、メニューからハイブのアンロードをクリックします。

Windows 7 / Server 2008 R2の起動時ブルースクリーン(BSOD)エラー0x0000007Bの修正方法

これでサーバーを再起動できます。Windowsは正常に起動し、新しいドライブコントローラー用のドライバーを自動的に検出・インストールするはずです。VMwareの場合は、VMware Toolsをインストールすれば作業は完了です。

それでもエラーが解消しない場合

上記の変更後も起動時に同じINACCESSIBLE_BOOT_DEVICEエラーが表示される場合は、別の種類のディスクコントローラーを使用しています。以下の表を参考に、HKEY_LOCAL_MACHINE\local_hkey\ControlSet001\services配下の各サービスのStartパラメーター値を変更してみてください。

Windowsサービス名VMware仮想マシンネイティブSATAアダプター搭載の物理PC(Windows x64)RAIDコントローラー搭載の物理PC
aliide333
amdide333
atapi000
cmdide333
iastorv333
intelide033
msahci300
pciide303
viaide333
LSI_SAS033
  1. Windows 10で「Bad_Pool_Caller」BSODエラーを修正する6つの対処法

    Windowsを使用していると、突然ブルースクリーンが表示されて驚いた経験はありませんか?ブルースクリーン・オブ・デス(BSOD)と呼ばれるこのエラーは、予期せぬタイミングで発生し、システムクラッシュやデータ損失など、早急な対応が必要な深刻な問題を引き起こすことがあります。 「Bad Pool Caller」は、さまざまな要因によって発生する典型的なブルースクリーンエラーの一つです。Windows 10でこのエラーが発生する主な原因は以下の通りです。 ハードウェアの故障 古い、または破損したシステムドライバー メモリ(RAM)の不具合 破損または欠落しているシステムファイル 古いバージョン

  2. Windows 10 / 8.1 / 7で「No boot device found」エラーを解決する8つの対処法

    Windows 10、8.1、またはWindows 7の起動時に「No boot device found. Press any key to reboot the machine」というエラーメッセージが表示されて困っていませんか?このエラーは、起動情報が保存されているHDDやSSDにシステムがアクセスできなかったことを意味します。つまり、パソコンの電源を入れた際に接続されているすべてのドライブをスキャンしたものの、起動可能なOSが見つからなかった状態です。なお、このエラーメッセージは環境によって以下のように表示が異なる場合があります。No bootable device detected