Configuration Manager の PXE ブートの問題に関する高度なトラブルシューティング

適用対象: System Center Configuration Manager (current branch - version 1810)System Center Configuration Manager (current branch - version 1806)System Center Configuration Manager (current branch - version 1802)

はじめに


次のサポート技術情報の記事で提供されている解決方法は、PXE ブートに影響するほとんどの問題を解決できます。

4468612 Configuration Manager の PXE ブートの問題に関するトラブルシューティング

IP ヘルパーを使用するか、PXE を再インストールしても PXE ブートの問題を解決できない場合は、次の追加のトラブルシューティング手順を試してください。

詳細情報


 

同じサーバー上で DHCP と WDS を共存ホストする場合の特別な考慮事項

同じコンピューター上で DHCP と WDS を共存ホストとする場合、WDS が特定のポートでリッスンできるように、WDS には特別な構成が必要です。 この構成については、Windows 展開サービスおよび動的ホスト構成プロトコル (DHCP) に概要が記載されています。 この資料によると、WDS と DHCP が同じサーバー上で共存ホストされている場合は、次の操作を完了する必要があります。

  1. 次のレジストリの場所で、UseDHCPPorts 値を 0 に設定します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE
  2. 次の WDS コマンドを実行します。
    WDSUTIL /Set-Server /UseDHCPPorts:No /DHCPOption60:Yes

この推奨事項では、WDSUTIL コマンドを実行するために WDS を構成する必要があります。 この推奨事項は、ConfigMgr PXE 対応 DP をインストールするときに WDS を構成しないベスト プラクティスと矛盾します。 ただし、WDSUTIL コマンドを必要としない代替方法を使用して、WDSUTIL コマンドで指定された 2 つの設定 (UseDHCPPorts および DHCPOption60) を構成できます。 したがって、WDS を構成する必要はありません。

WDS を有効にすることなくこれらの設定を構成するには、次のガイドラインに従ってください。

  • WDSUTIL の UseDHCPPorts スイッチは、実際には、次の場所で UseDHCPPorts レジストリ キーを値 0 に設定することと同じです。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE

    したがって、レジストリ キーを手動で設定する場合は、UseDHCPPorts スイッチを使用する必要はありません。 WDS がインストールされていない場合、このレジストリ キーが存在しない可能性があることに注意してください。
  • DHCPOption60 スイッチは、WDS サービスではなく DHCP サービスのオプションを構成します。 したがって、WDSUTIL を使用してこの DHCP オプションを設定する代わりに、同等の DHCP コマンドを使用して同じオプションを設定できます。 これを行うには、リモート ブート サービス用の DHCP の構成で説明されているように、netsh コマンドを使用します。 

    これらのガイドラインに従って WDS オプションを構成するには、開いている DHCP コンソールをすべて閉じてから、管理者特権のコマンド プロンプトで次のコマンドを実行します。
    netsh dhcp server \\<DHCP_server_machine_name> add optiondef 60 PXEClient String 0 comment=PXE supportnetsh dhcp server \\<DHCP_server_machine_name> set optionvalue 60 STRING PXEClient 
    これらのコマンドは、DHCP サーバーで DHCP オプション 60 をセットアップして有効にします。 これらのコマンドを実行した後、DHCP コンソールで 060 PXE クライアントではなく Unknown という名前のオプションが表示された場合、これらの設定を有効にするためにサーバーを再起動します。 再起動後、オプションは適切に表示されます。 このようになるのは、通常、2 つのコマンドが実行された時点で DHCP コンソールが開かれたままであった場合のみです。

注: DHCP が別のサーバーに移動され、WDS をホストしているサーバーから削除された場合は、上記の手順を元に戻す必要があります。 これを行うには、WDS サーバーで次の手順を実行します。

  1. 管理者特権を持つコマンド プロンプトから次のコマンドを実行します。
    REG ADD "HKLM\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSPXE" /v UseDHCPPorts /t REG_DWORD /d 1 /f
  2. 管理者特権を持つコマンド プロンプトで、次のコマンドを実行します。
    netsh dhcp server \\<DHCP_server_machine_name> delete optionvalue 60netsh dhcp server \\<DHCP_server_machine_name> delete optiondef 60 PXEClient

    注: これらのコマンドの最初のコマンドは、DHCP オプション 60 を無効にします。 2 番目のコマンドは、DHCP オプション 60 を完全に削除します。


先頭に戻る

DHCP 検出のトラブルシューティング 

