前回の記事、Windows 10 展開用イメージの作成 STEP1 – 展開環境の準備 (前編) の続きです。

 

 

必要要件

この文書を作成、また実施する上での必要要件は以下のようになります。

  • Windows 10 のインストールメディア: ここでは、ボリュームライセンス版のインストールメディア ( ISO ファイル ) を使用します。
    → ( Windows Pro 10 1903.1 64Bit 版 )
  • テクニシャンコンピュータ: 展開用の環境を整える PC の事です。
    → ここでは単に 「作業用 PC」とか、「作業用マシン」と呼びます。
    • 作業用マシンは、ここでは Windows 10 Pro 64ビット版を使用しています。
    • 作業用マシンには、あらかじめ VirtualBox がインストールされているものとします ( VirtualBox 6.1.4 )。
  • 参照用コンピュータ:展開用イメージの元となるコンピュータ。
    → ここでは、「参照用 PC」とか、「参照用マシン」と呼びます。
    • 参照用マシンは、作業用マシンにインストールされている VirtualBox 上で作成します。仮想マシンです。

 

ゴール

  • 展開用の Windows 10 Pro の プレインストール用メディア (ISO ファイル) を作成する。
  • ターゲットとなる OS は、Windows 10 Pro 64ビット版。
  • あらかじめ、ブラウザとして Firefox、Thunderbird をプレインストールした状態にする。
  • 管理用のアカウントを自動で1つ登録する。

 

全体の流れ

Windows 10 の展開用イメージを作成する流れは、全体的に以下のようになります。

  • STEP1: 展開環境の準備1
    • ADKのインストール
    • Windows PEメディアの作成
    • WSIM 1903 更新プログラムを適用する
  • SETP2: 展開環境の準備2 ← 今回はここ
    • 応答ファイルの作成
  • STEP3: 参照コンピュータの作成
    • Windows10のインストール
    • Windows Update の実行
    • デスクトプアプリケーションのインストール
    • デフォルトユーザープロファイルのカスタマイズ
    • Sysprep による一般化
  • STEP4: 標準イメージの作成
    • DISM コマンドを使用した標準イメージの作成
    • OSCDIMG コマンドを使用したISOイメージの作成

 

無人応答ファイルの作成

Sysprep 実行時に使う応答ファイルを作成します。

この応答ファイルを作成するために、Windows 10 のインストールメディアが必要になります。メディアは、Sysprep を行うのと同じエディション、アーキテクチャ(64ビット Or 32ビット)1 を使用します。

ちなみに、ここではボリュームライセンスのインストールメディアを使うので、実際の DVD メディアではなくて ISO ファイルになります。DVD であろうと ISO ファイルであろうと特に問題はありません。特に Windows 10 では ISO ファイルを直接マウントできるので、ISO ファイルさえあれば問題ありません。

ISO ファイルをマウント2します。ここでは仮に K: ドライブにマウントされているとして記事を進めていきます。

K:Sources フォルダに入っている install.wim を任意の場所にコピーしておきます。

無人応答ファイルの作成:install.wim のコピー

無人応答ファイルの作成:install.wim のコピー

 

次に、Windows システム イメージ マネージャー を起動します。

[スタード] → [Windows Kits] → [Windows システム イメージ マネージャー] とたどり、右クリックして管理者で起動します。

無人応答ファイルの作成:Windows システム イメージ マネージャー の起動

無人応答ファイルの作成:Windows システム イメージ マネージャー の起動

 

Windows システムイメージマネージャ (SIM) が開きます。

無人応答ファイルの作成:Windows システムイメージマネージャー (SIM)

無人応答ファイルの作成:Windows システムイメージマネージャー (SIM)

 

[ファイル] → [Windows イメージの選択] で、先程保存した、install.wim を選択し、開きます。

イメージの選択」 が開いたら、利用するイメージを選択します。ここでは、Windows 10 Pro を選択します。

無人応答ファイルの作成:Windows イメージの選択

無人応答ファイルの作成:Windows イメージの選択

 

Windows System Image Manager」のダイアログが開くので、[はい] をクリックすると、カタログファイルの作成が始まるのでしばらく待ちます。

