Windows 팩터리 OS
Windows 팩터리 OS는 공장 현장 및 드라이버 개발의 두 가지 사용 사례를 대상으로 합니다.
- 공장 현장의 경우 빠른 부팅 및 테스트를 위해 매우 간단하게 구성할 수 있습니다.
- 개발을 위해 드라이버를 개발 및 유효성 검사하고 즉시 테스트할 수 있는 다양한 도구를 추가할 수 있습니다.
이점
- 디바이스 유형 간에 작동하는 도구를 쉽게 빌드할수 있음: 유니버설 Windows 앱 및 드라이버는 팩터리 OS에서 지원되어 다양한 새 디바이스에서 사용할 수 있는 앱과 드라이버를 만들고 테스트할 수 있습니다.
- 다양한 앱과 드라이버를 사용하여 디바이스를 테스트할수 있습니다. 빠른 구성 변경을 통해 유니버설 Windows 플랫폼 표준을 충족하지 않는 앱과 드라이버를 실행할 수 있습니다.
- 빠른 플래시 및 부팅:팩터리 OS에는 기본적으로 많은 패키지 또는 도구가 포함되지 않습니다. 디바이스가 빠르게 부팅되고 테스트 환경 또는 공장 층에서 바로 작동을 시작할 수 있습니다.
- 특히 Windows 시험판 버전용으로 개발하는 동안OEM은 아직 개발 중인 새 OS 기능과 독립적인 안정적인 환경에서 개발하고 테스트할 수 있습니다. 이렇게 하면 제조 테스트를 방해하는 소매 기능으로 인해 비용이 많이 드는 문제를 방지할 수 있습니다.
기능
- Certified Store 애플리케이션 및 유니버설 Windows 드라이버
- 앱:
- 자체 포함 배포가 있는 .NET Core 앱
- Windows "umbrella" 라이브러리를 대상으로 하는 네이티브 앱
- 전체 하드웨어 액세스 권한이 있는 컨테이너 내의 네이티브 Win32 앱
- SSH
- Powershell Core
- OEM 제조 프로세스 중에 하드웨어 유효성 검사 및 진단에 대한 제조 테스트 및 작업을 실행할 수 있도록 하는 팩터리 Orchestrator입니다.
- TAEF 지원
- 최소 UWP 셸, UWP, 앱 또는 명령줄 인터페이스로 부팅합니다.
언어
다음과 같은 언어 지원을 통해 팩터리 OS 이미지를 빌드할 수 있습니다.
- en-US
- zh-CN
- zh-TW
언어를 추가하는 방법을 알아보려면 팩터리 OS에 언어 추가를 참조하세요.
팩터리 OS 제품 구성
팩터리 OS는 여러 가지 구성으로 사용할 수 있습니다. 이러한 구성은 팩터리 OS를 기본으로 사용하고 추가 기능을 추가합니다. 를 실행하여 작업 영역을 만들 때 옵션을 사용하여 제품 -productconfigurationprepwskworkspace-productconfiguration구성할 수 있습니다.
| 제품 구성 | 설명 |
|---|---|
| 제조업 | 팩터리 OS를 실행하는 데 필요한 기본 도구 집합 |
| 개발 | 팩터리 OS를 실행할 수 있는 향상된 도구 집합 |
| win32_manufacturing/win32_development | 컨테이너에서 진단 win32 앱을 실행할 수 있는 팩터리 OS 버전 |
디바이스 관리
디바이스 커넥트 및 구성
팩터리 OS가 실행되면 Windows 장치 포털 사용하여 디바이스를 구성하고 관리할 수 있습니다.
테스트용 파일 복사
저장소 공간 지원 팩터리 OS 디바이스에 파일을 복사하는 경우 파일을 %DataDrive% 또는 하위 폴더에 복사합니다.
포함된 기능 매니페스트
Windows 시스템 키트를 사용하여 팩터리 OS 제품에 대한 작업 영역을 생성하는 경우 다음 기능 매니페스트가 포함된 OEMInput.xml 파일이 표시됩니다.
- WindowsCoreProductionFM.xml
- FOSNonProductionFM.xml
- WindowsCoreNonProductionFM.xml
- GenericDeviceFM.xml
이러한 기능 매니페스트에는 이미지에 추가되는 패키지 페이로드에 대한 정보가 포함되며 이미지에서 사용할 수 있는 기능도 정의됩니다. OEMInput.xml 파일에서 이러한 포함된 기능 매니페스트를 제거하면 필요한 모든 패키지로 이미지가 빌드되지 않습니다.
Microsoft에서 추가한 기능
Windows System Kit를 사용하여 팩터리 OS 작업 영역을 만드는 경우 생성된 OEMInput.xml 파일에 다음 기능이 포함됩니다. 디바이스 디자인에 따라 기능을 추가하거나 제거할 수 있습니다. 사용 가능한 모든 옵션을 보려면 사용 가능한 기능을 참조하세요.
| FeatureID | 설명 |
|---|---|
| WCOS_EVENTLOG_SERVICE | 이벤트 로그 서비스를 사용하도록 설정합니다. 팩터리 OS 디바이스에는 이벤트 뷰어 포함되지 않지만 DiagnosticLog CSP를 사용하여 팩터리 OS 디바이스에서 진단 정보를 생성하고 수집할 수 있습니다. 자세한 내용은 채널 기반 추적을 참조하세요. |
| WCOS_PNP_RUNTIMEDEVICEINSTALL | 디바이스가 실행 중이고 개발 모드를 사용하는 동안 pnputil을 사용하여 INF를 설치할 수 있습니다. STATESEPARATION_DEVMODE 기능이 필요합니다. |
| FONTSIZE_15 | 콘솔 모드의 경우 글꼴 크기를 15로 설정합니다. VM 및 데스크톱 HW 이미지에 권장합니다. |
| SERVICING_STACK | 오프라인 서비스를 통해 디바이스를 다시 플래시하지 않고도 새롭거나 업데이트된 OS 또는 BSP 패키지를 설치할 수 있습니다. |
| ALLOW_CONNECTEDSTANDBY | 연결된 대기(Always On 항상 연결됨, 최신 대기)에 대한 지원을 사용하도록 설정합니다. |
| MICROSOFT_EDGE | 팩터리 OS에 UWP(Microsoft Edge)를 추가합니다. |
| DEVICEPORTAL_OPTIONAL_MONITORCONFIG | 디바이스 포털 모니터 구성 기능 |
| OEM_IMAGE | 팩터리 빌드에 권장됩니다. 에 저장되는 전체 커널 크래시 덤프를 사용하도록 C:\data\memory.dmp 설정합니다. |
| SHELL_BOOT | Factory Composer 앱으로 부팅하도록 이미지를 구성합니다. |
| MANUFACTURING_TOOLS | 아래에 몇 가지 테스트 도구를 %WINDIR%\System32\manufacturing\mfgtest 추가합니다. |
| STATESEPARATION_ON | 상태 구분을사용하도록 설정합니다. MainOS 파일, SYSTEM Hive 및 SOFTWARE 하이브가 서비스 작업 또는 대용량 스토리지 모드로 탑재된 이미지에서 수정되지 않는 한 읽기 전용입니다. |
| WCOS_TESTSIGNING_ON | 테스트 서명 사용 |
| ENABLE_WOW | FFU 크기/디스크 공간이 160-170MB 증가하는 대신 AMD64(x86 WOW) 및 ARM64(ARM WOW) 이미지 모두에 WOW를 사용하도록 설정합니다. |
| WCOS_DEVICEPORTAL | 디바이스 포털 사용 |
| WCOS_DEVICEPORTAL_WOW | 디바이스 포털 사용 |
| WCOS_POWERSHELLCORE | PowerShell Core 사용 |
| FACTORY_ORCHESTRATOR_SERVICE | 팩터리 Orchestrator 서비스를 사용 하도록 설정 합니다. |
| STORAGESPACES_LAYOUT | 장치에서 저장소 공간을 사용 하도록 설정 합니다. 장치를 부팅 하려면 공간 사용 장치 레이아웃도 제공 해야 합니다. |
| CAD_CHARGING | 요금 청구 드라이버 (CAD) 스택을 설치 합니다. 일부 BSPs의 경우 필요할 수 있습니다. |
| UEFI_HARDWARE | UEFI 기반 물리적 장치에 추가 되었습니다. |
| UEFI_VM | UEFI 기반 가상 머신 (Hyper-v 2 세대)에 추가 되었습니다. |
사용 가능한 기능
모든 공장 OS 제품에 사용할 수 있는 기능 외에 다음과 같은 기능을 공장 OS에 사용할 수 있습니다. 이미지 구성 (OEMInput) 파일에 이러한 기능을 추가할 수 있습니다.
모든 공장 OS 이미지에서 사용할 수 있는 기능
모든 공장 OS 이미지에서 다음 기능을 사용할 수 있습니다. 이러한 기능을 추가 하는 데에는 추가 FMs를 지정할 필요가 없습니다.
굵게 표시 된 기능은 Windows 시스템 키트에 의해 생성 되는 OEMInput.xml 파일에 포함 됩니다.
| FeatureID | 설명 |
|---|---|
| ALLOW_CONNECTEDSTANDBY | 연결 된 대기 (Always on always connected, 최신 대기)를 지원할 수 있습니다. |
| ENABLE_WOW | FFU 크기/디스크 공간에서 160-170MB 증가를 사용 하 여 AMD64 (x86 WOW) 및 ARM64 (ARM WOW) 이미지 모두에 WOW를 사용 하도록 설정 합니다. |
| OEM_IMAGE | 모든 OEM 정품 빌드에 필요 하며 팩터리 빌드에 권장 됩니다. 에 저장 되는 전체 커널 크래시 덤프를 사용 하도록 설정 %DataDrive%\memory.dmp 합니다. |
| MANUFACTURING_POWER_SCHEME | 전원 구성표를 균형 잡힌에서 고성능 체계로 변경 합니다. 이 체계는 팩터리 처리량과 안정성을 높이기 위해 성능에 맞게 조정 됩니다. 참고: 두 가지 스키마의 경우 공장 OS 표시 시간 제한이 사용 되지 않습니다. |
| TESTSIGNING_ON | 에서는 이미지에 Microsoft 제품 및 OEM 테스트 루트 인증서를 포함 하 고 BCD 테스트 서명을 설정 하 여 테스트 서명 된 콘텐츠를 배포할 수 있습니다. |
| FACTORY_ORCHESTRATOR_SERVICE | 팩터리 Orchestrator 서비스를 사용 하도록 설정 합니다. |
| 상태 구분- 하나를 선택 합니다 (필수). | |
| ●● | 상태 구분을 사용 합니다. 서비스 작업 또는 대용량 저장소 모드로 탑재 된 이미지에서 수정 하지 않는 한 MainOS 파일, 시스템 hive 및 소프트웨어 hive는 읽기 전용입니다. |
| ● STATESEPARATION_DEVMODE | 상태 분리 를 모니터링 하지만 상태 구분 규칙을 적용 하지 않습니다. |
| 디버깅- 0 또는 1을 선택 합니다. | |
| ● KDNETUSB_ON | EEM 디버깅으로 KDNET을 사용 하도록 설정 합니다. windbg.exe -k net:port=50000,key=1.2.3.4 |
| ● KDSERIAL_ON | COM1에서 직렬 디버거를 사용 하도록 설정 합니다. 주로 VM 디버깅을 위한입니다. windbg -k com:port=COM1,baud=115200 |
| ● KDUSB_ON | KDUSB 디버깅을 사용 합니다. windbg.exe -k USB2:targetname=WOATARGET |
| 부팅 환경- 하나를 선택 합니다 (필수). | |
| ● CONSOLE_BOOT | 콘솔 모드로 부팅 하도록 이미지를 구성 합니다. 이 옵션을 사용 하도록 설정 하면 UWP 앱을 실행할 수 없습니다. |
| ● POWERSHELL_BOOT | PowerShell Core 환경으로 부팅 하도록 이미지를 구성 합니다. 이 옵션을 사용 하도록 설정 하면 UWP 앱을 실행할 수 없습니다. |
| ●● | 공장 Composer 앱으로 부팅 하도록 이미지를 구성 합니다. |
| 글꼴 크기- 0 또는 1을 선택 합니다. | 콘솔 모드의 경우 아래 옵션 중 하나라도 chosed 되지 않으면 기본 글꼴 크기는 20입니다. |
| ●● | 콘솔 모드의 경우 글꼴 크기를 15로 설정 합니다. VM 및 데스크톱 하드웨어 이미지에 권장 됩니다. |
| ● FONTSIZE_30 | 콘솔 모드의 경우 글꼴 크기를 30으로 설정 합니다. 작은 폼 팩터 이미지에 권장 됩니다. |
| 장치/펌웨어- 하나를 선택 합니다 (필수). | |
| ●● | UEFI 기반 물리적 장치에 사용 합니다. |
| ●● | UEFI 기반 가상 머신 (Hyper-v 2 세대)에 사용 합니다. |
| CAD_CHARGING | 요금 청구 드라이버 (CAD) 스택을 설치 합니다. 일부 BSPs의 경우 필요할 수 있습니다. |
| SERVICING_STACK | 오프 라인 서비스를 통해 장치를 다시 플래시 하지 않고도 새 또는 업데이트 된 OS 또는 BSP 패키지를 설치할 수 있습니다. |
| DEVICEPORTAL_OPTIONAL_MONITORCONFIG | 장치 포털 모니터 구성 기능 |
| MANUFACTURING_TOOLS | 에 몇 가지 테스트 도구를 추가 %WINDIR%\System32\manufacturing\mfgtest 합니다. |
| MICROSOFT_EDGE | 팩터리 OS에 Microsoft Edge (UWP)를 추가 합니다. |
| FACTORY_ORCHESTRATOR_SERVICE_IN_TESTCONTENT | 고유한 팩터리 Orchestrator 빌드를 사용 하 여%DataDrive%\TestContent\Container\FactoryOrchestrator.에서 실행할 수 있습니다. 팩터리 Orchestrator 서비스 이진 파일은 <TestContent> Container\FactoryOrchestrator 하위 디렉터리에 있는 OEMInput에 설정 된 디렉터리에 있어야 합니다. |
| SETTINGS_APP | 이미지에 설정 앱을 추가 합니다. 기본 하드웨어 기능만 지원 됩니다. |
| WCOS_APP_CENTENNIALRUNTIME | 패키지 된 Win32 앱 지원. |
| MANUFACTURING_MODE_EMPTY_PROFILE | 이 기능을 포함 하는 경우 드라이버와 앱 ExIsManufacturingModeEnabled()GetOsManufacturingMode() 이 공장 OS에서 실행 될 때 및 api를 사용 하 여 분기 동작을 수행할 수 있습니다. true |
GenericDeviceFM.xml
GenericDeviceFM에는 대상 하드웨어와 상관 없이 부팅 지원을 사용할 수 있는 기능이 포함 되어 있습니다.
| 기능 | 설명 |
|---|---|
| UEFI_HARDWARE | UEFI 기반 물리적 장치에 사용 합니다. |
| UEFI_VM | UEFI 기반 가상 머신 (Hyper-v 2 세대)에 사용 합니다. |
| STORAGESPACES_LAYOUT | 장치에서 저장소 공간을 사용 하도록 설정 합니다. 장치를 부팅 하려면 공간 사용 장치 레이아웃도 제공 해야 합니다. |
WindowsCoreNonProduction.xml
다음은 개발 및 테스트 용도로만 사용되는 기능입니다.
| FeatureID | 설명 | 기본적으로 포함됨 |
|---|---|---|
| WCOS_TEST_COMPONENTS | 테스트를 지 원하는 데 필요한 구성 요소를 설치 합니다. | 예 |
| 0 개 또는 1 개 선택: | ||
| OFFLINE_CRASH_DUMP_SUPPORTED | 아니요 | |
| DISABLE_SCREEN_TIMEOUT | 화면 시간 제한을 사용 하지 않습니다. | 아니요 |
| DEBUGGER_IGNORE_UM_EXCEPTIONS | Usermode 예외를 무시 하도록 디버거에 지시 합니다. | 아니요 |
| 0 개 또는 1 개 선택: | ||
| WCOS_TEST_GPIOACCESS | GPIO에 대해 테스트 서명을 사용 하도록 설정 합니다. | 아니요 |
| WCOS_TESTSIGNING_ON | 테스트 서명을 사용 하도록 설정 합니다. | 예 |
| WCOS_WDTF_COMPONENTS | Windows 테스트 프레임 워크 테스트를 실행할 수 있도록 하는 플랫폼을 제공 합니다. <> 이미지에도 TESTSIGNING_ON 기능을 포함 해야 합니다. | 아니요 |
| WCOS_POWERSHELL | PowerShell 사용 | 예, 공장 OS에서 |
| WCOS_PNP_RUNTIMEDEVICEINSTALL | 장치를 실행 하 고 개발 모드를 사용 하도록 설정 하는 동안 pnputil을 사용 하 여 Inf를 설치할 수 있습니다. STATESEPARATION_DEVMODE 기능이 필요 합니다. | 예, 공장 OS에서 |
| WCOS_OPENSSH_AUTOSTART | 공장 OS 장치에서 SSH 서버를 자동으로 시작 합니다. | 아니요 |
WindowsCoreProductionFM.xml
| FeatureID | 설명 | 기본적으로 포함됨 |
|---|---|---|
| WCOS_ACCESSIBLITY_NARRATOR | 내레이터 내게 필요한 옵션 기능 | 아니요 |
| WCOS_DEVICEPORTAL | 장치 포털 사용 | 예 |
| WCOS_DEVICEPORTAL_WOW | 장치 포털 사용 | 예 |
| WCOS_DISPLAY_ENHANCEMENT_SERVICE | 표시 향상 서비스 | 아니요 |
| WCOS_DISPLAY_MULTIPLEINTEGRATED_ENABLE | 여러 통합 디스플레이에 대 한 지원을 사용 하도록 설정 합니다. | 아니요 |
| WCOS_DRIVERS_USB_ETHERNET | 일반 USB 이더넷 드라이버 | 아니요 |
| WCOS_EVENTLOG_SERVICE | 이벤트 로그 서비스를 사용 하도록 설정 합니다. 공장 OS 장치에는 이벤트 뷰어 포함 되지 않지만 DiagnosticLog CSP를 사용 하 여 공장 OS 장치에서 진단 정보를 생성 하 고 수집할 수 있습니다. 자세한 내용은 채널 기반 추적 을 참조 하세요. | 예 |
| WCOS_MDM_PROVISIONING | 셀룰러 및 엔터프라이즈 프로 비전 | 아니요 |
| WCOS_CONTAINERS | 컨테이너 지원. Win32 컨테이너에 필요 합니다. | |
| WCOS_APP_WIN32SUPPORT_ARGON | 컨테이너 지원. Win32 컨테이너에 필요 합니다. | |
| WCOS_NET_PROXIMITY_SERVICE | NFC 지원에 필요한 근접 서비스. | |
| 0 개 또는 1 개 선택: | ||
| WCOS_HYPERV_GUEST_UEFI | UEFI 팩터리 OS 가상 머신에 필요한 hyper-v 기능 | 아니요 |
| WCOS_TIMESYNC_MOBILE | 모바일 운영자 인식 자동 시간 관리 | 아니요 |
| WCOS_TIMESYNC_NETWORK | NTP 자동 시간 관리 | 아니요 |
| WCOS_TIMESYNC_NETWORK_WOW | WOW에 대 한 NTP 자동 시간 관리 | 아니요 |
| WCOS_NET_CELLULAR_DATA | 셀룰러 데이터를 사용 합니다. 에는 WCOS_NET_RADIO_MANAGEMENT 필요 하 고 WCOS_MDM_PROVISIONING 기능도 이미지에 포함 되어 있습니다. | 아니요 |
| WCOS_NET_RADIO_MANAGEMENT | 라디오 관리 플랫폼 | 아니요 |
| WCOS_SPEECH_VOICE_AGENT_SUPPORT | Cortana 포함하여 MLA(다중 음성 에이전트)를 지원할 수 있습니다. | 아니요 |