디버깅을 위해 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 파일을 수정해야 합니다.
- WSK와 함께 제공되는 Debug-WcosDevice PowerShell 유틸리티
- 팩터리 OS 제품에서 사용할 수 있는 선택적 기능
- TShell을 통해(팩터리 OS만 해당)
- SSH를 통해
- VHD가 탑재된 기술자 PC에서 로컬로
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 onBCDEdit /dbgsettings net hostip:w.x.y.z port:n key:Key |
네트워크 디버깅 시작 |
| USB | USB 3.0 케이블을 통해 수동으로 커널 모드 디버깅 설정 | BCDEdit /debug onBCDEdit /dbgsettings usb targetname:targetname |
USB 디버깅 시작 |
| 직렬 | 직렬 케이블을 통해 수동으로 커널 모드 디버깅 설정 | BCDEdit /debug onBCDEdit /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) |
| 직렬 | 직렬 디버깅 시작 |