読み取りに失敗する場合があります
プライベートになっている場所に保存していると読み取りに失敗するみたいです。
C:¥ に直接保存している場合は問題なく読み取ることができました。

caption

 

Windows SIMで、カタログを生成できませんでした
というエラーが発生する場合があります。
この場合は、前回記事の「WSIM 1903 更新プログラムを適用する」を参照してください。

 

カタログファイルが読み終わると、[Windows イメージ] ペインの [Components] にコンポーネントの一覧がインポートされます。

無人応答ファイルの作成:カタログファイルの読み込み

無人応答ファイルの作成:カタログファイルの読み込み

 

これで準備ができたので、応答ファイルを作成します。

[ファイル] → [新しい応答ファイル] をクリックします。

無人応答ファイルの作成:新しい応答ファイルの作成

無人応答ファイルの作成:新しい応答ファイルの作成

 

[応答ファイル] ペインに応答ファイルの構成パスが表示されます。

無人応答ファイルの作成:応答ファイルの構成パス

無人応答ファイルの作成:応答ファイルの構成パス

 

この構成パスに先程のコンポーネントを割り当てていきます。

コンポーネントを構成パスに実際に割り当ててみる例は以下のとおりです。

まず、 [ Windows イメージ ] ペインの

  1. [amd64_Microsoft-Windows-Shell-Setup_10.0.XXXXX.XXX_neutral]3 を右クリックして
  2. [パス 4 specialize に設定を追加] をクリック。
無人応答ファイルの作成:コンポーネントを構成パスに追加

無人応答ファイルの作成:コンポーネントを構成パスに追加

 

すると、[ 応答ファイル ] ペインの [4 specialize] に項目が追加されます。

無人応答ファイルの作成:コンポーネントを構成パスに追加

無人応答ファイルの作成:コンポーネントを構成パスに追加

 

続いて、[応答ファイル] ペインの [Components] → [4 specialize] → [amd64_Microsoft-Windows-Shell-Setup_neutral] をクリックすると、[ Microsoft-Windows-Shell-Setup プロパティ ] にプロパティと設定の一覧が表示されます。

プロパティの [ CopyProfile ] の値を [ true ] に設定します。

無人応答ファイルの作成:プロパティの変更

無人応答ファイルの作成:プロパティの変更

 

[ファイル] → [応答ファイルを保存] で、unattend.xml という名前で保存します。

このように、Windows イメージのコンポーネントを、応答ファイルの構成パスに配備していく形で、応答ファイルを作成していきます。

ここで、各構成パスごとに自身の行った設定を紹介してみたいと思います。

 

Windows PE ( Windows プレインストール環境 )

Windows セットアップ中に使用する言語に関する設定です。

Microsoft-Windows-International-Core-WinPE

  • InputLocale
  • SystemLocale
  • UILanguage
  • UserLocale
  • SetupUILanguage / UILanguage

の各値を、ja-JP にする。

1). windowsPE
    `-- amd64_Microsoft-Windows-International-Core-WinPE_neutral
        |-- InputLocale: ja-JP
        |-- SystemLocale: ja-JP
        |-- UILanguage: ja-JP
        |-- UserLocale: ja-JP
        `-- SetupUILanguage
            `-- UILanguage: ja-JP

 

Generalize ( 一般化 )

Microsoft-Windows-PnpSysprep_newtral

  • PersistAllDeviceInstalls

展開先の PC が参照マシンと同じハードウェア構成である場合に、この値を true とすることで、展開先 PC にデバイスドライバが適切に構成されるようにします。

今回は、参照マシンを 仮想マシン で構成するので、ここの値は不要になります。

Microsoft-Windows-Security-SPP_newtral

  • SkipRealm

Windows のライセンスのアクティベーション回数は 3 回までとされています。この値を 1 とすることにより、アクティベーションの回数をリセットできるようにします。

ただ、Windows 8 以降はアクティベーションの回数制限が事実上ないので、この設定は不要になります。

3). generalize
    |-- amd64_Microsoft-Windows-PnpSysprep_newtral
    |   `-- PersistAllDeviceInstalls: true
    |       ※ 参照マシンのドライバを残したい場合は両方 true に。
    |          参照マシンが仮想マシンの場合は、両方とも未設定に。
    `-- amd64_Microsoft-Windows-Security-SPP_newtral
        `-- SkipRealm: 1
            ※テスト時は1で、本番作成時に0にする

 