PXE ブート プロセスの最初の DHCP 検出段階のトラブルシューティングを開始する前に、次の点を考慮してください。

  • SMSPXE.log では、起動しようとしているデバイスの MAC アドレスまたは DHCPREQUEST が表示されます。 そうでない場合は、クライアントと DP の間にルーターの構成の問題が存在する可能性があります。 
  • DHCP オプション 60、66、または 67 は使用しないでください。 これはサポートされていません。 
  • PXE 対応の DP と同じサブネット上のスイッチに接続されている場合にデバイスが起動できるかどうかをテストします。 可能な場合は、ルーターの構成が問題になる可能性があります。
  • クライアント コンピューター、DHCP サーバー、および PXE DP の間で DHCP (67 と 68)、TFTP (69) および BINL (4011) のポートが開かれていることを確認します。

この段階では、参照するログはありません。 ただし、WinPE の起動前に PXE ブート プロセスが失敗した場合は、通常 PXE エラー コードが表示されます。 表示されるエラー メッセージの例を次に示します。

  • PXE-E51: No DHCP or proxyDHCP offers were received. (DHCP OFFER または proxyDHCP OFFER が受信されませんでした)
  • PXE-E52: proxyDHCP offers were received. (proxyDHCP OFFER が受信されました) No DHCP offers were received. (DHCP OFFER は受信されませんでした)
  • PXE-E53: No boot filename received. (ブート ファイル名が受信されませんでした)
  • PXE-E55: proxyDHCP service did not reply to request on port 4011. (ポート 4011 上で proxyDHCP サービスが要求に応答しませんでした)
  • PXE-E77 bad or missing discovery server list. (PXE-E77: 不正または欠損している検出サーバー リスト)
  • PXE-E78: Could not locate boot server. (ブート サーバーが見つかりませんでした)

いくつかの Web サイトでは、これらのエラー コードが文書化されています。 たとえば、Symantec 社 - PXE エラー コードとその意味のリスト (英語情報) を参照してください。

上記の資料はトラブルシューティングの重点を絞り込むのに役立ちますが、NetmonWireShark などのネットワーク監視ツールを使用して問題のネットワーク トレースをキャプチャすることが必要になる場合があります。 PXE 対応の DP と、スイッチのミラーリング ポートに接続されているコンピューターに、ネットワーク監視ツールをインストールする必要があります。 ミラーリング ポートの構成の詳細については、特定のスイッチまたはルーティング デバイスの製造元により提供されているマニュアルを参照してください。

一般的な手順では、DP と、ミラーリング ポートに接続されているコンピューターの両方でネットワーク トレースを開始してから、PXE 経由でデバイスの起動を試行します。 完了したら、トレースを停止し、詳しく分析するために保存します。

PXE 対応の DP からキャプチャされた DHCP 通信のサンプル トレースを以下に示します。

3876_image14

PXE クライアントによる最初の DHCPDISCOVER に続いて、DHCP サーバーおよび PXE DP からの DHCPOFFER があることが確認できます。 クライアント (0.0.0.0) から要求が行われ、その後、DHCP サーバー (10.238.0.14) により確認応答されます。 PXE クライアントは IP アドレス (10.238.0.3) を取得した後、PXE DP (10.238.0.2) に要求を送信します。 その DP は、ネットワーク ブート プログラムの詳細を返すことによって要求を確認します。

クライアントと DP 上で同時のネットワーク トレースをキャプチャして、通信が正常に行われているかどうかを確認します。 以下のガイドラインに従ってください。

  • DHCP サービスが実行中で、利用可能であることを確認します。
  • DP 上で WDS サービスが実行中であることを確認します。
  • サーバーとクライアントの間で DHCP ポートをブロックしているファイアウォールが存在しないことを確認します。
  • クライアント コンピューターが、DP と同じサブネット上に存在する場合に起動できることを確認します。
  • クライアント コンピューターが DP のサブネットとは異なるサブネットから起動している場合は、IP ヘルパーが正しく構成されていることを確認します。


先頭に戻る

TFTP 転送のトラブルシューティング

PXE ブートに関するエラーが TFTP に言及している場合は、ブート ファイルを転送できない場合があります。 表示される可能性があるエラー メッセージとしては、次のようなものがあります。

  • PXE-E32: TFTP open timeout. (TFTP オープンのタイムアウト)
  • PXE-E35: TFTP read timeout. (TFTP 読み取りのタイムアウト)
  • PXE-E36: Error received from TFTP server (TFTP サーバーから受信されたエラー)
  • PXE-E3F: TFTP packet size is invalid (TFTP パケット サイズが無効です)
  • PXE-E3B: TFTP Error - File not Found (TFTP エラー - ファイルが見つかりません)
  • PXE-T04: Access Violation (アクセス違反)

