Windows Factory OS
Windows ファクトリ OS は、製造現場とドライバー開発という 2 つのユースケースを対象としています。
- 製造現場の場合、非常に軽量に構成して、高速なブートとテストを実現します。
- 開発の場合、ドライバーを開発および検証してすぐにテストできるさまざまなツールを追加できます。
メリット
- 複数の種類のデバイスで動作するツールのより簡単な構築: ユニバーサル Windows アプリとドライバーがファクトリ OS でサポートされているため、さまざまな新しいデバイスで使用できるアプリやドライバーを作成してテストすることができます。
- デバイスのテストに役立つさまざまなアプリやドライバーを活用: 構成を簡単に変更して、ユニバーサル Windows プラットフォーム標準を満たしていないアプリやドライバーを実行できます。
- 高速なフラッシュとブート: ファクトリ OS には、既定では多くのパッケージやツールが含まれていません。 デバイスはすばやく起動し、テスト環境または製造現場ですぐに動作を開始します。
- より信頼性が高く、特にプレリリース版の Windows 向けに開発: OEM は、開発中の新しい OS 機能に依存しない安定した環境で開発およびテストできます。 これにより、製造テストを妨げる小売機能によるコストのかかる問題を回避できます。
機能
- 認定ストア アプリケーションとユニバーサル Windows ドライバー
- アプリ:
- 自己完結型展開の .NET Core アプリ
- Windows の "アンブレラ" ライブラリを対象とするネイティブ アプリ
- ハードウェアにフル アクセスできるコンテナー内のネイティブ Win32 アプリ
- SSH
- PowerShell Core
- OEM 製造プロセス中にハードウェアの検証と診断のための製造テストとタスクを実行できるファクトリ オーケストレーター
- TAEF のサポート
- 最小限の UWP シェル、UWP アプリ、またはコマンド ライン インターフェイスで起動
言語
次の言語をサポートするファクトリ OS イメージを構築できます。
- ja-JP
- 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 または BSP パッケージをインストールできます。 |
ALLOW_CONNECTEDSTANDBY | コネクト スタンバイ (Always On (常時接続)、モダン スタンバイ) のサポートを有効にします。 |
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 から 170 MB 増加します。 |
WCOS_DEVICEPORTAL | デバイス ポータルを有効にします。 |
WCOS_DEVICEPORTAL_WOW | デバイス ポータルを有効にします。 |
WCOS_POWERSHELLCORE | PowerShell Core を有効にします。 |
FACTORY_ORCHESTRATOR_SERVICE | ファクトリ オーケストレーター サービスを有効にします。 |
STORAGESPACES_LAYOUT | デバイス上の記憶域スペースを有効にします。 デバイスを起動するには、スペースが有効なデバイス レイアウトも提供する必要があります。 |
CAD_CHARGING | Charging Arbitration Driver (CAD) スタックをインストールします。 一部の BSP で必要になる場合があります。 |
UEFI_HARDWARE | UEFI ベースの物理デバイスに追加されます。 |
UEFI_VM | UEFI ベースの仮想マシン (Hyper-V 第 2 世代) に追加されます。 |
利用可能な機能
すべてのファクトリ OS 製品で使用できる機能に加えて、ファクトリ OS では次の機能を使用できます。 これらの機能は、イメージ構成 (OEMInput) ファイルに追加できます。
すべてのファクトリ OS イメージで使用できる機能
次の機能は、すべてのファクトリ OS イメージで使用できます。 これらの機能を追加するために、追加の FM を指定する必要はありません。
太字で示されている機能は、Windows システム キットによって生成される OEMInput.xml ファイルに含まれています。
FeatureID | 説明 |
---|---|
ALLOW_CONNECTEDSTANDBY | コネクト スタンバイ (Always On (常時接続)、モダン スタンバイ) のサポートを有効にします。 |
ENABLE_WOW | AMD64 (x86 WOW) イメージと Arm64 (Arm WOW) イメージの両方に対して WOW を有効にします。ただし、FFU のサイズ/ディスク領域が 160 から 170 MB 増加します。 |
OEM_IMAGE | すべての OEM 製品ビルドに必須であり、ファクトリ ビルドに推奨されます。 完全なカーネル クラッシュ ダンプを有効にします。これらは %DataDrive%\memory.dmp に保存されます。 |
MANUFACTURING_POWER_SCHEME | 電源設定をバランス設定から高パフォーマンス設定に変更します。 この設定は、工場のスループットと信頼性を高めるために、パフォーマンスを優先して調整されます。 注: どちらの設定でも、ファクトリ OS ではディスプレイのタイムアウトが無効になります。 |
TESTSIGNING_ON | Microsoft 製品と OEM のテスト ルート証明書をイメージに含め、BCD テスト署名を有効にすることによって、テスト署名されたコンテンツを展開できます。 |
FACTORY_ORCHESTRATOR_SERVICE | ファクトリ オーケストレーター サービスを有効にします。 |
状態の分割 - "次のいずれかを選択します (必須):" | |
● STATESEPARATION_ON | 状態の分割を有効にします。 MainOS ファイル、SYSTEM ハイブ、SOFTWARE ハイブは、サービス操作によって変更されるか、大容量記憶装置モードでマウントされたイメージ上で変更されない限り、読み取り専用です。 |
● STATESEPARATION_DEVMODE | 状態の分割を監視しますが、状態の分割規則は適用されません。 |
デバッグ - "何も選択しないか、次のいずれかを選択します:" | |
● 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 アプリを実行することはできません。 |
● SHELL_BOOT | Factory Composer アプリを起動するようにイメージを構成します。 |
フォント サイズ - "何も選択しないか、次のいずれかを選択します:" | コンソール モードでは、次のどのオプションも選択されていない場合、既定のフォント サイズは 20 です。 |
● FONTSIZE_15 | コンソール モードのフォント サイズを 15 に設定します。 VM およびデスクトップ HW イメージに推奨されます。 |
● FONTSIZE_30 | コンソール モードのフォント サイズを 30 に設定します。 小さいフォーム ファクターイメージに推奨されます。 |
デバイス/ファームウェア - "次のいずれかを選択します (必須):" | |
● UEFI_HARDWARE | UEFI ベースの物理デバイスに使用します。 |
● UEFI_VM | UEFI ベースの仮想マシン (Hyper-V 第 2 世代) に使用します。 |
CAD_CHARGING | Charging Arbitration Driver (CAD) スタックをインストールします。 一部の BSP で必要になる場合があります。 |
SERVICING_STACK | オフライン サービスを使用して、デバイスを再フラッシュする必要なく、新規または更新された 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 から実行できます。 Container\FactoryOrchestrator サブディレクトリ内の OEMInput で設定された <TestContent> ディレクトリに、ファクトリ オーケストレーター サービスのバイナリが存在する必要があります。 |
SETTINGS_APP | 設定アプリをイメージに追加します。 基本的なハードウェア機能のみがサポートされます。 |
WCOS_APP_CENTENNIALRUNTIME | パッケージ化された Win32 アプリのサポート。 |
MANUFACTURING_MODE_EMPTY_PROFILE | ファクトリ OS 上で実行されているドライバーとアプリで、フォークされた動作に ExIsManufacturingModeEnabled() API と GetOsManufacturingMode() API を使用できます。この機能が含まれている場合、どちらの API も true を返すためです。 |
GenericDeviceFM.xml
GenericDeviceFM には、ターゲット ハードウェアに関係なく、ブート サポートを有効にする機能が含まれています。
特徴量 | 説明 |
---|---|
UEFI_HARDWARE | UEFI ベースの物理デバイスに使用します。 |
UEFI_VM | UEFI ベースの仮想マシン (Hyper-V 第 2 世代) に使用します。 |
STORAGESPACES_LAYOUT | デバイス上の記憶域スペースを有効にします。 デバイスを起動するには、スペースが有効なデバイス レイアウトも提供する必要があります。 |
WindowsCoreNonProduction.xml
次の機能は、開発およびテストでのみ使用することを目的としています。
FeatureID | 説明 | 既定で含まれる |
---|---|---|
WCOS_TEST_COMPONENTS | テストをサポートするために必要なコンポーネントをインストールします。 | はい |
"何も選択しないか、次のいずれかを選択します:" | ||
OFFLINE_CRASH_DUMP_SUPPORTED | いいえ | |
DISABLE_SCREEN_TIMEOUT | スクリーン タイムアウトを無効にします。 | いいえ |
DEBUGGER_IGNORE_UM_EXCEPTIONS | ユーザーモードの例外を無視するようにデバッガーに指示します。 | いいえ |
"何も選択しないか、次のいずれかを選択します:" | ||
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 サポートに必要な近接通信サービス。 | |
"何も選択しないか、次のいずれかを選択します:" | ||
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) のサポートを有効にします。 | いいえ |