次の方法で共有


WinPE: アプリのデバッグ

Ntsd.exe、Cdb.exe、Windbg.exe などの Windows デバッガーとサポート ツールを使用して、Windows PE のアプリケーションや Windows PE のカーネルをデバッグできます。 デバッグ ツールは、Windows 10 SDK に含まれています。 ローカルにコピーするか、共有から使用することで、デバッグ ツールを Windows PE コンピューターで使用できるようにしておく必要があります。

Windows PE をリモートでデバッグするには、PC で組み込みのファイアウォールをオフにする必要がある場合があります。

wpeutil disablefirewall

ユーザーモード デバッグ

最も簡単なユーザーモード デバッグ メソッドでは、プロセス サーバーを Windows PE コンピューターで実行し、別のコンピューター上のデバッガーを使用してそのサーバーに接続します。 プロセス サーバーは、Windows 10 SDK のデバッグ ツールに含まれています。

プロセス サーバーをユーザーモードで実行するには

  1. Windows デバッグ プロセス サーバー ツール (dbgsrv.exe) を、Windows 10 SDK のデバッグ ツールのフォルダー (例: C:\Program Files (x86)\Windows Kits\10.0\Debuggers\x64) から、Windows PE コンピューターにコピーします。

  2. Windows PE のコマンド プロンプトで、ファイアウォールを無効にします。

    wpeutil disablefirewall
    
  3. Windows デバッグ プロセス サーバーを起動し、PC への接続方法 (TCP ポートなど) を指定します。

    dbgsrv.exe -t tcp:port=1234
    

    詳しくは、プロセス サーバーのアクティブ化 (Windows デバッガー) に関する記事をご覧ください。

  4. リモート コンピューターから、プロセス サーバーを使用して、Windows PE ターゲット コンピューターにプロセスをアタッチするか、そこでプロセスを開始します。

    windbg -premote tcp:server=Server,port=1234
    

    詳しくは、スマート クライアントのアクティブ化 (Windows デバッガー) に関する記事をご覧ください。

Windows PE コンピューターで直接デバッガーを実行することもできます。 ただし、これを行うには、Windows PE コンピューターを再起動するたびにシンボルとソース パスを設定する必要があります。 この手順で説明するように、通常版の Windows が実行されているコンピューターからデバッグを実行することをお勧めします。

次のデバッグ手順は、startnet.cmd または setup.exe をバイパスし、デバッグのためにコマンド プロンプトに直接進む場合に便利です。 この手順では、セットアップを含むすべての初期化をバイパスし、Wpeinit.exe などのコマンドを一切実行しません。 この手順は、オンライン オペレーティング システムで、オンラインで実行する必要があります。

初期化前にユーザーモード デバッグを有効にするには

  1. winpeshl.ini ファイルが存在する場合は、削除します。 winpeshl.ini ファイルが存在しない場合は、既定でユーザーモード デバッグにアクセスできます。

  2. 起動中、コマンド プロンプトが表示されるまで、Ctrl キーを押したままにします。 コマンド プロンプトが表示されます。

  3. デバッグを続行します。

カーネルモード デバッグ

カーネルモードでデバッグするには、システムをブートする前にカーネルモード デバッグを有効にする必要があります。 ブート構成ファイルには、カーネルモード デバッグの設定があります。これは、bcdedit.exe コマンドライン ツールを使用してブート構成データ (BCD) ストアを変更することによって有効になります。 カーネル デバッグは、bcdedit.exe を使用することでのみ実行できます。 Bcdedit.exe は、Windows パーティションの \Windows\System32 ディレクトリにあります。

デバッガーの既定の設定は次のとおりです。

identifier              {dbgsettings} 
debugtype               Serial 
debugport               1 
baudrate                115200

VM 環境用に ISO を作成するには、ISO を作成する前に、BCD エントリを含むカーネルを有効にします。

既定の BCD ストア (default.bcd) に変更を加える方法について詳しくは、「Bcdedit を使用して BCD ストアを変更する方法」をご覧ください。

カーネルモード デバッグを有効にするには

  1. BCD ストアを探します。これは、bcd という名前のファイルにあります。 このファイルは、Windows PE イメージを含むメディアのルートのブート ディレクトリ内にあります。

  2. コマンド プロンプトで、次の bcdedit コマンドを入力して、イメージを debug on にブートするために使用される BCD ストアのデバッグ フラグを設定します。

    bcdedit /store <path to winpe>/boot/bcd /set {default} debug on
    

    {default} は、Windows PE のブート オプションの一意識別子 (UID) に置き換える必要がある場合があります。

    または、起動中に F8 キーを押し、デバッグ オプションを選択して、カーネル デバッグを有効にすることもできます。

    Windows PE内からシンボルサーバーを使用するには、サーバーのシンボルとファイル共有でnet useコマンドを使用します。

デバッグを制御するコマンドライン オプションについて詳しくは、「BCDEdit コマンドライン オプション」をご覧ください。

ネットワーク カーネルモード デバッグを有効にするには

テクニシャン PC で、次のコマンドを実行し、ネットワーク カーネル モードのデバッグ設定を使用して Windows PE イメージを作成します。

  1. 管理者として、 [展開およびイメージング ツール環境] を開始します。

  2. copype を実行して、Windows PE ファイルの作業コピーを作成します。

    copype amd64 d:\WinPE_amd64
    
  3. ターゲットPCがUEFIシステムの場合は、次のコマンドを実行します (次のポートとキーは例です。ポートは5万から50039に設定できます。キーについては、 を参照してください。暗号化キー:

    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /set {default} debug on
    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /set {default} bootdebug on
    bcdedit /store d:\WinPE_amd64\media\EFI\Microsoft\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:50005 key:5.5.5.5
    
  4. ターゲットPCがBIOSシステムの場合は、次のコマンドを実行します (次のポートとキーは例です。ポートは5万から50039に設定できます。キーについては、 を参照してください。 暗号化キー:

    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /set {default} debug on
    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /set {default} bootdebug on
    bcdedit /store d:\WinPE_amd64\media\Boot\BCD /dbgsettings NET HOSTIP:xxx.xxx.xxx.xxx PORT:50005 key:5.5.5.5
    
  5. MakeWinPEMedia と /ISO オプションを使用して、Windows PE ファイルを含む ISO ファイルを作成し、次のコマンドを実行します。

    makewinpemedia /iso d:\WinPE_amd64\winpe_x64_debug.iso
    

ターゲット PC で winpe_x64_debug.iso から開始し、次のコマンドを実行します。

windbg.exe -k net:port=50005,key=5.5.5.5

WinPE for Windows 10

WinPE: マウントとカスタマイズ

Wpeutil コマンドライン オプション

Winpeshl.ini リファレンス: WinPE 起動時にアプリを起動する

BCDEdit のコマンド ライン オプション