WinPE: デバッグアプリWinPE: Debug Apps

Ntsd.exe、Cdb.exe、Windbg.exe などの Windows デバッガーと、windows PE でアプリケーションをデバッグし、Windows PE カーネルをデバッグするためのサポートツールを使用できます。You can use Windows Debuggers, such as Ntsd.exe, Cdb.exe, and Windbg.exe, and supporting tools to debug applications on Windows PE and to debug the Windows PE kernel. デバッグツールは、 Windows 10 SDKに含まれています。Debugging tools are included in the Windows 10 SDK. デバッグツールは、ローカルにコピーするか、共有から使用して、Windows PE コンピューターで使用できるようにする必要があります。You must make the debugging tools available on the Windows PE computer by either copying them locally or using them from a share.

Windows PE をリモートでデバッグするには、PC の組み込みのファイアウォールをオフにすることが必要になる場合があります。To debug Windows PE remotely, you may need to turn off the built-in firewall on the PC:

wpeutil disablefirewall

ユーザーモードのデバッグUser-mode debugging

最も簡単なユーザーモードのデバッグ方法は、Windows PE コンピューターでプロセスサーバーを実行し、別のコンピューター上のデバッガーを使用してそれに接続することです。The easiest user-mode debugging method is to run a process server on the Windows PE computer, and connect to it by using a debugger on another computer. プロセスサーバーは、 Windows 10 SDKのデバッグツールに含まれています。The process server is included with the debugging tools in the Windows 10 SDK.

ユーザーモードでプロセスサーバーを実行するにはTo run a process server in user-mode

  1. Windows デバッグプロセスサーバーツールの dbgsrv.exe を、WINDOWS 10 SDK デバッグツールフォルダー (例: C: \ Program Files (x86) \ windows Kit \ 10.0 \ デバッガー \ x64) から windows PE コンピューターにコピーします。Copy the Windows Debugging Process Server tool: dbgsrv.exe, from the Windows 10 SDK debugging tools folder (example: C:\Program Files (x86)\Windows Kits\10.0\Debuggers\x64), to the Windows PE computer.

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

    wpeutil disablefirewall
    
  3. Windows デバッグプロセスサーバーを起動して、TCP ポートなど、PC への接続方法を指定します。Start the Windows Debugging Process Server, specifying a connection method to the PC, for example, a TCP port:

    dbgsrv.exe -t tcp:port=1234
    

    詳細については、「 プロセスサーバーのアクティブ化 (Windows デバッガー)」を参照してください。For more information, see Activating a Process Server (Windows Debuggers).

  4. リモートコンピューターで、プロセスサーバーを使用して、Windows PE セットアップ先のコンピューターにプロセスをアタッチまたは起動します。From the remote computer, use the process server to attach to or start processes on the Windows PE destination computer:

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

    詳細については、「 スマートクライアントのアクティブ化 (Windows デバッガー)」を参照してください。For more information, see Activating a Smart Client (Windows Debuggers).

また、デバッガーを Windows PE コンピューターで直接実行することもできます。It is also possible to run the debugger directly on the Windows PE computer. ただし、これを行うには、Windows PE コンピューターを再起動するたびにシンボルとソースパスを設定する必要があります。However, doing so requires setting up symbol and source paths after every reboot of the Windows PE computer. この手順で説明するように、完全版の Windows を実行しているコンピューターからデバッグを実行することをお勧めします。We recommend that you perform debugging from a computer running a full version of Windows, as described in this procedure.

次のデバッグ手順は、startnet .cmd または setup.exe を省略し、デバッグのためにコマンドプロンプトに直接進む場合に便利です。The following debugging procedure is useful when you want to bypass startnet.cmd or setup.exe, and proceed directly to a command prompt for debugging purposes. この手順では、セットアップを含むすべての初期化をバイパスし、Wpeinit.exe などのコマンドを実行しません。This procedure bypasses all initialization, including setup, and runs no commands, such as Wpeinit.exe. この手順は、オンラインオペレーティングシステムでオンラインで実行する必要があります。This procedure must be performed online on an online operating system.

初期化の前にユーザーモードのデバッグを有効にするにはTo enable user-mode debugging prior to any initialization

  1. winpeshl.ini ファイルが存在する場合は、削除します。Delete the winpeshl.ini file, if it exists. winpeshl.ini ファイルが存在しない場合は、既定でユーザーモードのデバッグにアクセスできます。If the winpeshl.ini file does not exist, then user-mode debugging can be accessed by default.

  2. コマンドプロンプトが表示される前に、ブート時に Ctrl キーを押したままにします。Hold down the Ctrl key during boot before the command prompt is shown. コマンド プロンプトが表示されます。A command prompt appears.

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

カーネルモードのデバッグKernel-mode debugging

