仕事で得た知識の備忘録です。あるいは似たようなこと調べてる人へのヒントです
##やりたいこと
・以下の順の構成でパーティションを作成してWindows 10を展開したい
- システム領域 128MB
- MSR領域 128MB
- Windows領域(Cドライブ) 200GB
- データ領域(Dドライブ)↓を作成した残りすべて
- リカバリー領域 3GB
・キッティング作業者の負荷は下げたいので必須選択項目以外は自動化したい
##環境
サーバー名 SVR1
Windows Server 2016
DHCP、DNS、Active Directory、windows展開サービス(以下WDS)を起動・開始している状態
ドメイン名 internal.local
SVR1にはDドライブがデータ領域として存在し、D:\imagesにイメージをいったん格納
展開OS:Windows 10 ProまたはEnterprise、UEFI
##用意するファイル
###winpeshl.ini
WindowsPEで自動実行させたいアプリケーションなどを記載するファイル。
batファイルはStart.cmdがよい、と公式でも述べられているけれど、WDSでは読み込まれないようなので、こっちに記載。
参考:
[LaunchApp]
[LaunchApps]
X:\Windows\system32\cmd.exe,/c X:\sources\init.bat
X:\sources\setup.exe, /wds /wdsdiscover /wdsserver:SVR1.internal.local
###バッチファイル
winpeshl.iniから読み込ませるバッチ。電源オプションの設定と、diskpartの起動。
@echo off
powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
echo パーティションの設定をしています
diskpart /s X:\sources\diskpart.txt >nul 2>&1
exit /b
###Diskpart用テキストファイル
パーティション作成の記述。
select disk 0
clean
convert gpt
create partition efi size=128
format quick fs=fat32 label="system"
create partition msr size=128
create partition primary size=204801
format quick fs=ntfs label="PC"
assign letter=C
create partition primary
shrink minimum=3072
format quick fs=ntfs label="Data"
assign letter=D
create partition primary
format quick fs=ntfs label="Recovery"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
exit
###応答ファイル
サーバーへの接続設定と、インストール先パーティションは指定しておき、WDSを自動化する。
展開するイメージは複数あるため、ここでは明示しない。
<WindowsDeploymentServices>
<Login>
<Credentials>
<Domain>internal.local</Domain>
<Password>********</Password>
<Username>wdsuser</Username>
</Credentials>
</Login>
<ImageSelection>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>3</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
##格納
作成したファイルは以下の箇所に格納。
winpeshl.ini
ブートイメージ内 Windows\system32
diskpart,txt, .bat
ブートイメージ内 sources
WDSunattend.xml
WDS管理マネージャーでプロパティ→クライアントの「無人インストールを有効にする」にチェックを入れ、x64(UEFI)にこのファイルを設定
##備考
Diskpartで指定しているディスク番号は複数のSSD・HDDを搭載している機種では確認が必要。物理ディスクが一つなら0と決め打ちしています
##参考
Windows PEを起動させたら操作なしにwimの適用を行いデスクトップ画面まで表示させる
WinPE: Mount and Customize
Winpeshl.ini Reference: Launching an app when WinPE starts
Windows Setup Command-Line Options