디버깅을 위해 BCD 구성

Windows 디버거를 사용하여 팩터리 OS 디바이스를 디버그할 수 있습니다. 팩터리 OS 디바이스가 구성되면 디버깅 프로세스는 Windows의 다른 버전과 동일합니다. 그러나 디버깅을 사용하도록 BCD 파일을 구성하는 것은 팩터리 OS가 상태 분리를 사용하도록 설정하는 데 사용하는 저장소 공간 파티션 레이아웃 때문에 다릅니다.

팩터리 OS BCD(부팅 구성 데이터)

BCD 위치

팩터리 OS 디바이스의 BCD 파일은 읽기/쓰기 권한이 있는 가상 디스크인 VIRT_EFIESP 볼륨에 있습니다. 이는 EFI 시스템 파티션을 사용하여 BCD 파일을 보관하는 다른 버전의 Windows에서 변경된 것입니다.

팩터리 OS 저장소 공간 파티션 레이아웃의 모든 파티션 및 가상 디스크에 대한 정보는 파티션 레이아웃을 참조하세요.

BCD 파일 수정

다른 버전의 Windows에서 명령 프롬프트를 통해 BCD 저장소에 액세스하고 수정할 수 있습니다. 팩터리 OS 디바이스에는 대화형 명령 프롬프트가 없으므로 다음과 같은 방법으로 VIRT_EFIESP의 BCD 파일을 수정해야 합니다.

BCD 파일이 포함된 가상 디스크는 읽기/쓰기이므로 디스크에 대한 액세스 권한이 있으면 다른 Windows 설치 시 BCD를 변경할 수 있습니다.

디버깅을 구성하는 자동화된 방법

Debug-WcosDevice 유틸리티 사용

Debug-WcosDevice는 WSK에 포함된 PowerShell 유틸리티로, 팩터리 OS 디바이스에서 디버거를 설정하는 데 도움이 됩니다. 탑재된 이미지에 사용하거나 TShell을 통해 온라인 이미지에 사용할 수 있습니다. 사용 방법을 알아보려면 Debug-WcosDevice를 사용하여 디버깅을 사용하도록 설정을 참조하세요.

Debug-WcosDevice를 사용하여 팩터리 OS의 BCD 파일을 수정했으면 디버깅을 시작할 준비가 된 것입니다.

선택적 기능 디버깅 사용

팩터리 OS에는 OEMInput 파일에서 디버깅을 사용하도록 BCD를 수정하는 데 사용할 수 있는 선택적 기능이 있습니다. 선택적 기능은 다음과 같습니다.

선택적 기능
KDNETUSB_ON
KDNETSERIAL_ON
KDUSB_ON

선택적 기능을 사용하여 디버깅을 사용하도록 설정한 경우 디버깅을 시작할 준비가 된 것입니다.

수동으로 디버깅 구성

디버깅을 구성하기 전에 팩터리 OS 디바이스에서 BCD 파일에 액세스하는 방법을 선택합니다.

TShell을 사용하여 연결

TShell을 사용하여 실행 중인 팩터리 OS 디바이스에 연결하여 BCD 파일에 액세스할 수 있습니다.

cmdd BCDEdit

BCDEdit를 사용하여 BCD를 수정할 수 있습니다.

SSH를 사용하여 연결

SSH가 구성되어 있는 실행 중인 팩터리 OS 디바이스에 연결하여 BCD 파일에 액세스할 수 있습니다. SSH를 통해 디바이스에 연결된 경우:

BCDEdit

BCDEdit를 사용하여 BCD를 수정할 수 있습니다.

탑재된 VHD에서

기술자 PC에 VHD를 탑재하여 오프라인 탑재 VHD의 VIRT_EFIESP 파티션에 있는 BCD 파일에 액세스할 수 있습니다. VHD를 탑재하려면 파일 탐색기에서 VHD를 두 번 클릭합니다. VHD가 탑재된 기술자 PC에서. VHD가 탑재된 후:

BCDEdit /store <path_to_VIRT_EFIESP_bcd>

BCDEdit를 사용하여 BCD를 수정할 수 있습니다.

BCD 수정

BCD를 수정할 때 Debug-WcosDevice 또는 디버깅 선택적 기능을 사용하지 않는 경우 BCD에 액세스한 후 BCDEdit를 사용하여 디버깅을 사용하도록 변경합니다. 다양한 디버깅 시나리오에 BCDEdit를 사용하는 방법을 알아보려면 다음 표를 참조하세요.

디버거 형식 디버거를 설정하는 방법 BCDEdit 명령 디버깅을 시작하는 방법
Net 수동으로 KDNET 네트워크 커널 디버깅 설정 BCDEdit /debug on
BCDEdit /dbgsettings net hostip:w.x.y.z port:n key:Key
네트워크 디버깅 시작
USB USB 3.0 케이블을 통해 수동으로 커널 모드 디버깅 설정 BCDEdit /debug on
BCDEdit /dbgsettings usb targetname:targetname
USB 디버깅 시작
직렬 직렬 케이블을 통해 수동으로 커널 모드 디버깅 설정 BCDEdit /debug on
BCDEdit /dbgsettings serial debugport:n baudrate:rate
직렬 디버깅 시작
참고: 직렬 연결을 통해 로컬 VM에 연결하는 방법을 알아보려면 직렬 연결을 통해 디버그를 참조하세요.

WCOS 디바이스에서 BCD 설정을 수정한 후 디버깅을 시작할 수 있습니다.

디버그 시작

WCOS 디바이스에 연결하는 데 사용하는 연결 유형에 따라 디버깅 세션을 시작할 수 있습니다.

디버거 형식 디버깅을 시작하는 방법
Net 네트워크 디버깅 시작
USB [USB 디버깅 시작]/windows-hardware/drivers/debugger/setting-up-a-usb-3-0-debug-cable-connection#starting-a-debugging-session-for-the-first-time)
직렬 직렬 디버깅 시작