これらのエラーをトラブルシューティングする良い方法は、Netmon または Wireshark を使用してネットワークを監視することです。 以下に、TFTP オープンのタイムアウトが発生した時点で PXE クライアントからキャプチャされたデータの例を示します。

3876_image15

ここで、クライアントは Wdsnbp.com ファイルに対する読み取り要求を送信していますが、応答を受信していません。 これは、何かが原因で、確認応答がクライアントにより受信されていないことを示しています。 データは次のようになります。

3876_image16

このような状況では、次のトラブルシューティング方法を試すことができます。

  • PXE 対応の DP でブロック サイズを小さくします (KB 975710 を参照)。
  • DP 上で WDS サービスが開始されていることを確認します。
  • クライアント コンピューターと DP の間で TFTP ポートが開かれていることを確認します。
  • REMINST 共有/フォルダー上のアクセス許可が正しいことを確認します。
  • その他の TFTP エラーがないか WDS のログを確認します。
  • RemoteInstall\SMSBoot\x86 および RemoteInstall\SMSBoot\x64 フォルダーに以下のファイルが含まれていることを確認します。

    
    3876_image17
     
  • フォントが SMSBoot\Fonts フォルダーに存在することを確認します。

    3876_image18
  • Boot.sdi ファイルが以下の RemoteInstall\SMSBoot フォルダーにあることを確認します。

    3876_image19


先頭に戻る

Windows PE の起動に関する問題 - ドライバー

この段階で発生する最も一般的な問題は、ドライバー関連の問題です。 全体として、最新バージョンの Windows PE (WinPE) には、ネットワークと大容量記憶域のドライバーの大部分が含まれています。 ただし、必要なドライバーが含まれていない場合があります。 したがって、ブート WIM にインポートする必要があります。 このプロセスには、次のガイドラインが適用されます。

  • ブート イメージに必要なドライバのみをインポートします。
  • NIC ドライバーまたは大容量記憶装置ドライバーのみを追加することを検討してください。 その他のドライバーは必要ありません。

SMSTS.log ファイル (<SystemDrive>:\Windows\temp\SMSTS) は、これらの問題のトラブルシューティングに最も役立つリソースです。 (このファイルを調べることができるように、起動時にコマンド プロンプトを有効にしてください。) 有効な IP アドレスと共に次のエントリのようなログ エントリが表示されていない場合、ドライバーの問題が発生している可能性があります。


これを確認するには、F8 キーを押してコマンド プロンプトで IPCONFIG を実行し、NIC が認識されているかどうかと、有効な IP アドレスがあるかどうかを判別するだけです。

WIM ファイル

また、DP に x86 と x64 両方のブート イメージが存在することも確認します。 WIM は以下のディレクトリで確認できます (WIM はコンテンツ ライブラリ内にも存在します)。

C:\RemoteInstall\SMSImages\<PackageID>

ブート イメージのプロパティで、[このブート イメージを PXE 対応の配布ポイントから展開する] が設定されていることを確認します。

先頭に戻る

Configuration Manager のポリシーの問題

PXE ブートに影響するもう 1 つの一般的な問題には、タスク シーケンスの展開が含まれます。 以下の例では、タスク シーケンスは不明なコンピューターに展開されていますが、既にデータベース内に存在しています。 第 1 の現象としては、PXE ブートが中断します。

3876_image20

さらに詳しく調べると、SMSPXE ログに次のエントリが表示されます。

このエントリでは、NBS ストアド プロシージャの実行時に使用可能なポリシーが見つからなかったことがわかります。 したがって、ブート アクションは中止されました。 その逆も当てはまります。 その逆も真です (つまり、コンピューターが不明であるがタスク シーケンスが展開されている場合、既知のコンピューターのコレクションに展開されます)。

次のトラブルシューティング手順を試すことができます。

  • 再起動しようとしているコンピューターが、タスク シーケンスの展開の対象であるコレクションに存在することを確認します。
  • DP で [不明なコンピューターのサポートを有効にする] の PXE の設定をオンにしてあることを確認します。
  • 不明なコンピューターにタスク シーケンスを展開する場合は、コンピューターがデータベースにまだ存在しないことを確認します。

先頭に戻る

さらにヘルプが必要ですか?


この問題の解決方法については、TechNet サポート フォーラムを参照するか、Microsoft サポートにお問い合わせください