Microsoft Deployment TooIkit(MDT)を用いてsysprep済みwim(Win10)を展開する環境を作成したため、
備忘録を兼ねて投稿します。
MDT は、Windows 11ではサポートされていません。だそうで先はなさそうですが。
構成
Windows Server 2019内に構築しています。
ADは使用せずWDS(Windows展開サービス)はスタンドアローンで構成します。
DHCPは192.168.0.2~192.168.0.253を予約しておきます。
バージョン
- Windows Server 2019(バージョン1809。OSビルド17763.4377)
- Microsoft Deployment TooIkit(6.3.8456.10000)(ダウンロードページ)
- Windows 10 Version 1809用の ADKとWindows PE(ダウンロードページ)
(非常にわからりずらいのですが、バージョン 1809 が Windows Server 2019 用のADK となります。)
前提
sysprep済み.wimは
sysprep /generalize /oobe /shutdown /unattend:"D:\myunattend.xml"
でsysprepしています。
myunattend.xml(応答ファイル)は適宜設定しています。
DeploymentWorkbenchを起動してMDT Deployment Shareを作成する
プロパティ開いて設定変更
My Deployment Share上で右クリック
Generalタブ
今回はx86は展開しないのでチェックを外します。
WDSでマルチキャストするのでチェックを入れます。
Rulesタブ
ここに設定を書き込みます。
詳しいルールはToolkit Reference for the Microsoft Deployment Toolkit参照
ルール | 説明 |
---|---|
OSInstall=YES | 許可されているかどうかを示す指標。デフォルトYES。最初から書いてます。 |
SkipLocaleSelection=YES SkipTimeZone=YES KeyboardLocale=0411:00000411 KeyboardLocalePE=0411:00000411 InputLocale=0411:00000411 UserLocale=ja-JP UILanguage=ja-JP TimeZoneName=Tokyo Standard Time |
Locale and Timeウィザードはスキップ。 タイムゾーンは日本。 日本語キーボードを使用。 ロケールを日本に。 Bootstrap.iniにも書いておきます。 スキップしない場合の画面↓(参考) ![]() |
SkipBuild=YES SkipTaskSequence=YES TaskSequenceID=MYTASK |
Task Sequenceウィザードはスキップ。 TaskSequenceIDはMYTASKとしています。 後で作成するタスクのIDと合わせる必要があります。 スキップしない場合の画面↓(参考) ![]() |
SkipBitLocker=YES | BitLockerウィザードはスキップ。 スキップしない場合の画面↓(参考) ![]() |
SkipCapture=YES | Capture Imageウィザードはスキップ。 スキップしない場合の画面↓(参考) ![]() |
SkipAdminPassword=YES AdminPassword=********* |
Administrator Passwordウィザードはスキップ。 スキップしない場合の画面↓(参考) ![]() |
SkipProductKey=YES | Product Keyウィザードはスキップ。適切なプロダクトキーがsysprep済み.wimに適用済みの想定です。 スキップしない場合の画面↓(参考) ![]() |
UserDataLocation=NONE SkipUserData=YES |
User Dataウィザードはスキップ。 新規インストールのみを想定しています。 スキップしない場合の画面↓(参考) ![]() ![]() |
SkipComputerBackup=YES | Computer Backupウィザードはスキップ。 新規インストールのみを想定しています。 新規インストールだからなのかNOにしても項目が出てきませんでした。 |
SkipComputerName=NO SkipDomainMembership=YES JoinWorkgroup=WORKGROUP |
Computer Detailsウィザードはスキップしません。 コンピュータ名は端末毎に決まっているのでその場で入力します。ドメインには参加しません。 スキップしない場合の画面↓(参考) ![]() |
SkipSummary=YES SkipFinalSummary=YES |
サマリと最後のサマリはスキップ。 スキップしない場合の画面↓(参考) ![]() ![]() |
SkipBDDwelcome=YES | Welcomeウィザードはスキップ。 Bootstrap.iniにも書いておきます。 参考 ![]() |
Bootstrap.ini
[Settings]
Priority=Default
[Default]
DeployRoot=\\WDS\MyDeploymentShare$
UserDomain=WDS
UserID=administrator
UserPassword=**********
SkipBDDwelcome=Yes
KeyboardLocale=0411:00000411
KeyboardLocalePE=0411:00000411
InputLocale=0411:00000411
UserLocale=ja-JP
UILanguage=ja-JP
TimeZoneName=Tokyo Standard Time
Windows PEタブ
Platformをx64に変更します。
Featuresタブ
日本語パックにチェックを付けます。
wimインストール
タスク作成
Task Sequences上で右クリック
自動でタスクを実行するためにTaskSequenceIDと合わせます。
Task sequence IDを「MYTASK」とします。
テンプレートを選択します。自分の目的に合ったテンプレートを選びましょう。
それぞれの説明はGet started with MDTに書かれています。
Standard Client task sequence: The most frequently used task sequence. Used for creating reference images and for deploying clients in production.
スタンダードクライアントタスクシーケンス:最も頻繁に使用されるタスクシーケンス。リファレンスイメージの作成および本番でのクライアントの展開に使用されます。
プロダクトキーを指定できますがここじゃくても出来ますので飛ばします。
タスクシーケンス編集
タスク上で右クリック
Task Sequenceタブに移動。
Standard Client task sequenceで何をやっているのかはExplaining the Task Sequence within MDT 2013 Update 2でざっくり解説してくれています。記事の日付が結構前なので現状とは変わっているかもです。
ディスクのパーティション分けの設定がPreinstallにありますがNew Computer onlyの条件が入っています。
今回は展開するPCに常にパーティション設定を適用したいため、New Computer onlyの条件を外します。
パーティション設定もBIOSとUEFIそれぞれで適用する内容を変えられます。
ディスクをCドライブとDドライブに分けたい場合はここをいじれば良いと思います。
「Generatlng a catalog for the operating system image. This could take long time.」
と書かれている通りめちゃめちゃ時間かかります。
完了するとWindowsシステムイメージマネージャーが起動します。
とりあえず保存しようとしたらエラーが発生しますが続行しておきます。
保存したファイルはC:\MyDeploymentShare\Control\MYTASK\Unattend.xmlにあります。
怒られている箇所をとりあえず削除しちゃいます。
<Display>
<ColorDepth></ColorDepth>
<HorizontalResolution></HorizontalResolution>
<RefreshRate></RefreshRate>
<VerticalResolution></VerticalResolution>
</Display>
応答ファイル編集
設定内容が多すぎて何が正解かわかっていないです。
とりあえず変更した箇所だけ記載します。各項目の詳細はComponentsに記載されています。
1 windowsPE > Microsoft-Windows-International-Core-WinPE
key | value |
---|---|
InputLocale | 0411:E0010411 |
SystemLocale | ja-JP |
UILanguage | ja-JP |
UserLocale | ja-JP |
LayeredDriver | 6 |
UILanguageFallback | ja-JP |
SetupUILanguage > UILanguage | ja-JP |
3 generalize > Microsoft-Windows-PnpSysprep
key | value |
---|---|
DoNotCleanUpNonPresentDevices | true |
PersistAllDeviceInstalls | true |
3 generalize > Microsoft-Windows-Security-SPP
key | value |
---|---|
SkipRearm | 1 |
4 specialize > Microsoft-Windows-Shell-Setup
key | value | 備考 |
---|---|---|
TimeZone | Tokyo Standard Time | |
AutoLogon > Password | ***** | ローカル管理者のパスワード |
4 specialize > Microsoft-Windows-International-Core
key | value |
---|---|
InputLocale | 0411:E0010411 |
SystemLocale | ja-JP |
UILanguage | ja-JP |
UserLocale | ja-JP |
UILanguageFallback | ja-JP |
7 oobeSystem > Microsoft-Windows-Shell-Setup
key | value |
---|---|
TimeZone | Tokyo Standard Time |
7 oobeSystem > Microsoft-Windows-International-Core
key | value |
---|---|
InputLocale | 0411:E0010411 |
SystemLocale | ja-JP |
UILanguage | ja-JP |
UserLocale | ja-JP |
UILanguageFallback | ja-JP |
7 oobeSystem > Microsoft-Windows-Shell-Setup > OOBE
key | value |
---|---|
HideEULAPage | true |
HideLocalAccountScreen | true |
HideOnlineAccountScreens | true |
HideWirelessSetupInOOBE | true |
NetworkLocation | Work |
ProtectYourPC | 1 |
wim生成
wimをWDSに登録
クライアントPCからPXEブート
途中で出くわした問題
Verify BCDBootExで怒られる
Windows Server 2019にインストールするべきADKが間違っていました。
Windows 10 Version 1809用の ADKをインストールしないといけないのに別のADKを入れていました。
インストール後のブートでこけてました。
MDt error (5616) : 15299 verifybootex
Unknown error (Error: 000015F8; Source: Unknown)がでる
パーティションのフォーマットが想定通りになっておらず適用すべきパーティションにwimがapplyされていませんでした。
タスクシーケンスのPreInstallのFormat and Partition DiskをNew Computer onlyに限定せず常に行うようにしたら解決しました。
から
に変更。
新規インストール以外も行う予定の場合はこの修正ではまずいと思います。
MDT 2013 - Litetouch deployment failed, Return Code = -2147467259 0x80004005
最後に「Groupe Policy Client サービスによるサインインの処理に失敗しました。」と出て止まる
再現性はなかったのですが発生しました。下記に原因と回避策が書かれていますが私は再現しなかったので回避策は試せてないです。
Groupe Policy Client サービスによるサインインの処理に失敗しました。このユニバーサル固有識別子 (UUID) の種類はサポートされません。
The universal unique identifier (UUID) type is not supported
まとめ
ひとまずカスタムwimを配れる環境は整いました。後はタスクシーケンスを駆使すればアプリをインストールしたりドライバを追加したりできると思います。
自分の用途としてはマスタPCをsysprepしたwimを展開出来れば良いのでMDTの深いところまでは使いませんでした。
参考情報
- 【Let's Be Windows Deployment Master】#7 Deployment Share ルールの作成
- MDT2010 Beta1 個別環境の適用方法 CustomSettings.ini
- Get started with MDT
- Explaining the Task Sequence within MDT 2013 Update 2
- Task sequence steps
- Task sequence variables
- Task Sequence Steps
- Components
- Toolkit Reference for the Microsoft Deployment Toolkit