Windows 팩터리 OS
Windows 팩터리 OS는 공장 현장과 드라이버 개발의 두 가지 사용 사례를 대상으로 합니다.
- 공장 현장의 경우 빠른 부팅 및 테스트를 위해 매우 가볍게 구성할 수 있습니다.
- 개발을 위해 드라이버를 개발 및 유효성 검사하고 즉시 테스트할 수 있는 다양한 도구를 추가할 수 있습니다.
이점
- 다양한 디바이스 유형에서 작동하는 도구를 더 쉽게 구축: 팩터리 OS에서 유니버설 Windows 앱 및 드라이버가 지원되므로 다양한 새 디바이스에서 사용할 수 있는 앱과 드라이버를 만들고 테스트할 수 있습니다.
- 디바이스 테스트에 도움이 되는 다양한 앱 및 드라이버 허용: 빠른 구성 변경으로 유니버설 Windows 플랫폼 표준을 충족하지 않는 앱과 드라이버를 실행할 수 있습니다.
- 빠른 플래시 및 부팅: 팩터리 OS에는 기본적으로 많은 패키지나 도구가 포함되어 있지 않습니다. 디바이스가 빠르게 부팅되고 테스트 환경이나 공장 현장에서 즉시 작업을 시작할 수 있습니다.
- 특히 시험판 버전의 Windows용으로 개발하는 동안 더 안정적: OEM은 아직 개발 중인 새로운 OS 기능과 독립적인 안정적인 환경에서 개발 및 테스트할 수 있습니다. 이렇게 하면 제조 테스트를 방해하는 소매 기능으로 인해 비용이 많이 드는 문제를 피할 수 있습니다.
기능
- Certified Store 애플리케이션 및 유니버설 Windows 드라이버
- 앱:
- 자체 포함 배포가 포함된 .NET Core 앱
- Windows "umbrella" 라이브러리를 대상으로 하는 기본 앱
- 전체 하드웨어 액세스 권한이 있는 컨테이너 내부의 기본 Win32 앱
- SSH
- Powershell Core
- Factory Orchestrator를 사용하면 OEM 제조 프로세스 중에 하드웨어 유효성 검사 및 진단을 위한 제조 테스트 및 작업을 실행할 수 있습니다.
- TAEF 지원
- 최소 UWP 셸, UWP, 앱 또는 명령줄 인터페이스로 부팅합니다.
언어
팩터리 OS 이미지는 다음에 대한 언어 지원으로 구축할 수 있습니다.
- en-US
- zh-CN
- zh-TW
언어를 추가하는 방법은 팩터리 OS에 언어 추가를 참조하세요.
팩터리 OS 제품 구성
팩터리 OS는 여러 다른 구성에서 사용할 수 있습니다. 이러한 구성은 팩터리 OS를 기본으로 사용하고 추가 기능을 추가합니다.
prepwskworkspace
를 실행하여 작업 영역을 만들기할 때 -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 시스템 키트를 사용하여 팩터리 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 또는 업데이트된 OS 또는 BSP 패키지를 설치할 수 있습니다. |
ALLOW_CONNECTEDSTANDBY | 연결된 대기 상태에 대한 지원을 사용하도록 설정합니다(항상 연결됨, 최신 대기). |
MICROSOFT_EDGE | 팩터리 OS에 Microsoft Edge(UWP)를 추가합니다. |
DEVICEPORTAL_OPTIONAL_MONITORCONFIG | 디바이스 포털 모니터 구성 기능 |
OEM_IMAGE | 공장 빌드에 사용하는 것이 좋습니다.
C:\data\memory.dmp 에 저장되는 전체 커널 크래시 덤프를 사용하도록 설정합니다. |
SHELL_BOOT | Factory Composer 앱으로 부팅하도록 이미지를 구성합니다. |
MANUFACTURING_TOOLS |
%WINDIR%\System32\manufacturing\mfgtest 아래에 몇 가지 테스트 도구를 추가합니다. |
STATESEPARATION_ON | 상태 분리를 사용합니다. MainOS 파일, SYSTEM 하이브 및 SOFTWARE 하이브는 서비스 작업에 의해 수정되거나 대용량 스토리지 모드로 탑재된 이미지에서 수정되지 않는 한 읽기 전용입니다. |
WCOS_TESTSIGNING_ON | 테스트 서명 사용 |
ENABLE_WOW | AMD64(x86 WOW) 및 Arm64(Arm WOW) 이미지 모두에 대해 WOW를 사용합니다(FFU 크기/디스크 공간이 160~170MB 증가). |
WCOS_DEVICEPORTAL | 디바이스 포털 사용 |
WCOS_DEVICEPORTAL_WOW | 디바이스 포털 사용 |
WCOS_POWERSHELLCORE | PowerShell Core 사용 |
FACTORY_ORCHESTRATOR_SERVICE | Factory Orchestrator 서비스 사용 |
STORAGESPACES_LAYOUT | 디바이스의 스토리지 공간을 사용합니다. 디바이스를 부팅하려면 공백 사용 디바이스 레이아웃도 제공해야 합니다. |
CAD_CHARGING | CAD(Charging Arbitration Driver) 스택을 설치합니다. 일부 BSP에 필요할 수 있습니다. |
UEFI_HARDWARE | UEFI 기반 실제 디바이스에 추가되었습니다. |
UEFI_VM | UEFI 기반 가상 머신(Hyper-V Generation 2)에 추가되었습니다. |
사용 가능한 기능
모든 팩터리 OS 제품에서 사용할 수 있는 기능 외에도 다음과 같은 기능을 팩터리 OS에서 사용할 수 있습니다. 이러한 기능은 이미지 구성(OEMInput) 파일에 추가할 수 있습니다.
모든 팩터리 OS 이미지에서 사용 가능한 기능
다음 기능은 모든 팩터리 OS 이미지에서 사용할 수 있습니다. 이러한 기능을 추가하기 위해 추가 FM을 지정할 필요가 없습니다.
굵게 표시된 기능은 Windows 시스템 키트에서 생성된 OEMInput.xml 파일에 포함되어 있습니다.
FeatureID | 설명 |
---|---|
ALLOW_CONNECTEDSTANDBY | 연결된 대기 상태에 대한 지원을 사용하도록 설정합니다(항상 연결됨, 최신 대기). |
ENABLE_WOW | AMD64(x86 WOW) 및 Arm64(Arm WOW) 이미지 모두에 대해 WOW를 사용합니다(FFU 크기/디스크 공간이 160~170MB 증가). |
OEM_IMAGE | 모든 OEM 소매 빌드에 필요하며 공장 빌드에 사용하는 것이 좋습니다.
%DataDrive%\memory.dmp 에 저장되는 전체 커널 크래시 덤프를 사용하도록 설정합니다. |
MANUFACTURING_POWER_SCHEME | 전원 구성표를 균형에서 고성능 구성표로 변경합니다. 이 체계는 공장 처리량과 안정성을 높이기 위해 성능에 맞게 조정됩니다. 참고: 어느 방식이든 팩터리 OS 디스플레이 시간 초과는 사용하지 않도록 설정되어 있습니다. |
TESTSIGNING_ON | 이미지에 Microsoft 제품 및 OEM 테스트 루트 인증서를 포함하고 BCD 테스트 서명을 설정하여 테스트 서명된 콘텐츠를 배포할 수 있습니다. |
FACTORY_ORCHESTRATOR_SERVICE | Factory Orchestrator 서비스 사용 |
상태 구분 - 1 선택(필수): | |
● STATESEPARATION_ON | 상태 분리를 사용합니다. MainOS 파일, SYSTEM 하이브 및 SOFTWARE 하이브는 서비스 작업에 의해 수정되거나 대용량 스토리지 모드로 탑재된 이미지에서 수정되지 않는 한 읽기 전용입니다. |
● 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 |
부팅 환경 - 1 선택(필수): | |
● CONSOLE_BOOT | 콘솔 모드로 부팅하도록 이미지를 구성합니다. 이 옵션을 사용하도록 설정하면 UWP 앱을 실행할 수 없습니다. |
● POWERSHELL_BOOT | PowerShell Core 환경으로 부팅하도록 이미지를 구성합니다. 이 옵션을 사용하도록 설정하면 UWP 앱을 실행할 수 없습니다. |
● SHELL_BOOT | Factory Composer 앱으로 부팅하도록 이미지를 구성합니다. |
글꼴 크기 - 0 또는 1 선택: | 콘솔 모드의 경우 아래 옵션 중 아무 것도 선택하지 않은 경우 기본 글꼴 크기는 20입니다. |
● FONTSIZE_15 | 콘솔 모드의 경우 글꼴 크기를 15로 설정합니다. VM 및 데스크톱 HW 이미지에 권장됩니다. |
● FONTSIZE_30 | 콘솔 모드의 경우 글꼴 크기를 30으로 설정합니다. 소형 폼 팩터 이미지에 사용하는 것이 좋습니다. |
디바이스/펌웨어 - 1 선택(필수): | |
● UEFI_HARDWARE | UEFI 기반 실제 디바이스에 사용합니다. |
● UEFI_VM | UEFI 기반 가상 머신(Hyper-V 2세대)에 사용합니다. |
CAD_CHARGING | CAD(Charging Arbitration Driver) 스택을 설치합니다. 일부 BSP에 필요할 수 있습니다. |
SERVICING_STACK | 오프라인 설치를 통해 디바이스를 다시 플래시할 필요 없이 새 OS 또는 업데이트된 OS 또는 BSP 패키지를 설치할 수 있습니다. |
DEVICEPORTAL_OPTIONAL_MONITORCONFIG | 디바이스 포털 모니터 구성 기능 |
MANUFACTURING_TOOLS |
%WINDIR%\System32\manufacturing\mfgtest 아래에 몇 가지 테스트 도구를 추가합니다. |
MICROSOFT_EDGE | 팩터리 OS에 Microsoft Edge(UWP)를 추가합니다. |
FACTORY_ORCHESTRATOR_SERVICE_IN_TESTCONTENT | %DataDrive%\TestContent\Container\FactoryOrchestrator에서 실행되는 자체 Factory Orchestrator 빌드를 사용할 수 있습니다. Factory Orchestrator 서비스 이진 파일은 Container\FactoryOrchestrator 하위 디렉터리의 OEMInput에 설정된 <TestContent> 디렉터리에 있어야 합니다. |
SETTINGS_APP | 이미지에 설정 앱을 추가합니다. 기본 하드웨어 기능만 지원됩니다. |
WCOS_APP_CENTENNIALRUNTIME | 패키지된 Win32 앱 지원. |
MANUFACTURING_MODE_EMPTY_PROFILE | 드라이버와 앱이 팩터리 OS에서 실행할 때 분기 동작에 대해 ExIsManufacturingModeEnabled() 및 GetOsManufacturingMode() API를 사용할 수 있도록 합니다. 이 기능이 포함되면 둘 다 true 을 반환하기 때문입니다. |
GenericDeviceFM.xml
GenericDeviceFM에는 대상 하드웨어에 관계없이 부팅 지원을 가능하게 하는 기능이 포함되어 있습니다.
기능 | 설명 |
---|---|
UEFI_HARDWARE | UEFI 기반 실제 디바이스에 사용합니다. |
UEFI_VM | UEFI 기반 가상 머신(Hyper-V 2세대)에 사용합니다. |
STORAGESPACES_LAYOUT | 디바이스의 스토리지 공간을 사용합니다. 디바이스를 부팅하려면 공백 사용 디바이스 레이아웃도 제공해야 합니다. |
WindowsCoreNonProduction.xml
다음 기능은 개발 및 테스트 전용입니다.
FeatureID | 설명 | 기본적으로 포함됨 |
---|---|---|
WCOS_TEST_COMPONENTS | 테스트를 지원하는 데 필요한 구성 요소를 설치합니다. | Yes |
0 또는 1 선택: | ||
OFFLINE_CRASH_DUMP_SUPPORTED | 예 | |
DISABLE_SCREEN_TIMEOUT | 화면 시간 초과를 사용하지 않습니다. | 예 |
DEBUGGER_IGNORE_UM_EXCEPTIONS | 디버거가 사용자 모드 예외를 무시하도록 지정 | 예 |
0 또는 1 선택: | ||
WCOS_TEST_GPIOACCESS | GPIO에 대한 테스트 서명 사용 | 예 |
WCOS_TESTSIGNING_ON | 테스트 서명을 사용합니다. | Yes |
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 | 디바이스 포털 사용 | Yes |
WCOS_DEVICEPORTAL_WOW | 디바이스 포털 사용 | Yes |
WCOS_DISPLAY_ENHANCEMENT_SERVICE | 디스플레이 향상 서비스 | 예 |
WCOS_DISPLAY_MULTIPLEINTEGRATED_ENABLE | 다중 통합 디스플레이 지원 가능 | 예 |
WCOS_DRIVERS_USB_ETHERNET | 일반적인 USB 이더넷 드라이버 | 예 |
WCOS_EVENTLOG_SERVICE | 이벤트 로그 서비스를 사용하도록 설정합니다. 팩터리 OS 디바이스에는 이벤트 뷰어가 포함되어 있지 않지만 DiagnosticLog CSP를 사용하여 팩터리 OS 디바이스에서 진단 정보를 생성하고 수집할 수 있습니다. 자세한 내용은 채널 기반 추적을 참조하세요. | Yes |
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를 포함한 MVA(다중 음성 에이전트)를 지원합니다. | 예 |