検証環境
- WindowsPE v10.0.15063(Win10 1703ベース)
WindowsPEの作り方については以下のページを参照
https://qiita.com/SkyLaptor/items/204245cf6bb4fee5b19d
注意
UEFIシステムでイメージ操作をする際にはWindowsPEもUEFIモードで起動し、BIOSシステムでイメージ操作をする際にはWindowsPEもBIOSモードで起動すること。
ネットワークドライブをマウントする
イメージ操作はファイル共有を用いるのが便利で高速であるため、適当なファイル共有先をネットワークドライブとしてマウントしておくと良い。
net use {マウント先} {共有先}
net use n: \\192.168.1.100\share
電源プランを高パフォーマンスにする
Windowsイメージ操作をする際には、高速化のために操作前に実行しておくと良い。
powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
なお、Windows10 1903ベースのPEであれば「究極のパフォーマンス」というなんだか凄そうなプランも設定可能。
powercfg /s e9a42b02-d5df-448d-aa00-03f14749eb61
Windowsイメージを取得する
Windows上のパーティションをWindowsイメージとして取り出す。
Dism /Capture-Image /ImageFile:{保存先} /CaptureDir:{取得先} /Name:{イメージ名} /Description:{イメージ説明} /Compress:fast /CheckIntegrity
Dism /Capture-Image /ImageFile:N:\hybrid.wim /CaptureDir:C:\ /Name:"Hybrid Image" /Description:"Hybrid Image Desc" /Compress:fast /CheckIntegrity
パーティションを設定する
イメージ適用のため、ディスクをフォーマットする。
フォーマットにより既存のデータは全て消去されるため、データが残っていれば退避しておくこと。
rem UEFIシステム向け
diskpart /s partition_uefi.txt
rem BIOSシステム向け
diskpart /s partition_bios.txt
rem === Disk GPT Format ===
select disk 0
clean
convert gpt
rem === Create WindowsRE Partition ===
rem create partition primary size=500
rem format quick fs=ntfs label="Windows RE tools"
rem set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
rem gpt attributes=0x8000000000000001
rem assign letter=R
rem === Create EFI-System Partition ===
create partition efi size=100
format quick fs=fat32 label="System"
rem === Create Microsoft-Reserved Partition ===
create partition msr size=16
rem === Create WindowsOS Partition ===
create partition primary
rem create partition primary size=102400
format quick fs=ntfs
assign letter=C
rem === Create Data Partition ===
rem create partition primary
rem format quick fs=ntfs
rem assign letter=D
rem === Show Result ===
list volume
exit
rem === Disk MBR Format ===
select disk 0
clean
rem === Create WindowsRE Partition ===
rem create partition primary size=450
rem format quick fs=ntfs label="Windows RE tools"
rem assign letter=R
rem === Create System Partition ===
create partition primary size=100
format quick fs=ntfs label="System"
assign letter=S
active
rem === Create WindowsOS Partition ===
create partition primary
rem create partition primary size=102400
format quick fs=ntfs
assign letter=C
rem === Create Data Partition ===
rem create partition primary
rem format quick fs=ntfs
rem assign letter=D
rem === Show Result ===
list volume
exit
Windowsイメージを適用する
取得したWindowsイメージを適用する。
Dism /Apply-Image /ImageFile:{WIMファイル} /Index:{インデックス番号} /ApplyDir:{適用先}
Dism /Apply-Image /ImageFile:N:\hybrid.wim /Index:1 /ApplyDir:C:\
起動ドライブとしてマークする
OSが入っているパーティションは起動ドライブとする必要があるが、Windowsイメージを適用しただけでは起動ドライブとして認識されていないので起動できない。よって、bcdbootコマンドで起動ドライブとしてマークする必要がある。
なお、CドライブにOSパーティション、Sドライブにシステムパーティション(※BIOSシステムのみ)が適用されているものとする。
rem UEFIシステム向け
bcdboot C:\Windows /l ja-jp
rem BIOSシステム向け
bcdboot C:\Windows /l ja-jp /s S:
Windowsイメージに重ねて取得する
既存のWindowsイメージに対して、更に重ねる形でWindowsイメージを取得することが出来る。
利点としては重複ファイルが最適化されるため、イメージサイズを大幅に小さくすることが出来る。
Dism /Append-Image /ImageFile:{WIMファイル} /CaptureDir:{取得先} /Name:{イメージ名} /Description:{イメージ説明}
Dism /Append-Image /ImageFile:hybrid.wim /CaptureDir:C:\ /Name:"Hybrid Image2" /Description:"Hybrid Image Desc2"
この方法で取得した場合、インデックス番号によりアクセスするイメージが変わることに注意する。もとのイメージはインデックス番号1が振られており、重ねていく毎に1ずつ上がっていく。
重合WindowsイメージからWindowsイメージを取得する
いくつかのWindowsイメージが重なった重合Windowsイメージファイルから、インデックス番号を指定してWindowsイメージを取り出す。
Dism /Export-Image /SourceImageFile:{重合WIMファイル} /Index:{インデックス番号} /DestinationImageFile:{WIMファイル}
Windowsイメージを分割する
既存のWindowsイメージを分割することで、FAT32フォーマットのデバイスにイメージを格納したり、DVDに分割して保管しておくことが出来るようになる。
うまく使うことで、WindowsPEメディアと一緒にイメージを格納してスタンドアロンの復元環境を用意したり出来る。
Dism /Split-Image /ImageFile:{WIMファイル} /SWMFile:{SWMファイル} /FileSize:{分割サイズ(MB)} /CheckIntegrity
Dism /Split-Image /ImageFile:N:\hybrid.wim /SWMFile:N:\hybrid.swm /FileSize:4096 /CheckIntegrity
分割Windowsイメージを適用する
分割したイメージを適用する際には、通常のイメージ適用と少しだけ異なるコマンドを実行する。
Dism /Apply-Image /ImageFile:{SWMファイル} /SWMFile:{SWMファイル} /Index:{インデックス番号} /ApplyDir:{適用先}
Dism /Apply-Image /ImageFile:hybrid.swm /SWMFile:hybrid*.swm /Index:1 /ApplyDir:C:\
Windowsイメージの情報を確認する
Windowsイメージを参照して、インデックス番号や名前・説明などを確認できる。
Dism /Get-WIMInfo /WIMFile:{WIMファイル}
Dism /Get-WIMInfo /WIMFile:hybrid.wim
IPv4アドレスを割り当てる
デフォルトはDHCPになっているため、DHCP環境であればIPアドレスが自動で割り当てられる。DHCP環境でない場合には、以下のコマンドにて静的にIPアドレスを割り当てる必要がある。
なお、適用には少しタイムラグがあるので少し待つこと。
netsh interface ip set address {NIC名} static {IPv4アドレス} {IPv4ネットマスク}
netsh interface ip set address "イーサネット" static 192.168.1.100 255.255.255.0
パーティションにドライバーを適用する
イメージを正常に適用してもドライバー不足により起動できず、ブルースクリーンが発生することがある。その場合は以下のコマンドにてドライバーを後入れすることで応急対処できる。起動後は正規の手順にてドライバーをしっかりインストールすること。
# ドライバー(.inf)を適用
Dism /Image:{適用先} /Add-Driver /Driver:{ドライバーファイル} /ForceUnsigned
# フォルダ内のドライバー(.inf)を一括適用
Dism /Image:{適用先} /Add-Driver /Driver:{ドライバーフォルダ} /Recurse /ForceUnsigned
# ドライバー(.inf)を適用
Dism /Image:C:\ /Add-Driver /Driver:N:\Drivers\driver.inf /ForceUnsigned
# フォルダ内のドライバー(.inf)を一括適用
Dism /Image:C:\ /Add-Driver /Driver:N:\Drivers /Recurse /ForceUnsigned
参考