Windows S モードの展開ラボ
S モードの展開を作成するには、まず通常ベースの Windows デスクトップ エディション イメージを用意します。 S モードは、マウントされた Windows イメージに無人セットアップ ファイルを適用することによって適用されます。 S モードの PC を取り扱う場合、その製造プロセスは、他のバージョンの Windows と比べて少し異なるものとなります。 展開を計画する際には、ドライバーとアプリが S モードでサポートされるかどうかを確認する必要があります。
このラボでは、Windows デスクトップ イメージを S モードでの展開用に構成するプロセスについて説明します。 イメージをカスタマイズし、無人セットアップを使用して S モードを設定し、WinPE で製造レジストリ キーを追加した後、監査モードでレジストリ キーを削除します。 その後、回復を構成し、イメージを出荷用に準備します。
Note
Windows 10 S イメージを構築する場合、S モードの Windows 10 と Windows 10 S の違いはコール アウトで示されます。
では、始めましょう。
必要なツールの入手
展開用のイメージの作成を開始するには、次のものが必要です。
- Windows 10イメージ
- S モードの Windows 10 の場合は、Windows Home または Windows Professional イメージを使用します または
- Windows 10 S の場合は、Windows 10 S イメージを使用します
- Windows 10 (バージョン 1803 以降) を実行しているテクニシャン PC
- イメージを展開できる参照 PC
- テクニシャン PC にインストールされた最新バージョンの ADK と WinPE アドオン
- フォーマットできる USB キー
- 展開スクリプト
- ドライバーや言語パックなどのカスタマイズ
- Microsoft Update カタログからの最新の一般配布リリース更新
- Windows 10イメージ
- S モードの Windows 11 の場合は、Windows Home イメージを使用します
- Windows 10 (バージョン 1803 以降) を実行しているテクニシャン PC
- イメージを展開できる参照 PC
- テクニシャン PC にインストールされた最新バージョンの ADK と WinPE アドオン
- フォーマットできる USB キー
- 展開スクリプト
- ドライバーや言語パックなどのカスタマイズ
- Microsoft Update カタログからの最新の一般配布リリース更新
USB キーをフォーマットする
USB ドライブを準備するには、個別の FAT32 および NTFS パーティションを作成します。 次の手順では、USB ドライブに 2 つのパーティションが作成されます。1 つは、2 GB の FAT32 パーティションです。もう 1 つは、ドライブ上の残りの空き領域を使用する NTFS パーティションです。 USB ドライブに、2 GB の WinPE パーティション用の十分な空き領域があることと、NTFS パーティションに大きなイメージを保持できるだけの空き領域があることを確認してください。
テクニシャン PC で、管理者として「展開およびイメージング ツール環境」を起動します。
- [スタート] ボタンをクリックし、「展開およびイメージング ツール環境」と入力します。 [展開およびイメージング ツール環境] を右クリックし、[管理者として実行] をクリックします。
diskpart を開きます。
diskpart
USB キーのディスク番号を選択し、
clean
コマンドを実行します。 このコマンドを実行すると、USB キーのデータにアクセスできなくなります。 保持する必要があるデータはバックアップしておくようにしてください。list disk select <disk number> clean
ここで、<disk number> は USB ドライブの番号です
WinPE 用の FAT32 パーティションを作成し、"Windows PE" というラベルを付けて、それをアクティブとしてマークします。
create partition primary size=2000 format quick fs=fat32 label="Windows PE" assign letter=P active
イメージとカスタマイズを格納する NTFS パーティションを作成します。
create partition primary format fs=ntfs quick label="Data" assign letter=T list vol exit
USB キーに起動可能な WinPE パーティションを作成する
テクニシャン PC で、次の手順を実行します。
管理者として、[展開およびイメージング ツール環境] を開きます。
基本WinPEファイルを新しいフォルダーにコピーします。
copype amd64 C:\winpe_amd64
WinPE ファイルを FAT32 パーティションにコピーします。
MakeWinPEMedia /UFD C:\winpe_amd64 P:
メッセージが表示されたら、 Y キーを押して、ドライブをフォーマットし、WinPE をインストールします。
WinPE ドライブの作成方法について詳しくは、「WinPE: USB 起動可能ドライブを作成する」を参照してください。
Data USB パーティションを作成する
エクスプローラーで、展開スクリプトの zip ファイルを開き、scripts フォルダーを USB ドライブの Data パーティションにコピーします。
[展開およびイメージング ツール環境] から copydandi.cmd を使用して、展開およびイメージング ツールを USB ドライブにコピーします
copydandi amd64 T:\deploymenttools
監査モード用に必要なその他のカスタマイズをコピーします。
install.wim と winre.wim をマウントする
Windows イメージのマウントは、前に WinPE イメージをマウントするために使用したプロセスと同じです。 Windowsイメージ (install.wim) をマウントすると、回復シナリオをサポートするイメージである WinRe.wim という 2 番目のイメージにアクセスできるようになります。 install.wim と WinRE.wim を同時に更新することで、2 つのイメージを同期させ、期待通りの回復を実現することができます。
エクスプローラーで Windows インストール メディア ISO をダブルクリックしてマウントします。
一時フォルダー (c:\temp) を作成し、D:\Sources (D: はマウントされたイメージのドライブ文字) から install.wim を一時フォルダーにコピーします。
md c:\temp copy d:\sources\install.wim c:\temp
管理者として、[展開およびイメージング ツール環境] を開きます。
イメージをマウントするためのフォルダーを作成し、install.wim をマウントします。
Md C:\mount\windows Dism /Mount-Wim /WimFile:C:\temp\install.wim /index:1 /MountDir:C:\mount\windows
マウントしたイメージから Windows RE イメージ ファイル用のマウント フォルダーを作成し、WinRE イメージをマウントします。
Md c:\mount\winre Dism /Mount-Wim /WimFile:C:\mount\windows\Windows\System32\Recovery\winre.wim /index:1 /MountDir:C:\mount\winre
トラブルシューティング: 指定されたディレクトリで winre.wim が見つからない場合は、次のコマンドを使用して、このファイルを表示します。
attrib -h -a -s C:\mount\windows\Windows\System32\Recovery\winre.wim
トラブルシューティング: イメージのマウントが失敗する場合は、テクニシャン コンピューター上の古いバージョンではなく、Windows ADK によってインストールされたバージョンの DISM を使用していることを確認してください。 User\Documents フォルダーなど、保護されているフォルダーにイメージをマウントしないでください。 DISM プロセスが中断される場合は、ネットワーク接続を一時的に解除し、ウイルス対策を無効にすることを検討してください。
Windows イメージのマウントについて詳しくは、DISM を使用した Windows イメージのマウントと変更に関するページをご覧ください。
WinRE のカスタマイズについて詳しくは、「Windows RE のカスタマイズ」を参照してください。
カスタマイズを有効化する
S モードの有効化
Note
Windows 10 S メディアを使用して開始する場合は、このセクションは適用されません。 Windows 10 S メディアを使用して開始する場合は、次のセクションにスキップしてください。
イメージをカスタマイズする前に、無人セットアップのオフライン サービス パスを使用して、Windows PC を S モードに設定します。
Windows SIM を使用して、無人セットアップ ファイルを作成します。
SkuPolicyRequired
を offlineServicing パスに追加しますSkuPolicyRequired
を1
に設定するファイルを unattend.xml として保存します
unattend.xml を、マウントされた Windows イメージにコピーします。
MkDir c:\mount\windows\Windows\Panther Copy unattend.xml C:\mount\windows\Windows\Panther\unattend.xml
マウントしたイメージに無人セットアップ ファイルを適用します。
DISM /Image=C:\mount\windows /Apply-Unattend=C:\mount\windows\Windows\Panther\unattend.xml
PC が起動する時、PC は CI ポリシーが適用された S モードで起動します。 Windows イメージをカスタマイズする必要がある場合は、製造レジストリ キーを有効にする必要があります。 これにより、監査モードで変更を加えられるようになります。
製造レジストリ キーを追加する
製造モードの有効化は、S モードの Windows 10 と Windows 10 S を操作する場合に必要な手順です。製造プロセス中にカスタマイズを有効にするには、レジストリ キーを追加して、監査モードでの起動時に署名されていないコードを実行できるようにする必要があります。 これは、PC の出荷準備ができたときにイメージを作成およびテストするのに役立ちます。
マウントされたイメージにカスタマイズ レジストリ キーを追加するには、マウントされたイメージのシステム レジストリ ハイブを読み込んだ後、キーを追加します。 その後、回復パッケージのキャプチャ時にレジストリ キーを除外するように ScanState を構成して、リセットや回復のシナリオでレジストリ キーが復元されないようにします。
重要
レジストリが置かれた状態で PC を出荷しないようにしてください。 デバイスを出荷する前に、レジストリ キーを削除してください。
マウントされたイメージからテクニシャン PC の regedit に、システム レジストリ ハイブをロードします。 HKLM\Windows10S という一時的なハイブを使用します。
reg load HKLM\Windows10S C:\Mount\Windows\Windows\System32\Config\System
マウントしたレジストリ ハイブに、次のキーを追加します。
reg add HKLM\Windows10S\ControlSet001\Control\CI\Policy /v ManufacturingMode /t REG_DWORD /d 1
テクニシャン PC からレジストリ ハイブをアンロードします。
reg unload HKLM\Windows10S
これで、マウントされたイメージに製造キーが追加され、監査モードで変更を加えられるようになりました。 これは、PC を出荷する前に削除する必要があります。
Windows 10 S の製造レジストリ キーについて詳しくは、Windows 10 S の製造モードに関する記事を参照してください。
exclusion.xml を作成する
次に、回復用の設定をキャプチャする際にカスタマイズ レジストリ キーの除外を自動化するためのファイルを作成します。 これにより、回復プロセス中に PC でカスタマイズ レジストリ キーが復元されないようになります。
テキスト エディターで .xml ファイルを作成します。
次のコードをコピーして貼り付けます。 これで、作成される回復パッケージでレジストリ キーをキャプチャしないよう ScanState に指定されます。
<?xml version="1.0" encoding="UTF-8"?> <migration urlid="https://www.microsoft.com/migration/1.0/migxmlext/ExcludeManufacturingMode"> <component type="System"> <displayName>Exclude manufacturing regkey</displayName> <role role="Settings"> <rules context="System"> <unconditionalExclude> <objectSet> <pattern type="Registry">HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy [ManufacturingMode]</pattern> </objectSet> </unconditionalExclude> </rules> </role> </component> </migration>
ファイルを exclusion.xml として保存します。
この構成ファイルは、このラボの後の方で、回復用の ScanState パッケージをキャプチャする際に使用します。
ScanState パッケージからのファイルと設定の除外については、「ファイルと設定の除外」で説明されてます。
ドライバーを追加する
他のバージョンの Windows と同様、Windows 10 S イメージにドライバーを追加することで、ユーザーが Windows を初めて起動した際に、ハードウェアがセットアップされ、動作するようになります。 Windows 10 S に追加するドライバーが Windows 10 S と互換性があり、ブロックされないことを確認してください。
.inf ファイルから、1 つのドライバーを Windows および WinRE イメージに追加します。 この例では、media1 という名前のドライバーを使用しています。
Dism /Add-Driver /Image:"C:\mount\windows" /Driver:"C:\Drivers\PnP.Media.V1\media1.inf" Dism /Add-Driver /Image:"C:\mount\winre" /Driver:"C:\Drivers\PnP.Media.V1\media1.inf"
ここで、"C:\Drivers\PnP.Media.V1\media1.inf" は、追加するドライバーの .inf ファイルです。
Dism /Add-Driver /Image:"C:\mount\windows" /Driver:c:\drivers /Recurse
ドライバーがイメージに含まれていることを確認します。
Dism /Get-Drivers /Image:"C:\mount\windows" Dism /Get-Drivers /Image:"C:\mount\winre"
表示されるパッケージの一覧を調べ、ドライバーが一覧に含まれていることを確認します。
オフラインの Windows イメージにドライバーを追加する方法については、「オフライン Windows イメージへのドライバーの追加および削除」を参照してください。
言語を追加する (省略可能)
このセクションでは、マウントされた Windows イメージと WinRE イメージに、ドイツ語 (de-de) の言語パックを追加します。
ドイツ語の言語パッケージを Windows イメージに追加します。
64 ビット ISO の言語パックを使用します。
Dism /Add-Package /Image:C:\mount\windows /PackagePath:"E:\x64\langpacks\Microsoft-Windows-Client-Language-Pack_x64_de-de.cab "
ここで、E: はマウントされた言語パック ISO のドライブ文字です。
ドイツ語の言語パックを Windows RE に追加します。 言語パックは ADK の一部として入手できます。これにより、回復シナリオ時にユーザーの言語が利用可能になります。
Dism /image:C:\mount\winre /add-package /packagepath:"E:\Windows Preinstallation Environment\x64\WinPE_OCs\de-de\lp.cab"
このセクションでは、マウントされた Windows イメージと WinRE イメージに、ドイツ語 (de-de) の言語パックを追加します。
ドイツ語の言語パッケージを Windows イメージに追加します。
言語とオプション機能 ISO の言語パックを使用します。
Dism /Add-Package /Image:C:\mount\windows /PackagePath:"E:\x64\langpacks\Microsoft-Windows-Client-Language-Pack_x64_de-de.cab "
ここで、E: はマウントされた言語とオプション機能 ISO のドライブ文字です。
ドイツ語の言語パックを Windows RE に追加します。 言語パックは ADK の一部として入手できます。これにより、回復シナリオ時にユーザーの言語が利用可能になります。
Dism /image:C:\mount\winre /add-package /packagepath:"E:\Windows Preinstallation Environment\x64\WinPE_OCs\de-de\lp.cab"
詳しくは、「DISM を使用したオフラインでの言語パックの追加および削除」を参照してください。
最新の更新プログラムをダウンロードする
最新のバグ修正と OS の変更を含んだ、最新の更新プログラム パッケージをインストールします。
[重要] 更新プログラム パッケージは、言語パック、AppX パッケージ、およびオンデマンド機能をインストールした後にインストールしてください。 これらを追加する前に GDR をインストールした場合は、GDR を再インストールする必要があります。
Microsoft Update カタログから最新の更新プログラムをダウンロードします。
DISM /add パッケージを使用して、マウントされたイメージに GDR を追加します。次に例を示します。
dism /image:"C:\mount\windows" /add-package /packagepath:C:\temp\windows10.0-kb4020102-x64_9d406340d67caa80a55bc056e50cf87a2e7647ce.msu dism /image:"C:\mount\winre" /add-package /packagepath:C:\temp\windows10.0-kb4020102-x64_9d406340d67caa80a55bc056e50cf87a2e7647ce.msu
DISM を使用してイメージをクリーンアップします。
DISM /Cleanup-Image /Image=C:\mount\winre /StartComponentCleanup /ScratchDir:C:\Temp
Windows イメージにパッケージを追加する方法について、「DISM を使ったオフラインでのパッケージの追加または削除」を参照してください。
WinRE イメージのマウントを解除してコピーを作成する
オフラインのカスタマイズがすべて完了したら、イメージのマウントを解除できます。
イメージのファイルにアクセスしているすべてのアプリケーションを閉じます。
変更をコミットし、WinRE イメージと Windows イメージのマウントを解除します。
Dism /Unmount-Image /MountDir:"C:\mount\winre" /Commit Dism /Export-Image /SourceImageFile:c:\mount\windows\windows\system32\recovery\winre.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim del c:\mount\windows\windows\system32\recovery\winre.wim copy c:\mount\winre-optimized.wim c:\mount\windows\windows\system32\recovery\winre.wim
install.wim のマウントを解除する
Dism /Unmount-Image /MountDir:"C:\mount\windows" /Commit
install.wim と winre.wim を USB ドライブにコピーする
copy c:\temp\install.wim t:\
copy c:\temp\winre-optimized.wim t:\
参照 PC にイメージを展開する
参照 PC で WinPE を起動します。
展開スクリプトを使用して、変更した install.wim イメージを適用します。
T:\Deployment\walkthrough-deploy.bat t:\install.wim
監査モードで起動し、変更を加える
- 参照 PC がまだ起動していない場合は、参照 PC を起動します。
- デバイスが OOBE で起動したら、Ctrl + Shift + F3 キーを押して監査モードに入ります。
- PC が監査モードで再起動します。
- PC に変更を加えます。 「S モード イメージの計画」にある表を参照して、どのカスタマイズが監査モードで使用できるかを確認します。
監査モードの詳細については、「監査モードの概要」を参照してください。 S モードでの監査モードの動作について詳しくは、「Windows S モードの製造環境」の「監査モード」を参照してください。
監査モードの変更を回復ツール用にキャプチャする
監査モードでイメージをカスタマイズしたら、ScanState を使用してパッケージをキャプチャし、カスタマイズを回復シナリオで利用できるようにすることができます。
USB キーにコピーした ScanState を使用して、カスタマイズをプロビジョニング パッケージ内にキャプチャします。 前の手順で作成した exclusion.xml ファイルを使用して、回復時に製造レジストリ キーが復元されないようにします。
md c:\Recovery\Customizations T:\deploymenttools\scanstate /config:T:\deploymenttools\Config_SettingsOnly.xml /o /v:13 /ppkg c:\recovery\customizations\usmt.ppkg /i:exclusion.xml /l:C:\Scanstate.log
キャプチャが正常に完了したら、ScanState ログファイルを削除します:
del c:\scanstate.log
。
製造レジストリ キーを削除する
監査モードでの PC のカスタマイズが完了したら、署名されていないコードを S モードで実行できるようにするための製造レジストリ キーを削除する必要があります。
レジストリ キーを削除するには、参照 PC の監査モードでの起動時に、管理者として次のコマンドを実行します。
reg delete HKLM\system\ControlSet001\Control\CI\Policy /v ManufacturingMode
キャプチャしたイメージに WinRE を戻す
WinRE イメージが最終的な展開用にキャプチャされるようにするには、エクスポートした WinRE-optimized.wim イメージを Windows 10 S イメージにコピーします。
xcopy t:\winre-optimized.wim c:\windows\system32\recovery\winre.wim
sysprep を実行して PC をシャットダウンする
コマンド プロンプトを開きます。
sysprep を実行して PC を再シールし、キャプチャの準備を整えます。
c:\windows\system32\sysprep\sysprep /generalize /oobe /shutdown
イメージのキャプチャ
参照 PC を WinPE で起動します。
diskpart で Windows パーティションのドライブ文字を確認します。
diskpart list volume exit
DISM を使用して Windows パーティションをキャプチャします。
dism.exe /capture-image /ImageFile:"T:\Images\Windows10S.wim" /capturedir:C:\ /Name:"Windows10S"
C:\ は、Windows パーティションです。
詳細については、「Windows、システム、復旧パーティションのキャプチャと適用」を参照してください。
イメージを展開し、カスタマイズと回復を検証する
イメージを適用する
参照 PC を WinPE で起動します。
S モード イメージ (Windows10S.wim) を PC に適用します。 これにより、既存の Windows インストールが上書きされます。
T: cd Deployment T:\Deployment\applyimage.bat T:\images\Windows10S.wim
カスタマイズを検証する
- 参照 PC を起動します。 ここで初めて、新しい Windows イメージで PC を起動します。
- 追加の言語をインストールした場合は、それらのプレインストール済み言語が表示され、OOBE 中にユーザーがそれらを選択できることを確認します。
- OOBE が完了したら、デスクトップ カスタマイズが正しく行われたことを検証します。
回復を検証する
回復が想定どおりに動作することを確認するには、次の検証タスクを実行します。
- 更新の回復を実行し、ユーザー ファイルが保持され、工場出荷時のデスクトップのカスタマイズが復元されるのを確認します。
- リセットの回復を実行し、ユーザー ファイルとプロファイルが削除され、工場出荷時のデスクトップのカスタマイズが復元されるのを確認します。
- 指定されたポリシー ファイルを使用して、シミュレートされた RS3 強制レベルで機能拡張スクリプトを検証します。
- ScanState を使用して回復パッケージを作成した場合は、パッケージのキャプチャ時に製造キーが除外されたことを確認します。
PC を出荷する
これでイメージが用意できたので、S モードの PC を作成して出荷できる状態になりました。 製造レジストリ キーが削除され、出荷する PC でセキュア ブートが有効になっていることを確認してください。