Windows AIK や sysprep を使ってカスタムのWindows7のイメージを作成したので、その覚書です。
本来は、もっと前に参考のスクリーンキャプチャなども貼り付けて書く予定でしたが、すでに旬が過ぎようとしているので、あくまでも覚書用にとっておいた文書をまとめて個々に記録しておきます。
というのも、近々、Windows10の展開用イメージを作成したいので、過去の作業内容を振り返るため、というのもあります。
あくまでも、ここで記していることについては、自身の作業の記録であり、この作業の結果生じた問題については責任を負いません。
必要なもの
- Windows7 SP1 ボリュームライセンス(MAK)イメージファイル
- 参照マシン(VirtualBOX上で作成)
- 作業マシン(自身のパソコン Windows7 64bit)
- Windows AIK
もちろん、最終的には展開先となる、、
- OEMインストールされたパソコン
が必要になります。
ゴール
次のような設定が施された、カスタムのWindows 7 インストールイメージを作成する。
- Windows7 SP1 32bit版 + 可能な限りのWindows updateを適用
- 管理用ユーザアカウントの登録
- 社内で必須のアプリケーションのインストール
→ Firefox、Thunderbird等 - ユーザプロファイルの雛形を適用したい
- Firefoxで標準的なブックマークを登録
- Firefoxで必須のアドオンを追加(Noscript、IE-tab)
- アドオンの標準設定(Noscriptのホワイトリスト等)
- カスタムの壁紙
- カスタムのテーマ適用
- タスクバーのアイコンのカスタマイズ
- ファイアウォールの設定
Windows AIK のインストール
次のリンクを参照にして、作業マシン上で、Windows AIK のインストールをする。
詳細については、Windows 自動インストール キット (Windows AIK) のインストール を参照。
Windows PE メディアの作成
作業マシン上で作業
Deploymentツールのコマンドプロンプト
Deploymentツールのコマンドプロンプトは、[すべてのプログラム
] → [Windows AIK
] → [Deploymentツールのコマンドプロンプト
]
を右クリックして[管理者として実行
]、で開く事ができる。
Windows PE メディア作成の準備
以下の作業は、[Deploymentツールのコマンドプロンプト
]で実行する。
Copype.cmd
を実行して、Win PE メディアに必要なファイルをコピーする。
copype.cmd x86 C:\WinPE-x86
次に、Win PE の起動イメージwinpe.wim
をboot.wim
としてISO
フォルダにコピーする。
copy c:\WimPE-x86\wimpe.wim c:\WimPE-x86\ISO\sources\boot.wim
参照マシンのイメージ化に必要なファイル( ImageX )をコピー。
copy "c:\Program Files\Windows AIK\Tools\x86\imagex.exe" c:\WinPE-x86\ISO
ネットワーク接続用のバッチファイル(例: ifup.bat
)を作成。
netsh int ip set address "ローカル エリア接続" static IPアドレス ネットマスク ゲートウェイアドレス
static
以降は、例として static 192.168.1.20 255.255.255.0 192.168.1.1
になる。
また、必要に応じてネットワークドライブ接続のスクリプトもバッチファイルに入れておく。Windows PE 起動後に直接コマンドを打っても良いので、これは必須ではない。
以下の例は、
- 共有名:
\\share\wim
- 共有にアクセスするユーザー名:
administrator
- アクセスするユーザーのパスワード:
p@ssw0rd
としている。
net use y: \\share\wim p@ssw0rd /user:adminuser
このバッチファイルをISO
フォルダに作成、またはコピーする
copy ifup.bat c:\WinPE-x86\ISO
その他の必要になる、ファイル、ドライバのファイルをコピーするときには、このISO
フォルダにコピーしておく。
今回は VirtualBOX 上での作業なので、他に必要なドライバはない。
Windows PE のイメージファイルを作成
[Deploymentツールのコマンドプロンプト
]上で、次のコマンドで Windows PE イメージを作成する。
oscdimg -n -bc:\WimPE-x86\winpe-x86.iso
このISOファイルが、Windows PE 起動ディスクのイメージファイルとなる。
本来はCD-Rに焼いたりするが、今回は仮想マシンに直接マウントするので、このままにしておく。
無人応答ファイルの作成
作業マシン上で作業。
Windows AIK に同梱されている、Windows System Image Manager (SIM) を開く。
スタートメニューで、[Microsoft Windows AIK
] → [Windows システム イメージマネージャ
] を選択。
Windowsカタログファイルを読み込ませる
Windows7 SP1 ボリュームライセンスのイメージファイル( iso )を、何らかの方法1で作業マシンにマウントする(仮にH:とする)。
- SIMで、[
ファイル
] → [イメージの選択
]でH:\sources
フォルダーの中に*.clg
ファイルが有ると思うので、該当するカタログファイルを選択する。
この場合は、install_windows 7 professional.clg
というファイル2になる。
応答ファイル( unattend.xml )を編集する
1). windowsPE `-- x86_Microsoft-Windows-International-Core-WinPE |-- InputLocale: ja-JP |-- SystemLocale: ja-JP |-- UILanguage: ja-JP `-- UserLocale: ja-JP 3). generalize |-- x86_Microsoft-Windows-PnpSysprep_newtral | |-- DoNotCleeanUpNonPresentDevices: true | `-- PersistAllDeviceInstalls: true `-- x86_Microsoft-Windows-Security-SPP_newtral `-- SkipRealm: 1 ※テスト時は1で、本番作成時に0にする 4). specialize `-- x86_Microsoft-Windows-Shell-Setup_newtral |-- CopyProfile: true `-- DoNotcleanTaskBar: true ※(但し反映されない!?) 5). oobeSystem |-- x86_Microsoft-Windows-International-Core_neutral | |-- InputLocale: 0411:E0010441 | |-- SystemLocale: ja-JP | |-- UILanguage: ja-JP | `-- UILanguageFallback: ja-JP `-- x86_Microsoft-Windows-Shell-Setup_newtral `-- TimeZone: Tokyo Standard Time (※ ここにもDoNotCleanTaskBarがあるが未検証)
- 不要なコンポーネントやアイテムは削除する
- 作成し終わったら、[
ツール
] → [応答ファイルの検証
]でエラーをチェックし、問題なければ保存。 - 仮にファイル名を
unattend.xml
とする。
参照マシンを作成
- 参照マシンはバーチャルボックス上で作成する。
- 仮想ディスク容量は初期値の25Gibでは後で足りなくなるので、50GiBとする。
- ネットワークはNATからブリッジアダプターに
- 展開先のコンピュータが全て同一のハードウェア構成出ない場合は、関連するハードウェアのドライバをインストールしない。
- グラフィックスドライバ
- ネットワークインターフェースのドライバ
- サウンド関連のドライバ
- etc..
- Windows7のインストール
- ローカルアカウントの削除
まず、ローカルのAdministratorを有効にしてから、インストール時に作成したローカルアカウントを削除する。
今後の参照マシン上での作業はAdministratorで行う。 - Windows Update をかける
→ SP1のディスクからインストールしても相当な時間がかかるので、時間をかけて更新していく - アプリケーションのインストール
→ Firefox、Thunderbird、Adobe Reader、Adobe Flash、JREをインストール3 - あと、必要なプリンタドライバのインストールを行う。ポートの設定はLPT1など適当に割り振りをしておく(実際の設定は実機にインストールする時)4。
デフォルトユーザプロファイルの作成
すべてのユーザーに同じような利用環境ができるように、環境を整える。以下は、例。
- Firefoxでアドオンを追加
- 共通のブックマークを作成
- ホームページの設定
- IE TAB のインストールとIE TABのサイト設定を行う
- NoScript のインストールとホワイトリストの作成
- JREのインストールと設定
→ Java Config で自動更新しないように設定する。(Java Configを開くときには管理者で開く事) - MyDocument に必要に応じて社内共通のフォルダを作成する。
- MyPicture にあるサンプルイメージにカスタムの壁紙をコピーしておく。
- Windowsのテーマをカスタマイズしておく。例えば:
- デスクトップのアイコンサイズを小にして、アイコンの縦横の間隔を変更。
- タスクバーのアイコンサイズも小にする。
- 壁紙を社名入りの壁紙に変更する。
- この設定をテーマとして保存
Sysprepによる一般化
この時点では、以下のものがあるとする。
- Windows7 SP1 ボリュームライセンス(MAK)イメージファイル
- 設定済みの参照マシン
- 無人応答ファイル(unattend.xml)
- Windows PE 起動イメージファイル(winpe-x86.iso)
WinDVD展開ファイルを作業マシン上に作成
Windows7 SP1 ボリュームライセンス(MAK) のイメージファイルを、何らかの方法で作業マシンにマウントする(仮にH:
とする)。
管理者でコマンドプロンプトを開く
mkdir c:\Win7-Custom xcopy h: c:\Win7-Custom /s
参照マシンに応答ファイル(unattend.xml)をコピー
参照マシンの以下のパスに置くのがいいと思う。
C:\Windows\System32\sysprep\unattend.xml
※バーチャルボックスを使っている場合は、この段階で仮想マシンをクローンするのが後々効率がよい。
参照マシンで sysprep を実行
参照マシンで管理者でコマンドプロンプトを起動する
cd c:\Windows\System32\sysprep sysprep /generalize /oobe /shutdown /unattend:unattend.xml
sysprepが実行され、自動的にシャットダウンされる。
参照マシンに winpe-x86.iso をマウントしてネットワークドライブに接続
バーチャルボックス前提の説明
- sysprepした仮想マシン(シャットダウンされている状態)を右クリックで [
設定
] - [
ストレージ
] を選択 - [
ストレージツリー
] から光学ディスクを選択 - [
属性
] ペインの光学ドライブの選択ボックス横の、CD-ROMマークのアイコンをクリック - [
仮想光学ディスクファイルを選択
] を選択で、winpe-x86.iso
を選択。 - 仮想マシンを起動。
- 画面に
Press any key to boot from CD or DVD....
が出てきたら、何かキーを押す。 - WindowsPEが起動するのを待つ。
- コマンドプロンプトが立ち上がって、準備が出来たら、ネットワークインターフェースを有効にして、共有フォルダをネットワークドライブとしてマウントする。
E:\ifup.bat net use y: \\作業PCのIP\c$ 作業PC管理者パスワード /user:作業PCの管理者 コマンドは正常に終了しました。
参照マシン上で、Windows イメージファイルの生成
参照マシンのC:
ドライブは Windows PE の環境ではD:
ドライブにマウントされている( C:
ドライブは、Windows PE が使用している)。また、 Windows PE の起動ディスクは、E:
ドライブにマウントされている。
次のコマンドで、参照マシンをキャプチャして、カスタムイメージWin7image.wim
を指定した場所に作成。
E:\imagex.exe /capture d: d:\Win7image.wim "Windows 7 Image" /compress fast /verify
カスタムイメージを共有フォルダにコピー
copy d:\Win7image.wim y:
作成したイメージファイルを作業マシンにコピー
- 作業マシン上で、WinDVD展開ファイル
c:\Win7-Custom
にカスタムWindowsイメージy:\Win7image.wim
をコピー
copy y:\Win7image.wim c:\Win7-Custom\sources\install.wim
※ ファイル名はinstall.wimとすること。
カスタムインストールイメージファイルの作成
作業マシン上で、[デプロイメントツールのコマンドプロンプト
]を管理者として起動
- カスタムイメージが4GiB以下の場合、
oscdimg -n -m -bc:\Win7-Custom\boot\etfsboot.com c:\Win7-Custom c:\Win7-custom.iso
- カスタムイメージが4GiBを超える場合、少し手順が増える。
以下の内容でテキストファイル bootorder.txt
を作成c:\
に保存
boot\bcd boot\boot.sdi boot\bootfix.bin boot\etfsboot.com boot\fonts\chs_boot.ttf boot\fonts\cht_boot.ttf boot\fonts\jpn_boot.ttf boot\fonts\kor_boot.ttf boot\fonts\wgl4_boot.ttf sources\boot.wim
- カスタムインストールイメージの作成
oscdimg -udfver102 -u2 -bc:\Win7-Custom\boot\etfsboot.com -yoc:\bootorder.txt c:\Win7-Custom c:\Win7-Custom.iso
c:\Win7-Custom.iso
にISOファイルが作成されるので、これをDVD-R等に焼く。
カスタムインストールイメージを試す
カスタムインストールイメージを使って、実際にインストールできるか試す。
0件のコメント