はじめに
OOBEとは「Out-Of-Box Experience」の略で、初回にPCの電源を入れた後に表示される、
言語と地域やネットワーク設定を行う画面のことを言います。
PCを購入したことがある人は誰しも一度は経験したことがあるでしょう。
そんなOOBEは1台だけであれば何ら問題はありませんが、情シスなど、
複数のPCをキッティングする人にとっては毎回鬱陶しい画面です。
なおかつ、複数台同時に作業していると抜けや漏れが発生しやすくなり、
差異が生まれてしまう可能性もある厄介なもの。
そういった問題を解決してくれるのが、タイトルにもある「応答ファイル」になります。
本記事では、OOBEを完全にスキップするために必要な応答ファイルの設計部分について
詳しく解説していきます。
最終的には、読者のあなたが応答ファイルを自由に設計できるようになることが目標です。
本記事は以下の方におすすめ
- Sysprepした後のOOBE画面を完全スキップさせたい
- Windowsをクリーンインストールした後のOOBE画面を完全スキップさせたい
事前準備
応答ファイルを設計するにあたり、以下のものが必要となります。
- Windows SIM(Windowsシステムイメージマネージャー)
- ISOファイル
- カタログファイル
①Windows SIMのインストール
応答ファイルは「Windows SIM」というツールを用いて設計していきます。
Windows SIMは「Windows ADK(Windowsデプロイメントキット)」に含まれているツールになります。
そのため、まずは「Windows ADK」をダウンロードしましょう。
「Windows SIM」の詳細なインストール方法については割愛します。
②OSイメージファイル(install.wim)の取得
OSイメージファイルとは、Windowsのインストールに必要なOS本体が格納されたイメージファイルのことです。
次の③で述べるカタログファイルを取得するために必要となります。
install.wimはISOファイル内に存在しているため、
Microsoftの公式サイトからダウンロードします。
③カタログファイルの取得
カタログファイルとは、該当のWindowsで設定可能な応答ファイルの設定項目を含んだファイルのことです。
Windows SIMを開いてinstall.wimを選択すると作成してくれます。
詳しい取得方法については割愛します。
応答ファイルの設計
では、実際に設計していきます。
まずは応答ファイルの全体像についてですが、
Windows SIMを開いた中央部分がそれに該当します。
上図にもある通り、具体的には以下の7つの項目から構成されています。
- windowsPE
- offlineServicing
- generalize
- specialize
- auditSystem
- auditUser
- oobeSystem
OOBE完全スキップにて使用するのは、以下の3項目です。
- windowsPE
- specialize
- oobeSystem
windowsPE
windowsPEは、WindowsPE(プレインストール環境)で実行される設定項目のこと。
例えば、以下のような設定が行えます。
- ディスクパーティション作成
- install.wim の適用先指定
- プロダクトキー入力
- インストールイメージ選択
specialize
specializeは、Windowsが初回起動した直後に実行される設定項目のこと。
OOBE完全スキップには必須ではありませんが、
oobeSystemとセットにすることが多いです。
具体的には以下の設定が行えます。
- コンピューター名
- ドメイン参加
- ネットワーク設定
- タイムゾーン
- レジストリ設定
oobeSystem
oobeSystemは、OOBE実行時の設定項目のこと。
OOBE完全スキップに必須の設定となります。
例えば以下の設定が行えます。
- 地域設定
- キーボード設定
- Microsoftアカウント作成
- プライバシー設定
イメージとして、各設定項目は以下のような流れで処理が実行されていきます。
WindowsPE起動
↓
windowsPEの設定実行
↓
初回起動
↓
specializeの設定実行
↓
再起動
↓
OOBE起動
↓
oobeSystemの設定実行
↓
初回ログオン
では、細かい設計部分について、それぞれの項目にセットする
コンポーネントについて解説していきます。
※最低限必要な設定部分のみとなります
【windowsPE】
大分類として、以下のコンポーネントをセットします。
-
amd64_Microsoft-Windows-International-Core-WinPE_neutral
⇒WinPE段階における言語・地域設定 -
amd64_Microsoft-Windows-Setup_neutral
⇒Windowsセットアップそのものの動作を制御
では、それぞれの細かな設計部分について解説していきます。
amd64_Microsoft-Windows-International-Core-WinPE_neutral
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| InputLocale | キーボードの入力方式 | 0411:00000411 | 日本語キーボード |
| LayeredDriver | 特殊キーボード用ドライバ設定 | 空白 | |
| SystemLocale | Unicode非対応アプリ用の言語設定 | ja-JP | 日本語 |
| UILanguage | Windowsセットアップ画面の表示言語 | ja-JP | 日本語 |
| UILanguageFallback | 指定言語が利用できない場合の代替言語 | 空白 | |
| UserLocale | 日付・時刻・通貨などの地域設定 | ja-JP | 日本語 |
SetupUILanguage:Windowsセットアッププログラム上の表示言語設定
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| UILanguage | Windowsセットアップ画面の表示言語 | ja-JP | 日本語 |
| WillShowUI | 言語パック関連のエラー時にUIを表示するか | OnError | エラー発生時のみ |
amd64_Microsoft-Windows-Setup_neutral
DiskConfiguration:ディスクをどう初期化するか・パーティション作成するかを設定
-> Disk:どのディスクを対象に既存パーティションを削除するかの設定
| 設定名 | 内容 | 設定値 | 備考 |
|---|---|---|---|
| DiskID | 対象となる物理ディスク番号 | 0 | DiskPartの「list disk」で表示される番号を指定します。ほとんどの場合、0となることが多いです。 |
| WillWipeDisk | 対象ディスク上の全データを削除するか | true | クリーンインストールする場合は既存のデータをすべて削除しないとインストールできません。 |
--> CreatePartitions:パーティションを作成
---> CreatePartition:パーティションの詳細
| 設定名 | 内容 | 設定値 | 備考 |
|---|---|---|---|
| Action | 操作種別 | AddListItem | |
| Extend | 残りの領域をすべて使用するか | 空白 / true | Sizeにて容量を指定する場合は空白にします。 |
| Order | パーティションの作成順序 | 1以上の整数 | |
| Size | パーティションのサイズ(MB) | 1以上の整数 / 空白 | Extendでtrueを選択した場合は空白にします。 |
| Type | パーティションの種別 | Primary / EFI / Extended / Logizal / MSR |
設定例
<CreatePartitions>
<!-- EFIシステムパーティションの作成 -->
<CreatePartition>
<Order>1</Order>
<Type>EFI</Type>
<Size>100</Size>
</CreatePartition>
<!-- MSRパーティションの作成 -->
<CreatePartition>
<Order>2</Order>
<Type>MSR</Type>
<Size>16</Size>
</CreatePartition>
<!-- プライマリパーティションの作成 -->
<CreatePartition>
<Order>3</Order>
<Type>Primary</Type>
<Extend>true</Extend>
</CreatePartition>
</CreatePartitions>
--> ModifyPartitions:作成したパーティションを設定・フォーマット
---> ModifyPartition:対象のパーティションをどのようにフォーマットするか設定
| 設定名 | 内容 | 設定値 |
|---|---|---|
| Action | 操作種別 | AddListItem |
| Active | パーティションをActiveにするか | 空白 |
| Extend | 既存のパーティションを拡張するか | 空白 |
| Format | ファイルシステム | NTFS / FAT32 / exFAT |
| Label | ボリュームのラベル | System / Windows / ... |
| Letter | ドライブレター | C / D / ... |
| Order | 実行順序 | 1 / 2 / 3 / ... |
| PartitionID | 対象とするパーティション番号 | 1 / 2 / 3 / ... |
| TypeID | パーティションの種類を識別するIDを設定 | 空白 |
設定例
<ModifyPartitions>
<!-- EFIシステムパーティションをフォーマット-->
<ModifyPartition>
<Order>1</Order>
<PartitionID>1</PartitionID>
<Format>FAT32</Format>
<Label>System</Label>
</ModifyPartition>
<!-- プライマリパーティションをフォーマット-->
<ModifyPartition>
<Order>2</Order>
<PartitionID>3</PartitionID>
<Format>NTFS</Format>
<Letter>C</Letter>
<Label>Windows</Label>
</ModifyPartition>
</ModifyPartitions>
ImageInstall:どのイメージをどこにインストールするか設定
-> OSImage:どのOSイメージをどこにインストールするか指定
--> InstallTo:OSイメージをどのディスクのどのパーティションに適用するか指定する設定
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| DiskID | 対象のディスク番号 | 0 | メインのシステムドライブ |
| PartitionID | 対象のパーティション番号(CreatePartitionにて作成した、OSをインストールしたいパーティション番号) | 3 | プライマリパーティション |
UserData:Windowsセットアップ時にユーザーが入力する情報を自動入力するための設定
| 設定名 | 内容 | 設定値 |
|---|---|---|
| AcceptEula | 使用許諾契約に同意するか | true |
| FullName | Windowsの登録所有者を指定 | 空白 |
| Organization | 組織名を指定 | 空白 |
【specialize】
-
amd64_Microsoft-Windows-International-Core_neutral
⇒インストール後のWindows本体の言語・地域設定を行う -
amd64_Microsoft-Windows-Shell-Setup_neutral
⇒Windowsシェル(デスクトップ環境や初期設定)関連の設定
amd64_Microsoft-Windows-International-Core_neutral
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| InputLocale | キーボードの入力方式 | 0411:00000411 | 日本語キーボード |
| SystemLocale | Unicode非対応アプリ用の言語設定 | ja-JP | 日本語 |
| UILanguage | Windowsセットアップ画面の表示言語 | ja-JP | 日本語 |
| UILanguageFallback | 指定言語が利用できない場合の代替言語 | 空白 | |
| UserLocale | 日付・時刻・通貨などの地域設定 | ja-JP | 日本語 |
amd64_Microsoft-Windows-Shell-Setup_neutral
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| AppIconInTouchImprovement | 2-in-1端末でタスクバーにあるアプリパッチやアイコンを、タッチ操作しやすくするために調整するか | 空白 | |
| BluetoothTaskbarIconEnabled | Bluetoothアイコンを通知領域へ表示するか | 空白 | |
| Computername | コンピュータ名を設定 | * | 自動で名前を生成する(DESKTOP-XXXX) |
| ConfigureChatAutoInstall | Teamsを自動的にインストールするか | 空白 | |
| ConvertibleSlateModePromptPreference | 2-in-1端末でタブレットモードへ切り替える際の通知設定 | 空白 | |
| CopyProfile | AdministratorのプロファイルをDefault Userにコピーするか | true | |
| DisableAutoDaylightTimeSet | サマータイムを自動調整するか | 空白 | |
| DoNotCleanTaskBar | タスクバーを初期化しないか | 空白 | |
| EnableStartMenu | スタートメニューを有効化するか | 空白 | |
| FileExplorerInTouchImprovement | エクスプローラのタッチ最適化 | 空白 | |
| OEMName | OEM名を設定 | 空白 | |
| ProductKey | Windowsのライセンス認証に使用するプロダクトキーを設定 | 空白 | |
| RegisteredOrganization | エンドユーザの組織名を設定 | 空白 | |
| RegisteredOwne | エンドユーザの名前を設定 | 空白 | |
| SearchBoxVisibleInTouchImprovement | タブレット向け検索ボックスを表示するか | 空白 | |
| ShowPowerButtonOnStartScreen | [スタート]画面に[電源オプション]ボタンを表示するか | 空白 | |
| ShowWindowsLive | WindowsLiveサービスを表示するか | 空白 | |
| SignInMode | サインイン後に既定でユーザーをタブレットモードに切り替えるか | 空白 | |
| TimeZone | コンピュータのタイムゾーンを指定する | Tokyo Standard Time | 日本時間 |
AutoLogon:コンピューターへの自動ログオンに使用するアカウントを設定する
| 設定名 | 内容 | 設定値 | 備考 |
|---|---|---|---|
| Domain | コンピュータのログオンに使用するドメインを設定 | 任意 | |
| Enabled | 自動ログオンを有効にするか | 任意 | 有効にしたい場合は「true」を設定します。 |
| LogonCount | 自動ログオンの回数を指定する | 任意 | |
| Username | 自動ログオン対象のローカルユーザ、ドメインユーザのユーザ名を指定する | 任意 |
Password:自動ログオンに使用するアカウントのパスワードを設定する
| 設定名 | 内容 | 設定値 |
|---|---|---|
| Value | 自動ログオンに使用するアカウントのパスワードを設定する | 任意 |
【oobeSystem】
-
amd64_Microsoft-Windows-International-Core_neutral
⇒インストール後のWindows本体の言語・地域設定を行う -
amd64_Microsoft-Windowws-Shell-Setup_neutral
⇒Windowsシェル(デスクトップ環境や初期設定)関連の設定
amd64_Microsoft-Windows-International-Core_neutral
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| InputLocale | キーボードの入力方式 | 0411:00000411 | 日本語キーボード |
| SystemLocale | Unicode非対応アプリ用の言語設定 | ja-JP | 日本語 |
| UILanguage | Windowsセットアップ画面の表示言語 | ja-JP | 日本語 |
| UILanguageFallback | 指定言語が利用できない場合の代替言語 | 空白 | |
| UserLocale | 日付・時刻・通貨などの地域設定 | ja-JP | 日本語 |
amd64_Microsoft-Windowws-Shell-Setup_neutral
OOBE:OOBE上の設定
| 設定名 | 内容 | 設定値 | 意味 |
|---|---|---|---|
| HideEULAPage | ライセンス条項画面を非表示にするか | true | |
| HideLocalAccountScreen | 管理者パスワード画面を非表示にするか | 空白 | |
| HideOEMRegistrationScreen | OEM登録ページを非表示にするか | 空白 | |
| HideOnlineAccountScreens | OOBE中にサインインページを非表示にするか | true | |
| HideWirelessSetupInOOBE | Wi-Fi設定画面を非表示にするか | true | |
| NetworkLocation | コンピューターがネットワークに接続されている場合、ネットワークの場所を指定する | 空白 | |
| OEMAppId | OEM(PCメーカー)が独自アプリやサービスを識別するためのIDを指定する | 空白 | |
| ProtectYourPC | [コンピューターの保護と Windows の機能の向上が自動的に行われるように設定してください] ページを非表示にするか | 3 | 非表示にする |
| SkipMachineOOBE | ライセンス確認や地域設定などのマシンレベルでのOOBEをスキップするか | 空白 | |
| SkipUserOOBE | ユーザ作成やMicrosoftアカウント設定などのユーザレベルでのOOBEをスキップするか | 空白 | |
| UnattendEnableRetailDemo | 店頭展示モードを有効にするか | 空白 |
UserAccounts:Windowsセットアップ時にユーザーアカウントやパスワードを作成・設定するための項目
-> AdministratorPassword:Administratorユーザのパスワードを設定
| 設定名 | 内容 | 設定値 | 備考 |
|---|---|---|---|
| Value | Administratorユーザのパスワードを設定 | 任意 | Administratorを有効にしたい場合に設定します。 |
-> DomainAccounts:ドメインのグループをローカルグループへ追加するための設定
--> DomainAccountList:ドメインの情報を設定
| 設定名 | 内容 | 設定値 |
|---|---|---|
| Domain | ドメイン名 | 任意 |
---> DomainAccount:ドメイングループまたはユーザ情報を設定
| 設定名 | 内容 | 設定値 | 備考 |
|---|---|---|---|
| Group | 追加先のローカルグループ | 任意 | 例えばドメイングループまたはユーザをAdministratorsに追加したい場合は「Administrators」とします。 |
| Name | 追加するドメイングループまたはユーザ | 任意 |
-> LocalAccounts:ローカルユーザの情報を設定
--> LocalAccount:ローカルユーザのユーザ名を設定
| 設定名 | 内容 | 設定値 |
|---|---|---|
| Description | 説明文 | 任意 |
| DisplayName | 表示名 | 任意 |
| Group | 所属グループを設定 | Administrators / Users |
| Name | ユーザ名 | 任意 |
---> Password:ローカルユーザのパスワードを設定
| 設定名 | 内容 | 設定値 |
|---|---|---|
| Value | ローカルユーザのパスワード | 任意 |
完成版応答ファイル(応答ファイルの全体像)
項目ごとに解説していったので分かりづらかったかと思いますが、
最後に完成版の応答ファイルを載せておきます。
そのままコピペしてOKです。
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>ja-JP</UILanguage>
</SetupUILanguage>
<InputLocale>0411:00000411</InputLocale>
<SystemLocale>ja-JP</SystemLocale>
<UILanguage>ja-JP</UILanguage>
<UserLocale>ja-JP</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DiskConfiguration>
<Disk wcm:action="add">
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>3</Order>
<Extend>true</Extend>
<Type>Primary</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>2</Order>
<Size>16</Size>
<Type>MSR</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Size>100</Size>
<Type>EFI</Type>
</CreatePartition>
</CreatePartitions>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Format>NTFS</Format>
<Label>Windows</Label>
<Order>2</Order>
<PartitionID>3</PartitionID>
<Letter>C</Letter>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Order>1</Order>
<Label>System</Label>
<Format>FAT32</Format>
<PartitionID>1</PartitionID>
</ModifyPartition>
</ModifyPartitions>
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
</Disk>
</DiskConfiguration>
<ImageInstall>
<OSImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>3</PartitionID>
</InstallTo>
</OSImage>
</ImageInstall>
<UserData>
<AcceptEula>true</AcceptEula>
</UserData>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-International-Core" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0411:00000411</InputLocale>
<UILanguage>ja-JP</UILanguage>
<UILanguageFallback></UILanguageFallback>
<SystemLocale>ja-JP</SystemLocale>
<UserLocale>ja-JP</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Password>
<Value>dABlAHMAdABQAGEAcwBzAHcAbwByAGQA</Value>
<PlainText>false</PlainText>
</Password>
<LogonCount>30</LogonCount>
<Enabled>true</Enabled>
<Username>TEST</Username>
</AutoLogon>
<ComputerName>*</ComputerName>
<CopyProfile>true</CopyProfile>
<TimeZone>Tokyo Standard Time</TimeZone>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0411:00000411</InputLocale>
<SystemLocale>ja-JP</SystemLocale>
<UILanguage>ja-JP</UILanguage>
<UserLocale>ja-JP</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>3</ProtectYourPC>
</OOBE>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>dABlAHMAdABQAGEAcwBzAHcAbwByAGQA</Value>
<PlainText>false</PlainText>
</Password>
<DisplayName>TEST</DisplayName>
<Group>Administrators</Group>
<Name>TEST</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
</component>
</settings>
<cpi:offlineImage cpi:source="catalog://d:/images/iso/sources/install_windows 11 pro.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>





