Specialize

Microsoft-Windows-Shell-Setup_newtral

  • ComputerName

コンピュータ名を指定します。* にするとランダムな名前になります。

  • CopyProfile

値を true とすることで、参照マシンの Administrator アカウントのプロファイルを、既定 (デフォルト) ユーザーのプロファイルとして使用します。

  • ProductKey

ボリュームライセンスのMAKを指定します。

  • TimeZone

PC のタイムゾーンを指定します。

Microsoft-Windows-UnattendedJoin / Identification

  • JoinDomain

コンピュータを参加させるドメイン名を指定します。もし値をセットすると、JoinWorkgroup は設定できません。

  • JoinWorkgroup

コンピュータを参加させるワークグループ名を指定します。値をセットすると、JoinDomain は設定できません。

Microsoft-Windows-UnattendedJoin / Identification / Credentials

  • Domain

アカウントの認証に使うドメイン名を指定します。完全修飾 DNS ドメイン名 か、NetBIOS ドメイン名を指定します。

  • Password

ドメインに参加する際に使用するユーザーのパスワードを指定します。

  • Username

ドメインに参加する際に使用するユーザー名を指定します。

4). specialize
    |-- amd64_Microsoft-Windows-Shell-Setup_neutral
    |   |-- ComputerName: *
    |   |-- CopyProfile: true
    |   |-- ProductKey: ボリュームライセンスのライセンスキー
    |   `-- TimeZone: Tokyo Standard Time
    `-- amd64_Microsoft-Windows-UnattendedJoin_neutral
        `-- Identification
            |-- JoinDomain: true or false
            |-- JoinWorkgroup: true or false
            `-- Credentials
                |-- Domain:
                |-- Password:
                `-- Username: 

 

oobeSystem

Microsoft-Windows-International-Core

  • InputLocale

入力ロケールとキーボードレイアウトを指定します(例: 0409:00000409)。最初の値は入力言語を示すロケール ID で、2番目の値はキーボードレイアウト。

値については、0411:E00104110411:E00204110411:00000411 と諸説あり。ちなみに、「サポートされる言語パックと既定の設定」には、

0411:{03B5835F-F03C-411B-9CE2-AA23E1171E36}{A76C93D9-5523-4E90-AAFA-4DB112F9AC76} (ja-JP:Microsoft IME)

となっています。

ちなみにここでは、0411:00000411 としています。

以下の設定は ja-JP にしておきます。

  • SystemLocale: ja-JP
  • UILanguage: ja-JP
  • UILanguageFallback: ja-JP

 

Microsoft-Windows-Shell-Setup

  • TimeZone: Tokyo Standard Time

Microsoft-Windows-Shell-Setup / OOBE

  • HideEULAPage

Microsoft ソフトウェアライセンス条項のページを非表示にするかどうか。ここでは、true: 表示させない、にしています。

  • HideOEMRegistrationScreen

OEM の登録ページを表示させるかどうか。ここでは、true: 表示させない、にしています。

  • HideOnlineAccountScreen

OOBE の際にオンラインでサインイン4 させる画面を表示させるかどうか。ここでは、true: 表示させない、にしています。

  • HideWirelessSetupInOOBE

OOBE セットアップ時に Wireless ネットワークへの参加画面を表示させるかどうか。ここでは、true: 表示させない、にしています。

ちなみに、ワイヤレスネットワークに参加させる場合は、以下の条件を満たすことが必要です。

  1. HideWirelessSetupInOOBE の値が true ではない
  2. PCに、ワイヤレスネットワーク用のデバイスが搭載されている
  3. ワイヤレスネットワーク用のデバイスドライバがインストール済みで有効にされている
  4. ワイヤレスネットワークが検出されて、利用可能である
  5. ワイヤレスネットワーク接続が、同じPC上の以前の Windows インストールの際に接続されたことがない
  • ProtectYourPC

「かんたん設定」を有効にするかどうか。ここでは、3: 有効にしない、にしています。

Microsoft-Windows-Shell-Setup / Themes

この部分は必須ではありません。

  • BrandIcon

テーマのアイコンとして表示される画像へのパスを指定します。240×80ピクセル以下の .png ファイルである必要があります。

  • DesktopBackground

デスクトップの背景画像のパスを指定します。画像は %WinDir% 配下の任意のサブフォルダに配置できます。

  • ThemeName

テーマの名前を指定します。

Microsoft-Windows-Shell-Setup / UserAccounts

セットアップ時にユーザーアカウントを作成することもできます。

ここではローカルアカウントを作成する手順を示します。

  • Microsoft-Windows-Shell-Setup / UserAccounts / LocalAccounts を右クリックして 「新しい LocallAccount の挿入
Windows システムイメージマネージャ: 管理用アカウントの登録

Windows システムイメージマネージャ: 管理用アカウントの登録

  • Microsoft-Windows-Shell-Setup / UserAccounts / LocalAccounts / LocalAccount で次の項目に値を設定する
    • Group: Administrators
    • Name: 任意のユーザー名

これで、LocalAccount の直下に、Password という項目が追加されると思います。

  • Password
    • PlainText: 通常、true になっています。
    • Value: パスワードを指定します。

後は必要なだけローカルアカウントを追加できます。

5). oobeSystem
    |-- amd64_Microsoft-Windows-International-Core_neutral
    |   |-- InputLocale: 0411:00000411
    |   |-- SystemLocale: ja-JP
    |   |-- UILanguage: ja-JP
    |   `-- UILanguageFallback: ja-JP
    `-- amd64_Microsoft-Windows-Shell-Setup_newtral
        |-- TimeZone: Tokyo Standard Time
        |   (※ ここにもDoNotCleanTaskBarがあるが未検証)
        |-- OOBE
        |   |-- HideEULAPage: true
        |   |-- HideOEMRegistrationScreen: true
        |   |-- HideOnlineAccountScreen: true
        |   |-- HideWirelessSetupInOOBE: true
        |   `-- ProtectYourPC: 3 ※ 推奨設定は 1
        |-- Themes ※ 特になくても問題なし
        |   |-- BrandIcon: %WinDir%\OEM\brandlogo.png
        |   |-- DesktopBackground: %WinDir%\OEM\background.png
        |   `-- ThemeName: Hoge Default Theme
        `-- UserAccounts ※ インストール時に自動作成されるユーザー
            `-- LocalAccounts
                `-- LocalAccount
                    |-- Action: AddListItem
                    |-- Group: Administrators
                    |-- Name: hoge
                    `-- Password
                        |-- PlainText: true
                        `-- Value: PaS$w0rd

 

応答ファイルの保存

応答ファイルを保存する前に、[ツール] → [応答ファイルの検証]でエラーをチェックします。

  • 非推奨 (Deprecated) な設定の警告
  • 使用していない (設定していない) 項目の警告

などの警告やエラーが報告されます。

非推奨項目は設定する必要がないので、使用していない項目を含め、コンポーネントごと構成パスから「削除」して、設定しているコンポーネントのみにしましょう。

警告やエラーが表示されなくなったら、応答ファイルを保存します。

 

 

 


  1. 余程の理由がない限り、64ビット版 (amd64) の Windows を使用すべきです。 

  2. Windows 10 であれば ISO ファイルを右クリックして「マウント」でマウントできます。 

  3. XXXXX.XXX の部分はイメージのバージョンによって 17763.118362.329 など変わります。 

  4. おそらく、Microsoft アカウントでサインインする画面を表示させるかどうか。 


 

 

zaturendo

中小企業社内SE。

2件のコメント

iku · 2023年9月11日 6:37 PM

応答ファイルはどのPCで作業ですか?作業用マシン?

    zaturendo · 2023年9月12日 7:10 AM

    コメントありがとうございます。
    応答ファイルは作業用マシンでの作業になります。

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です