2016/01/05

Windows 10 バージョン 1511 を Sysprep じゃあなく、Provisioning Package で

Windows 10 バージョン 1511 (ビルド 10586) から、Sysprep 後の Mini-Setup に異様に時間がかかるようになってしまったようです。Windows 8.1 と同様の Unattend.xml で自動セットアップできることは確認したのですが、1 時間以上かかるのでは待ってられない。たぶん、Windows 10 バージョン 1511 からの不具合だと思うのですが...

追記) Mini-Setup に異様に時間がかかる問題は、その後の更新で解消されたっぽいです。最近作成した Sysprep イメージでは再現しませんでした。発生するイメージと発生しないイメージあり。原因は不明。どうやら、Sysprep 実行時に/mode:vmオプションを付けるとこの問題に遭遇するみたいです。

というわけで、Windows 10 の新機能、プロビジョニング パッケージってのでイメージ展開してみました。

参照用 (リファレンス) PC に Windows 10 をインストール → Sysprep → イメージのキャプチャ → イメージ展開+ Unattend.xml で自動セットアップ!

ってところを

Windows 10 の Sources\Install.wim + プロビジョニング パッケージ (.ppkg) → 自動セットアップ!

とやってみるって話です。プロビジョニング パッケージを含むインストール用 USB メディアを作ってそれから PC を起動して、自動セットアップするという方法もあるみたいですが、今回はそれではないっす。


参考にしたところは...

プロビジョニング パッケージの適用
[URL] https://msdn.microsoft.com/ja-jp/library/windows/hardware/mt147439%28v=vs.85%29.aspx

使ったものは、

●Windows ADK for Windows 10 バージョン 1511 の Windows イメージングおよび構成デザイナー (Windows ICD)

Windows ADK for Windows 10 バージョン 1511
[URL] https://msdn.microsoft.com/ja-jp/windows/hardware/dn913721.aspx#adkwin10

※ この ADK、何やら不具合があるようなので使用は推奨されていませんが、今回はこれでやりました。

Issue with the Windows ADK for Windows 10, version 1511
[URL] http://blogs.technet.com/b/configmgrteam/archive/2015/11/20/issue-with-the-windows-adk-for-windows-10-version-1511.aspx

●Windows 10 Enterprise バージョン 1511 x86 ISO イメージ
●Hyper-V 仮想マシン (物理 PC だとドライバーとか面倒なので)

では、スタート!

Windows ICD を使って、プロビジョニング パッケージを作ります。新しいプロジェクトを作成して、Common to all Windows desktop editions を選択して...

カスタマイズっす。アプリ、ドライバー、オンデマンド機能 (たぶん、.NET 3.5 とか)、更新プログラム、Wi-Fi 接続設定などなど、いろいろできるみたいですが、今回はお試しなので、コンピューター名 (ワークグループ構成) の設定とローカル管理者の作成だけでやってみます。

実行時の設定 > Accounts > ComputerAccount を開いて、ComputerName を設定して...

実行時の設定 > Accounts > Users にユーザー名 localuser を追加、パスワードを設定、Administrators グループに追加して...

実行時の設定 > OOBE > Desktop を開いて、HideOobe を TRUE に。たぶんこれで、余計な対話が不要になると思ふ...

エクスポート > プロビジョニング パッケージをクリックして...

ビルドっす。

この前に暗号化や署名の設定画面が出ますが、どちらもオフに。今回やろうとしていること (オフライン イメージのデプロイ) では、暗号化や署名を付けると面倒なことになると思ふです。

できたプロビジョンング パッケージ (.ppkg) を WIM ファイルからイメージ展開した環境にもって行きます。今回は、Hyper-V の第 1 世代仮想マシンでやってみます。

追記) この例は WIM をイメージ展開してやっていますが、Windows 10 バージョン 1511 の Sysprep 済みイメージの ppkg をコピーしても成功しました。

Windows 10 Enterprise バージョン 1511 x86 の ISO イメージで仮想マシンを起動して、Windows セットアップまできたら、Shift+F10 キーでコマンド プロンプトを出す。DISKPART でパーティションを作成して、DISM コマンドで Install.wim を展開。ブート構成も作成。


以下は、BIOS ベースの PC の場合の例。UEFI はちょっと違うので注意。

X:\Sources> DISKPART
DISKPART> LIST DISK
DISKPART> SELECT DISK 0
DISKPART> CREATE PARTITION PRIMARY SIZE=350
DISKPART> FORMAT QUICK FS=NTFS LABEL="SYSTEM"
DISKPART> ASSIGN LETTER="S"
DISKPART> ACTIVE
DISKPART> CREATE PARTITION PRIMARY
DISKPART> FORMAT QUICK FS=NTFS LABEL="WINDOWS"
DISKPART> ASSIGN LETTER="W"
DISKPART>EXIT
X:\Sources> DISM /Apply-Image /ImageFile:D:\Sources\Install.wim /Index:1 /ApplyDir:W:\
X:\Sources> BCDBOOT W:\Windows /l en-us /s S: /f BIOS

STARTNET コマンドでネットワークを有効化し、プロビジョング パッケージを W:\ProgramData\Microsoft\Provisioning フォルダーにコピー。 W:\ProgramData\Microsoft\Provisioning フォルダーにコピーする代わりに、DISM /Image:W:\ /Add-ProvisioningPackage /PackagePath:プロビジョニング パッケージのパス (.ppkg) でもいいみたい。試してないけど...
 



WPEUTIL REBOOT で再起動。

仮想マシンの起動完了とともに、セットアップも完了。もちろん、完全自動。ちゃんと localuser できてます。コンピューター名も設定されてました。

設定 > アカウント > 職場のアクセス > 管理パッケージを追加または削除する を開くと、ちゃんとパッケージが適用済みになってました。削除ボタンはありますけど、削除しても適用された設定は削除されないみたいですよ。


ちゃんと見てなかったので分かりませんが、かかった時間はトータルで15 分くらいかな?

追記)
キーボードが 英語 101 だった... まだまだ修行が必要じゃ。

3 件のコメント:

ATOM さんのコメント...

Windows 8.1 と同様の Unattend.xml ということですが、こちらのファイルで10のOOBEを自動化できるということでしょうか。このファイルの格納場所についておわかりになりましたら教えていただけないでしょうか。

山市 良 さんのコメント...

Windows 8.1 と同様の Unattend.xml とは、Windows 8.1向けにゼロから書いた応答ファイルです。Unattend.xml (ファイル名はなんでもいいですが)は、テキストエディターで頑張って書いてもいいですし、Windowsシステムイメージマネージャー(Windows ADKに入っています)で作成するか、ご自由に。どこかにあるものではありません。

私は、面倒なので Windows 8.1向けに書いた Unattend.xml をメモ帳でコンピューター名とかプロダクトキーとか変更して使ったことを「Windows 8.1 と同様のUnattend.xml」と書きました。

作成した応答ファイルを Unattend.xml という名前にしておけば、%Windir%\System32\Sysprepフォルダーや、リムーバブルメディアのルート、C:のルートとかにおいておけば読み込んでくれるはず。別の名前なら、dism ... /apply-anattend:ファイル名.xml でオフラインイメージに適用。

匿名 さんのコメント...

mode:vmオプションを付けていませんが、時間がかかっています。情報をお持ちでないでしょうか。