Windows PE(Preinstallation Environment:プレインストール環境)はごく限られたサービス・機能だけを提供する最小限のOSです。
Windows PEを用意しておくと動作しなくなったOSのトラブルシュートや修復などもできるようになりますが一番大きな機能はDISM(Deployment Image Servicing and Management tool)かと思います。
DISMを使うと稼働中のWindowsのイメージファイル(wim)を作成して別のPCにそのイメージを展開して使用することができるようになります。
Windowsのイメージファイルをカスタマイズしないでそのまま使用するのであればディスクのコピーツールの方が同じことを簡単にできるかも知れません。
ここではWindows PEの作成とDISMのWindowsイメージの作成と展開の最も単純な利用方法を紹介します。
[参考サイト]
(1)Windows PE をインストールし、ドライブから実行する (フラット起動または非 RAM)
(2)WinPE: パッケージの追加 (オプション コンポーネント リファレンス)
(3)DISM を使ったハード ディスク パーティションのイメージのキャプチャ
(4)DISM を使ったイメージの適用
■ USBメモリへのWindows PEのインストール(その1:基本構成編)
copype amd64 C:\WinPE_amd64 |
diskpart list disk select disk 16GBのUSBメモリのディスク番号 create partition primary format quick fs=fat32 label="Windows PE" assign letter="P" active exit |
dism /Apply-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /Index:1 /ApplyDir:P:\ bcdboot P:\Windows /s P: /f ALL ※USBメモリ直下にBoot, EFIフォルダが作成されます |
X:\Windows\system32>wpeinit ※「X」はWindows PEのパーティションのドライブ文字で「X」固定です (wpeinitはWindows PEセッションの開始コマンドで自動起動されます) X:\Windows\system32> |
copype amd64 C:\WinPE_amd64 |
rem Windows PEイメージのマウント dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount" rem dism /Mount-Image実行前のC:\WinPE_amd64\mountは空です。 rem dism /Mount-Image実行後はboot.wimがC:\WinPE_amd64\mountに展開されます。 rem 環境変数の設定(dism /Add-Packageコマンドを短く記述できるようにするためのものです) set mywinpeocs="C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs" rem 日本語対応化の前半(日本語ロケールパッケージと日本語フォントの導入) dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\lp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-FontSupport-JA-JP.cab rem PowerShellパッケージの追加(パッケージ間に依存関係があるため以下の順に実行) dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-WMI.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-WMI_ja-jp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-NetFX.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-NetFx_ja-jp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-Scripting.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-Scripting_ja-jp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-PowerShell.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-PowerShell_ja-jp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-DismCmdlets.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-DismCmdlets_ja-jp.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-SecureBootCmdlets.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\WinPE-StorageWMI.cab dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:%mywinpeocs%\ja-jp\WinPE-StorageWMI_ja-jp.cab rem 日本語対応化の後半(日本語版Windows PEにするための設定変更) dism /Image:"C:\WinPE_amd64\mount" /Set-Allintl:ja-jp dism /Image:"C:\WinPE_amd64\mount" /Set-InputLocale:0411:00000411 dism /Image:"C:\WinPE_amd64\mount" /Set-LayeredDriver:6 dism /Image:"C:\WinPE_amd64\mount" /set-TimeZone:"Tokyo Standard Time" rem イメージのアンマウントと上記変更内容のコミット(保存) dism /Unmount-Image /Mountdir:"C:\WinPE_amd64\mount" /commit |
diskpart list disk select disk USBメモリのディスク番号 create partition primary format quick fs=fat32 label="Windows PE" ※ラベルはMakeWinPEMediaコマンドで書き換えられる可能性があります assign letter="P" active exit |
MakeWinPEMedia /UFD C:\WinPE_amd64 P: ※この時、以下のメッセージが表示されますので「Y」を応答します。 WARNING, ALL DATA ON DISK DRIVE E: WILL BE LOST! Proceed with Format [Y,N]?Y ※ここでNを応答すると「UFD E: will not be formatted; exiting.」で書き出しスキップとなります Formatting P:... Setting the boot code on P:... Copying files to P:... Success |
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\winpe_jp.iso ※「C:\winpe_jp.iso」部分は自由に指定して構いません ※この時、以下のように表示されます。 Creating C:\winpe_jp.iso... 100% complete Success |
X:\Windows\system32>wpeinit ※wpeinitはWindows PEセッションの開始コマンドで自動起動されます ※「X」はWindows PE本体(メモリ中に展開されたProgram FilesフォルダやWindowsフォルダ等)の仮想パーティションのドライブ文字で「X」固定です X:\Windows\system32> |
sudo qemu-img convert -f raw -O vpc /dev/sdb xxxxx/winpe_jp.vhd ※/dev/sdbはUSBメモリのマウントデバイスで、xxxxxは出力先 |
X:\Windows\System32>D: D:\>cd D:\myapp\Waterfoxx.y.zPortable D:\myapp\Waterfoxx.y.zPortable>"Run Waterfox.exe" |
64ビット版Windows PE | 32ビット版Windows PE | 備考 | |
---|---|---|---|
64ビット版Firefox Portable (アルファ版) | Firefox Portableのスプラッシュ画面が表示された直後に、 「この種類のイメージのサポートに必要なサブシステムがありません。」エラー | ||
Waterfox Portable (64ビット専用) | |||
32ビット版Firefox Portable | 「この種類のイメージのサポートに必要なサブシステムがありません。」エラー | 「Couldn't load XPCOM.」エラー | |
32ビット版Tight VNC Viewer | 「この種類のイメージのサポートに必要なサブシステムがありません。」エラー | ||
64ビット版Ultra VNC Viewer | 接続先デスクトップ(VNCサーバ側) | ||
32ビット版Ultra VNC Viewer | |||
64ビット版Google Chrome Portable (正式版) | 「この種類のイメージのサポートに必要なサブシステムがありません。」エラー | ||
32ビット版Google Chrome Portable |
X:\Windows\System32>copy D:\myapp\GIMPx64\bin\*.dll X:\Windows\System32 X:\Windows\System32>D:\myapp\GIMPx64\bin\gimp-x.y.exe ※日本語化されたGIMPが起動されます |
diskpart list disk select disk 250GBのHDDの番号 list partition select partition 350MBのシステム予約パーティションの番号(通常0) assign letter="S" ※ドライブ文字としてSを割り当てます exit |
dism /Capture-Image /ImageFile:d:\my-windows-partition.wim /CaptureDir:D:\ /Name:"My Windows partition" ※これは40分程度掛かりました。またmy-windows-partition.wimファイルのサイズは4,031,336,834バイトでした。 dism /Capture-Image /ImageFile:d:\my-system-partition.wim /CaptureDir:S:\ /Name:"My system partition" ※/ImageFile:で「s:\my-system-partition.wim」指定をすると「There is not enough space on the disk.」エラーとなるため「d:\my-system-partition.wim」指定にします。 ※これは20秒程度掛かりました。またmy-system-partition.wimファイルのサイズは246,443,598バイトでした。 |
net use n: \\Server\Share ※共有フォルダへのドライブ文字「N」の割り当て (ここで共有資源への接続のためのユーザ名とパスワードを求められますのでそれぞれを入力します) md N:\Images ※共有先にImageフォルダを作成 copy D:\my-windows-partition.wim N:\Images\ ※10分程度掛かりました copy D:\my-system-partition.wim N:\Images\ ※4分程度掛かりました |
diskpart list disk select disk 250GBのHDDの番号 list partition ※ディスク選択に誤りがないことの確認 clean create partition primary size=350 ※350MBのシステム予約パティションの作成 format quick fs=ntfs label="System" assign letter="S" create partition primary format quick fs=ntfs label="DISMWindows" assign letter="C" active exit |
net use n: \\Server\Share ※共有フォルダへのドライブ文字「N」の割り当て (ここで共有資源への接続のためのユーザ名とパスワードを求められますのでそれぞれを入力します) dism /Apply-Image /ImageFile:N:\Images\my-windows-partition.wim /index:1 /ApplyDir:C:\ ※10分程度掛かりました dism /Apply-Image /ImageFile:N:\Images\my-system-partition.wim /index:1 /ApplyDir:S:\ ※30秒程度掛かりました |
C:\Windows\System32\bcdboot C:\Windows /l ja-JP /f ALL |
diskpart list disk select disk 64GBのUSBメモリの番号 list partition ※ディスク選択に誤りがないことの確認 clean create partition primary format quick fs=ntfs label="System" assign letter="S" create partition primary format quick fs=ntfs label="DISMUMWin81E" assign letter="C" active exit |
net use n: \\Server\Share ※共有フォルダへのドライブ文字「N」の割り当て (ここで共有資源への接続のためのユーザ名とパスワードを求められますのでそれぞれを入力します) dism /Apply-Image /ImageFile:N:\Images\my-windows-partition.wim /index:1 /ApplyDir:C:\ ※90分程度掛かりました |
C:\Windows\System32\bcdboot C:\Windows /l ja-JP /f ALL ※C:\EFIフォルダが作成されます(C:\Bootフォルダは作成されません) |