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

この記事では、管理者がConfiguration Managerで PXE ブート エラーを診断して解決するのに役立つ、事前のトラブルシューティング手法について説明します。

元の製品バージョン: Configuration Manager (現在のブランチ)
元の KB 番号: 4491871

概要

PXE のしくみに関する重要な情報については、コンパニオン記事「ConfigMgrでの PXE ブートについて」を参照してください。

「Configuration Managerの PXE ブートの問題のトラブルシューティング」セクションに記載されている解決策は、PXE ブートに影響するほとんどの問題を解決できます。

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

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

動的ホスト構成プロトコル (DHCP) と 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 使用して、コマンド (UseDHCPPortsDHCPOption60) で指定された 2 つの設定を WDSUTIL 構成できます。 この方法では、WDS を構成する必要はありません。

WDS を有効にせずにこれらの設定を構成するには、次のガイドラインに従います。

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

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE

    レジストリ キーが UseDHCPPorts 手動で設定されている場合、スイッチを使用する必要はありません。 WDS がインストールされていない場合、このレジストリ キーが存在しない可能性があります。

  • スイッチは DHCPOption60 、WDS サービスではなく DHCP サービスのオプションを構成します。 を使用して WDSUTIL この DHCP オプションを設定する代わりに、同等の DHCP コマンドを使用して同じオプションを設定できます。 これを行うには、「リモート ブート サービスのnetsh DHCP の構成」の説明に従って、 コマンドを使用します。

    これらのガイドラインに従って WDS オプションを構成するには、開いている DHCP コンソールを閉じてから、管理者特権のコマンド プロンプトで次のコマンドを実行します。

    netsh dhcp server \\<DHCP_server_machine_name> add optiondef 60 PXEClient String 0 comment=PXE support
    
    netsh dhcp server \\<DHCP_server_machine_name> set optionvalue 60 STRING PXEClient
    

    これらのコマンドは、DHCP サーバーで DHCP オプション 60 を設定して有効にします。 これらのコマンドを実行した後、DHCP コンソールではなくという名前 Unknown060 PXE Client オプションが表示される場合は、これらの設定を有効にできるようにサーバーを再起動します。 再起動後、オプションが正しく表示されます。 この問題は、通常、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 60
    
    netsh dhcp server \\<DHCP_server_machine_name> delete optiondef 60 PXEClient
    

    注:

    これらのコマンドの 1 つ目は、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) ポートが開いていることを確認します。

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

  • PXE-E51: DHCP またはプロキシDHCP オファーが受信されませんでした。
  • PXE-E52: proxyDHCP オファーが受信されました。 DHCP オファーは受信されませんでした。
  • PXE-E53: ブート ファイル名が受信されていません。
  • PXE-E55: proxyDHCP サービスがポート 4011 の要求に応答しませんでした。
  • PXE-E77 検出サーバーの一覧が正しくない、または見つからない。
  • PXE-E78: ブート サーバーが見つかりませんでした。

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

一般的な手順では、DP と、ミラー化されたポートに接続されているコンピューターの両方でネットワーク トレースを開始します。 PXE を使用してデバイスを起動してみてください。 次に、トレースを停止し、さらに分析するために保存します。

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

DHCP 会話のトレースのスクリーンショット。

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

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

PXE ブートのエラーが TFTP を参照している場合は、ブート ファイルを転送できない可能性があります。 受信する可能性があるエラー メッセージの例を次に示します。

  • PXE-E32: TFTP オープン タイムアウト
  • PXE-E35: TFTP 読み取りタイムアウト
  • PXE-E36: TFTP サーバーから受信したエラー
  • PXE-E3F: TFTP パケット サイズが無効です
  • PXE-E3B: TFTP エラー - ファイルが見つかりません
  • PXE-T04: アクセス違反

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

TFTP Open タイムアウトが発生した場合のデータを示すスクリーンショット。

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

応答を受信せずに読み取り要求を送信するためのデータを示すスクリーンショット。

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

  • PXE 対応 DP のブロック サイズを小さくする方法については、「KB 975710」を参照してください。

  • WDS サービスが DP で開始されていることを確認します。

  • クライアント コンピューターと DP の間で TFTP ポートが開いていることを確認します。

  • REMINST 共有とフォルダーに対するアクセス許可が正しいことを確認します。

  • WDS ログで他の TFTP エラーがないか確認します。

  • フォルダーと RemoteInstall\SMSBoot\x64 フォルダーにRemoteInstall\SMSBoot\x86次のファイルが含まれていることを確認します。

    RemoteInstall\SMSBoot フォルダー内のファイルのスクリーンショット。

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

    SMSBoot\Fonts フォルダーのスクリーンショット。

  • Boot.sdi ファイルがフォルダーに RemoteInstall\SMSBoot 存在することを確認します。

    RemoteInstall\SMSBoot フォルダーのスクリーンショット。

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

このフェーズで発生する最も一般的な問題は、ドライバー関連です。 全体的に、最新バージョンの Windows PE (WinPE) には、ほとんどのネットワークおよび大容量ストレージ ドライバーが含まれています。 必要なドライバーが含まれていない場合があります。 そのため、ブート WIM にインポートする必要があります。 このプロセスには、次のガイドラインが適用されます。

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

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

SMSTS.log  
Found network adapter "Intel 21140-Based PCI Fast Ethernet Adapter (Emulated)" with IP Address <IP address>

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

WIM ファイル

また、x86 と x64 の両方のブート イメージが DP に存在することを確認します。 次のディレクトリに WIM が表示され、コンテンツ ライブラリにも表示されます。

C:\RemoteInstall\SMSImages\<PackageID>

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

Configuration Manager ポリシーの問題

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

タスク シーケンスが不明なコンピューターに展開されていることを示すスクリーンショット。

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

SMSPXE.log  
Client lookup reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777299" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification></ClientIDReply>  
MP_LookupDevice succeeded: 16777299 1 16777299 1 0  
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: device is in the database.  
Client boot action reply: <ClientIDReply><Identification Unknown="0" ItemKey="16777299" ServerName=""><Machine><ClientID/><NetbiosName/></Machine></Identification><PXEBootAction LastPXEAdvertisementID="" LastPXEAdvertisementTime="" OfferID="" OfferIDTime="" PkgID="" PackageVersion="" packagePath="" BootImageID="" Mandatory=""/></ClientIDReply>  
Client Identity:  
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: SMSID= OfferID=, PackageID=, PackageVersion=, BootImageID=, PackagePath=, Mandatory=0  
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: no advertisements found  
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: No boot action. Aborted.  
00:15:5D:00:19:CA, 32E5B71A-B626-4A4B-902E-7F94AD38B5B3: Not serviced.

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

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

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

その他のヘルプが必要

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

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft では、このトピックに関する追加情報を見つけるのに役立つサード パーティの連絡先情報を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、第三者の連絡先情報の正確性を保証しません。