概要
Hyper-V は、Windows Server 環境での仮想化のコア コンポーネントです。 これにより、単一またはクラスター化されたホスト インフラストラクチャ上の複数の仮想マシン (VM) の管理が可能になります。 ただし、管理者は、さまざまな VM の起動エラーや、ビジネス操作を妨げる可能性のあるパフォーマンスの問題に頻繁に遭遇します。 このような問題は、ハードウェアの制限、構成の変更、更新プログラム、ネットワーク、ストレージ、ソフトウェアまたはファイル システムの破損によって発生する可能性があります。 ダウンタイムを最小限に抑え、データの整合性を維持するには、迅速かつ包括的なトラブルシューティングが不可欠です。 この記事は、管理者が Hyper-V VM の問題を解決し、一般的な障害モードとその解決策に対処し、データ収集と原因分析のベスト プラクティスを提供できるように設計されています。
トラブルシューティング チェックリスト
体系的なトラブルシューティングには、次のチェックリストを使用します。
-
エラー メッセージとイベント ログを確認する
- 正確な文言、イベント ID、タイミングに注意してください。
-
使用可能なホスト リソースを評価する
- CPU、メモリ、ストレージ、およびネットワークの可用性。
-
最近変更された内容を確認する
- 更新、構成、ハードウェア、またはファームウェアの変更。
-
VM とホストの構成を確認する
- 起動 RAM、CPU 数、ディスク、ネットワーク設定。
-
ストレージ接続と可用性を確認する
- ディスクの正常性、クラスターの状態、ネットワーク ストレージ パス。
-
VM ログインとドメイン信頼をテストする
- ドメイン接続システムの場合は、信頼が壊れていないことを確認します。
-
フェールオーバー クラスタリングとクォーラムを確認します。
- ノードの状態、クラスター ログ、およびネットワーク構成。
-
ウイルス対策とセキュリティの干渉を確認する
- 最近の AV/EDR の変更またはスキャン活動。
-
レジストリとファイルとフォルダーのアクセス許可を確認する
- 特に、Hyper-V プロセス関連のサブキーとフォルダーを確認します。
-
既知のバグまたは修正プログラムを確認する
- Microsoft のドキュメントと最近のリリース ノートを確認します。
一般的な問題と解決策
次のセクションでは、最も一般的な障害モードについて詳しく説明し、詳細な解決策を提供します。
VM が起動せず、メモリとリソースが不足している
症状
- エラー: "メモリの初期化に失敗しました: メモリ不足 (0x8007000E)。"
- エラー: "メモリ不足のため、仮想マシンの起動に失敗しました。"
- 更新または再起動後、ホストまたは VM が応答しなくなります。
解決策
- Hyper-V Manager またはタスク マネージャーでホスト メモリの使用量を確認します。
- VM のスタートアップ メモリ値 (Hyper-V Manager>VM>Settings>Memory) を減らします。
- ホスト上の物理 RAM を増やします。
- 動的メモリを使用する場合は、割り当て超過を避けるために適切な最小値と最大値を設定します。
- VM を再起動します。
VM が失敗し、"データが無効です" (0x8007000D) または証明書またはレジストリエラーが返される
症状
- エラー: "データが無効です。 (0x8007000D)"
- イベント ログ: レジストリ キーにアクセスするときにアクセスが拒否されました。
- VM は最近の更新後に起動しません (たとえば、KB5051979)。
解決策
- ProcMon を使用して、vmwp.exeの ACCESS DENIED レジストリ イベントを識別します。
- 関連するキーに対する正しいアクセス許可 (HKU など)。DEFAULT\Software\Policies[Vendor]\SystemCertificates\CA): - regedit を管理者として開きます。
- [アクセス許可] > 右クリック > 、必要なユーザーとグループを追加または調整します。
- Sysinternals sigcheck を使用して、キー DLL のデジタル署名を検証して修復します。
- 必要なウイルス対策/EDR 除外が Hyper-V ディレクトリで使用できることを確認します。
- ディスクとネットワーク アダプターの構成を確認します。必要に応じて、削除して再追加します。
- ホストを再起動し、VM の起動をテストします。
アップグレード後の CPU とメモリの削減を示す VM
症状
- デバイス マネージャーには CPU が表示されますが、タスク マネージャー/MSinfo の表示は割り当て済みよりも少なくなります。
- VMまたはHyper-Vホストを更新した後のパフォーマンスの大幅な低下
- 古い OS バージョンからアップグレードされた VM にのみ影響します。
解決策
BCD から numproc 値を削除します。
bcdedit /deletevalue {default} numproc投機的実行の修正のためのレジストリ サブキーを設定します。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 72 /f reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /fVM をリアートします。
タスク マネージャーと PowerShell を使用して CPU とメモリの認識を確認します。
ディスクまたはファイル システムの破損、ディスクの起動、削除、接続ができない
症状
- エラー: "エラーのため開けませんでした。 ファイルまたはディレクトリが破損しており、読み取りできません。"
- エラー: ファイルを削除するときに0x80070570。
- イベント ID: ディスク障害またはリセットの場合は 8、153、129。
解決策
ファイル システムの修復を試す:
chkdsk [drive]: /f可能であれば、修復する前にすべての重要なデータをバックアップしてください。
VM 構成/VHD の破損の場合:
- 新しい VM を作成し、既存の (修復された) VHD/VHDX をアタッチします。
- 必要に応じて回復メディアから起動し、Windows を修復します (sfc /scannow、startrec /fixstart を使用)。
古いストレージまたはネットワーク ドライバーとファームウェアを更新します。
クラスター クォーラムとストレージ パスを確認します。
クラスターと CSV の問題: 一時停止状態、再起動、予期しないフェールオーバー
症状
- イベント ID 5120 (クラスター共有ボリュームの一時停止状態)
- イベント ID 1135 (クラスターからのノードの削除)
- リソースエラー、ハートビートの不足のクラスター ログ
- VM が予期せず再起動またはフェールオーバーする
解決策
すべてのクラスター ノード上のすべての記憶域およびネットワーク アダプター ドライバーとファームウェアを更新します。
必要に応じて、クラスター クォーラム設定を確認して調整します。
Microsoft のガイダンスに従って、サードパーティのウイルス対策/EDR を削除するか、クラスター、Hyper-V、ストレージ ディレクトリを除外します。
最近のハードウェアとネットワークの変更 (スイッチ モジュール、ケーブル、ファイアウォール) を調査します。
クラスター ノード間で VM ワークロードを再調整します。
次のコマンドを使用して、クラスター ログを生成および収集します。
Set-ClusterLog -UseLocalTime -Level 5 -Destination C:\tempハードウェアの問題または繰り返し発生するエラー ID がログに見つかった場合は、ストレージおよびネットワーク ベンダーと連携します。
ドメインの信頼と認証またはログインの失敗
症状
- エラー: "このワークステーションとプライマリ ドメインの間の信頼関係が失敗しました。"
- Hyper-V Manager 経由ではログインできませんが、RDP は機能します。
- VM が "お待ちください" で停止しているか、ログインできません。
解決策
- ドメインから VM を削除した後、再びドメインに参加させます。
- Active Directory でコンピューター アカウントの状態を確認して修正します。
- サインイン エラーの場合は、古いプロファイルをクリーンアップするか、GPO またはプロファイルの破損を確認します。
- ドメイン コントローラーが正常であり、VM/ハイパーバイザーから到達できることを確認します。
パフォーマンスの問題: VM の低速、待機時間の長さ、アプリの応答の停止
症状
- ジョブまたはバックアップには、通常の 2 ~ 3 倍の時間がかかります。
- ディスクのアイドル時間が短く、平均ディスク待機時間が 25 ミリ秒を超えている。
- イベント ログには、"I/O 要求が XXXXX ミリ秒で完了しました" というエントリが繰り返し表示されます。
- VM が応答しない (特に I/O が多い場合)。
解決策
ディスクとネットワーク パフォーマンスの監視を実行します。
logman create counter PerfLog-Short-Interval -f bincirc -si 00:00:01 -o c:\Temp\ percentComputerName percent_PerfLog-Short-Interval.blg -c \Memory\\* \Network Interface(\*)\\* \Processor(\*)\\* \PhysicalDisk(\*)\\* \LogicalDisk(\*)\\* logman start PerfLog-Short-Interval logman stop PerfLog-Short-Intervalストレージとネットワークのボトルネックを特定します。 ドライバーとファームウェアを更新します。
負荷の高いワークロードを別々のホストとストレージ アレイに分散します。
特定のワークロードでのみ問題が発生する場合は、アプリケーション ベンダーと連携します。
ネットワークの構成ミスを確認して排除します (VMQ、RSS などを無効または有効にします)。
ハードウェアまたはドライバーのロックアップをクリアするには、必要に応じて VM またはホストを再起動します。
一般的な問題のクイック リファレンス 表
| 症状 | 根本原因 | 解決策 |
|---|---|---|
| "メモリ不足" / (0x8007000E) | ホストに無料の RAM、オーバーサブスクリプションがない | ホストに RAM を追加するか、VM の起動メモリを減らす |
| "データが無効です" (0x8007000D);VMwp.exe アクセスがログで拒否されました | レジストリまたは証明書のアクセス許可エラー | レジストリのアクセス許可の修正、署名の検証、AV の除外の設定 |
| 一部の CPU のみが認識され、アップグレード後にパフォーマンスが 50% 未満低下する | 構成またはレジストリの制限を開始する | BCD numproc の削除、レジストリ FeatureSettingsOverride/Mask の追加、再起動 |
| ファイル システム エラー (例: 0x2;chkdsk エラー;ファイルを削除できない | NTFS メタデータまたは VM ファイルが破損している | chkdsk /f の実行、バックアップ、新しい VM への VHD のアタッチ、修復または復元 |
| CSV が一時停止 (イベント 5120);ノードの削除 (イベント 1135);再起動 | ネットワーク、ドライバー、またはストレージの問題、AV | ドライバーとファームウェアの更新、クラスター構成の確認、AV の削除または調整 |
| "ドメイン信頼に失敗しました";Hyper-V Manager ログインのみが失敗する | 信頼関係の破損または AD/GPO の問題 | ドメインに再参加し、AD アカウントを確認し、キャッシュされた資格情報をクリアする |
| パフォーマンスの低下 (ディスクのアイドル状態が 95% 未満、待機時間が 25 ミリ秒を超える、イベント 9、153 など) | ストレージ/ネットワークのボトルネックまたはキャッシュの構成 | ファームウェアの更新、VM の移動、ワークロードのバランスの調整、キャッシュの確認 |
データ コレクション
Microsoft サポートに問い合わせる前に、問題に関する次の情報を収集できます。
- イベント ログ: C:\Windows\System32\winevt\logs\system.evtx, application.evtx
- クラスター ログ: Set-ClusterLog を使用して診断情報をエクスポートする
- パフォーマンス ログ: Perfmon/logman を使用する
- ストレージ/ネットワーク ドライバーとファームウェア のインベントリ: デバイス マネージャーまたは Get-WmiObject Win32_PnPSignedDriver を使用してプルする
- レジストリのエクスポート: regedit を使用して、疑わしいキーを保存および分析します (例: [メモリ管理] の下)
- スクリーンショット: エラー、設定ダイアログ、デバイス マネージャーなど
- Active Directory ログ: ドメインの信頼と認証に関する問題