適用対象: ✔️ Windows VM
この記事では、Azure VM での起動中に重要なプロセスが停止した問題を解決する手順について説明します。
症状
起動診断を利用して VM のスクリーンショットを表示すると、スクリーンショットにエラー #0x000000EF と共に「Critical Process Died」 (重要なプロセスが停止しました) というメッセージが表示されます。
原因
通常、これは、起動時に障害が発生した重要なシステム プロセスが原因です。 重大なプロセスの問題の詳細については、「Bug Check 0xEF: CRITICAL_PROCESS_DIED」を参照してください。
ソリューション
プロセスの概要
ヒント
VM の最新のバックアップがある場合は、そのバックアップから VM の復元を試行して、起動の問題を修正することができます。
- 修復 VM を作成してアクセスします。
- OS の破損がある場合は修正します。
- 推奨: VM を再構築する前に、シリアル コンソールとメモリ ダンプの収集を有効にします。
- VM を再構築します。
Note
このブート エラーが発生する場合、ゲスト OS は動作しなくなります。 この問題を解決するには、オフライン モードでトラブルシューティングを行います。
修復 VM を作成してアクセスする
- VM 修復コマンドの手順 1 から 3 を使用して、修復 VM を準備します。
- リモート デスクトップ接続を使用し、修復 VM に接続します。
OS の破損がある場合は修正する
管理者特権でのコマンド プロンプトを開きます。
次のシステム ファイル チェッカー (SFC) コマンドを実行します。
sfc /scannow /offbootdir=<BOOT DISK DRIVE>:\ /offwindir=<BROKEN DISK DRIVE>:\windows
- ここで、
<BOOT DISK DRIVE>
は壊れた VM のブート パーティションであり、<BROKEN DISK DRIVE>
は壊れた VM の OS パーティションです。 大きい/より小さい記号と、その中に含まれるテキスト (例: "><テキスト") を適切な文字に置き換えます。
- ここで、
次に、VM 修復コマンドの手順 5 を使用して、VM を再構成し、起動するかどうか確認します。
それでも VM が起動しない場合は、引き続きメモリ ダンプ ファイルの収集を行います。
メモリ ダンプ ファイルを収集する
SFC の実行後も問題が解決しない場合は、問題の原因を特定するためにメモリ ダンプ ファイルを分析する必要があります。 メモリ ダンプ ファイルを収集するには、次の手順を実行します。
手順 1: ダンプ ファイルを見つけてサポート チケットを送信する
パート 1: OS ディスクを復旧 VM に接続する
影響を受ける VM の OS ディスクのスナップショットを作成してバックアップを作成します。 詳細については、「 仮想ハード ディスクのスナップショットを作成するを参照してください。
リモート デスクトップ プロトコル (RDP) を使用して、復旧 VM にリモート接続します。
影響を受ける VM の OS ディスクが暗号化されている場合は、次の手順に進む前に暗号化をオフにします。 詳細については、「 暗号化された OS ディスクを暗号化する」を参照してください。
パート 2: ダンプ ファイルを見つけてサポート チケットを送信する
復旧 VM で、接続されている OS ディスクの Windows フォルダーに移動します。 たとえば、接続されている OS ディスクに割り当てられているドライブ文字が F の場合は、 F:\Windows に移動します。
Memory.dmp ファイルを見つけて、サポート チケットを送信しダンプ ファイルを添付します。
ダンプ ファイルが見つからない場合は、次の手順に進み、ダンプ ログとシリアル コンソールを有効にして、問題を再現します。
手順 2: ダンプ ログとシリアル コンソールを有効にする
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前にレジストリをバックアップして、問題が発生した場合にレジストリを復元できるようにします。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
ダンプ ログとシリアル コンソールを有効にするには、次の手順に従います。
管理者として管理者特権でのコマンド プロンプト セッションを開きます。
/ems および /emssettings オプションを使用して、次の BCDEdit コマンドを実行します。
シリアル コンソールを有効にします。
bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
OS ディスクの空き領域が、VM のメモリ サイズ (RAM) よりも大きいことを確認します。
OS ディスクに十分な領域がない場合は、メモリ ダンプ ファイルが作成される場所を変更し、その場所を、十分な空き領域がある VM に接続されているデータ ディスクを参照します。 場所を変更するには、次のコマンドで、
%SystemRoot%
をデータ ディスクのドライブ文字 (F:
など) に置き換えます。OS ダンプ ファイルを有効にするには、次の load、 add、および unload コマンドを実行して、 reg ツールを使用して推奨される構成を実装します。
壊れた OS ディスクからレジストリ ハイブを読み込みます。
reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
ControlSet001 での有効化:
reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
ControlSet002 での有効化:
reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
壊れた OS ディスクをアンロードします。
reg unload HKLM\<broken-system>
推奨: VM をリビルドする前に、シリアル コンソールとメモリ ダンプ収集を有効にします
シリアル コンソールとメモリ ダンプの収集を有効にするには、次の手順に従います。
管理者として管理者特権でのコマンド プロンプト セッションを開きます。
/ems および /emssettings オプションを使用して、次の BCDEdit コマンドを実行します。
シリアル コンソールを有効にします。
bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
OS ディスクの空き領域が、VM のメモリ サイズ (RAM) よりも大きいことを確認します。
OS ディスクに十分な領域がない場合は、メモリ ダンプ ファイルが作成される場所を変更し、その場所を、十分な空き領域がある VM に接続されているデータ ディスクを参照します。 場所を変更するには、次のコマンドで、
%SystemRoot%
をデータ ディスクのドライブ文字 (F:
など) に置き換えます。OS ダンプ ファイルを有効にするには、次の load、 add、および unload コマンドを実行して、 reg ツールを使用して推奨される構成を実装します。
壊れた OS ディスクからレジストリ ハイブを読み込みます。
reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
ControlSet001 での有効化:
reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
ControlSet002 での有効化:
reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
壊れた OS ディスクをアンロードします。
reg unload HKLM\<broken-system>
元の VM を再構築する
VM 修復コマンドの手順 5 を使用して、VM を再構成します。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。