カーネルモードでデバッグするには、システムを起動する前にカーネルモードのデバッグを有効にする必要があります。To debug in kernel-mode, you must enable kernel-mode debugging before the system is booted. ブート構成ファイルには、カーネルモードデバッグの設定があります。これは、bcdedit.exe コマンドラインツールを使用してブート構成データ (BCD) ストアを変更することによって有効になります。The boot configuration file has a setting for kernel mode debugging, which is enabled by using the bcdedit.exe command-line tool to modify the Boot Configuration Data (BCD) store. カーネルデバッグは、bcdedit.exe を使用した場合にのみ実行できます。Kernel debugging can only be performed by using bcdedit.exe. Bcdedit.exe は \ \ 、windows パーティションの windows System32 ディレクトリにあります。Bcdedit.exe is located in the \Windows\System32 directory of the Windows partition.

デバッガーの既定の設定は次のとおりです。The default debugger settings are as follows:

identifier              {dbgsettings} 
debugtype               Serial 
debugport               1 
baudrate                115200

VM 環境用に Iso を作成するには、ISO を作成する前に、BCD エントリを含むカーネルを有効にします。For creating ISOs for VM environments, enable the kernel with BCD entries before creating the ISO.

既定の BCD ストア (既定の bcd) を変更する方法の詳細については、「 Bcdedit を使用して Bcd ストアを変更する方法」を参照してください。For information about how to modify the default BCD store (default.bcd), see How to Modify the BCD Store Using Bcdedit.

カーネルモードのデバッグを有効にするにはTo enable kernel-mode debugging

  1. Bcd という名前 のファイルに格納されている bcd ストアを見つけます。Locate the BCD store, which is contained in a file named bcd. このファイルは、Windows PE イメージを含むメディアのルートにあるブートディレクトリ内にあります。This file is located within the boot directory in the root of the media containing the Windows PE image.

  2. コマンドプロンプトで、次の bcdedit コマンドを入力して、イメージを起動するために使用する BCD ストアのデバッグフラグを設定し debug on ます。At the command prompt, type the following bcdedit command to set the debug flag of the BCD store used to boot the image to debug on:

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

    は、 {default} WINDOWS PE のブートオプションの一意の識別子 (UID) に置き換える必要がある場合があります。The {default} might need to be replaced by the unique identifier (UID) of the boot option for Windows PE.

    または、ブート時に F8 キーを押し、[デバッグ] オプションを選択して、カーネルデバッグを有効にすることもできます。Alternatively, you can also enable kernel debugging by pressing F8 during boot and selecting the debug option.

    注:Note
    Windows PE 内からシンボルサーバーを使用するには、 net use サーバーのシンボルとファイル共有に対してコマンドを使用します。To use a symbol server from within Windows PE, use the net use command on the server’s symbols and file shares.

デバッグを制御するコマンドラインオプションの詳細については、「 BCDEdit Command-Line オプション」を参照してください。For more information about command-line options that control debugging, see BCDEdit Command-Line Options.

ネットワークカーネルモードのデバッグを有効にするにはTo enable network kernel-mode debugging

テクニシャン PC で、次のコマンドを実行して、ネットワークカーネルモードのデバッグ設定を使用して Windows PE イメージを作成します。On a technician PC, run the following commands to create a Windows PE image with network kernel mode debugging settings:

  1. 管理者として、[展開およびイメージング ツール環境] を開始します。Start the Deployment and Imaging Tools Environment as an administrator.

  2. copype を実行して、Windows PE ファイルの作業コピーを作成します。Run copype to create a working copy of the Windows PE files.

    copype amd64 d:\WinPE_amd64
    
  3. ターゲット PC が UEFI システムの場合は、次のコマンドを実行します (次のポートとキーが例です)。If the target PC is a UEFI system, run the following commands (The following PORT and key are examples. ポートは5万から50039に設定できます。PORT can be set from 50000 to 50039. キーについては、「 暗号化キー」を参照してください。For the key, see Encryption key):

    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 システムの場合は、次のコマンドを実行します (次のポートとキーが例です)。If the target PC is a legacy BIOS system, run the following commands (The following PORT and key are examples. ポートは5万から50039に設定できます。PORT can be set from 50000 to 50039. キーについては、「 暗号化キー」を参照してください。For the key, see Encryption key):

    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 ファイルを作成し、次のコマンドを実行します。Use MakeWinPEMedia with the /ISO option to create an ISO file containing the Windows PE files, run the following commands:

    makewinpemedia /iso d:\WinPE_amd64\winpe_x64_debug.iso
    

ターゲット PC で winpe_x64_debug .iso から開始し、次のコマンドを実行します。In the target PC, start with winpe_x64_debug.iso and run the following command:

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

関連トピックRelated topics

WinPE for Windows 10WinPE for Windows 10

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

Wpeutil Command-Line オプションWpeutil Command-Line Options

Winpeshl.ini リファレンス: WinPE の起動時にアプリを起動するWinpeshl.ini Reference: Launching an app when WinPE starts

BCDEdit Command-Line オプションBCDEdit Command-Line Options