第3章 最も簡単な作り方

この章からは、Windows AIKが(OSに直接、あるいは仮想PC上に)インストール済みであることを前提としている。また、今後の説明はすべて32bit版である。64bit版の方は、適宜読み替えて応用して欲しい)

WinPEの最も簡単な作製方法 (Windows7以外)

1.まず最初に一応Cドライブのルートをエクスプローラで確認しておこう。以下のようなファイル・フォルダ構成になっている。(ここは確認しておくだけでよい。下図と違っていてもかまわない。)

ルートドライブ事前確認

2.スタートメニューから「すべてのプログラム」→「Microsoft Windows AIK」→「Microsoft PE Tools コマンドプロンプト」→「Windows PE Tools コマンドプロンプト」とめぐり、その上で右クリックして「管理者として実行(A)...」を左クリックする。

Windows PE Tols コマンドプロンプト

 administratorでログオンしている場合は、普通に進めることで、管理者として実行したことになる。

3.UAC確認が出ても「続行(C)」。(以下の説明では面倒なのでUACに関しては省略する。)

UAC

4.下のようなコマンドプロンプトが表示される。普通のコマンドプロンプトと全く同じに見えるが、実は関連する階層にパスが通してあるWindows AIK専用のコマンドプロンプトなのだ。ここに以下のコマンドを打ち込む。

copype x86 C:\winpe_x86

copype x86 C:\winpe_x86

5.すると自動的に処理が行われ、画面が流れる。PCの処理能力が弱いと途中で止まったかと思うようなときがあるが、あせらずにじっと待つ。下図の最下行のように、{カレントパス} >表示でプロンプトが点滅するまで待つのがCUIプログラムの流儀である。

copype処理終了

6.ここで再びエクスプローラで、C:\の中を確認してみよう。前回と比べて、winpe_x86というフォルダが増えているはずだ。

winpe_x86フォルダを確認

7.再びコマンドプロンプトに戻って、以下のようなコマンドを入力する。

oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\WinPE2.iso

oscdimg

8.この結果、C:\winpe_x86\にWinPE2.isoという名前のiso形式のイメージファイルが作製された。これが最も基本的なWinPEのイメージファイルである。

何をしたのか?

無事出来上がったとか言われても、理論的な解説をしていないので、すっきりしない気持ちだと思う。少し解説をしておこう。

まず、実際にやったことは、

copype x86 C:\winpe_x86

oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\WinPE2.iso

という、わずか2回のコマンドを実行しただけだ。copypeって何だ? oscdimgって何だ?と疑問に思うだろう。

copypeは、C:\Program Files\Windows AIK\Tools\PEToolsに存在しているcopype.cmdのことだ。専用コマンドプロンプトで、この階層にもパスが自動的に通っていたので、単にファイル名を打ち込んだだけで実行できたわけだ。(仮に普通のコマンドプロンプトを起動してcopypeと打っても認識してくれない)

copype.cmdを開いて中身を見ると、要するに第1引数、すなわち(copype.cmdと同じ階層にある)x86フォルダの中身を、第2引数であるC:\winpe_x86フォルダの下に、ISOとかmountという名前のサブフォルダを作りながら配置せよという命令が書かれている。それと、winpe.wimというファイルに関しては、ISO\sourcesフォルダにboot.wimという名前に変えて複製する命令も書かれている。(WinPE3.0では、このコピー命令は無い)

 copype.cmdを読むと、第2引数で指定したフォルダがコマンド実行前に存在していると失敗するように書かれていることも確認できる。2回目以降の作製の時は、エクスプローラでC:\winpe_x86フォルダを削除してからコマンドを呼び出すことが必要だ。

上の製作段階で、わざわざエクスプローラで確認してもらったのは、このcmdファイルの作用を確かめるためだ。

次にoscdimgだが、これはC:\Program Files\Windows AIK\Tools\x86に存在するoscdimg.exeのことだ。これは、イメージファイルを作る実行ファイルである。引数の-nは8.3形式ではないロングファイルネームを使用可能にするオプション、-bはブートファイルを指定するオプション、第3引数はイメージファイルに固めたいフォルダを指定し、最後の引数は生成するisoファイル名になる。

この結果、WinPE2.isoというファイルがC:\winpe_x86\に出来上がったわけだ。ちなみにC:\winpe_x86\ISOの構造は以下のようになっている。oscdimgによってイメージファイルに変換されるが、このとき指定したISOフォルダ自体は完成ISOには含まれない。一階層下のbootフォルダなどの階層がルートになる。

ISO
├ boot
│ ├ fonts
│ │ ├ chs_boot.ttf
│ │ ├ cht_boot.ttf
│ │ ├ jpn_boot.ttf
│ │ ├ kor_boot.ttf
│ │ └ wgl4_boot.ttf
│ ├ bcd
│ ├ boot.sdi
│ ├ bootfix.bin
│ └ etfsboot.comEFI
│ └ microsoft
│    └ boot
│       ├ fonts
│       │ ├ chs_boot.ttf
│       │ ├ cht_boot.ttf
│       │ ├ jpn_boot.ttf
│       │ ├ kor_boot.ttf
│       │ └ wgl4_boot.ttf
│       └ bcdsources
│ └ boot.wim bootmgr

このツリーでは、太字はフォルダを、斜体字はファイルを意味している。EFIというのはBIOSに代わる次世代BIOSとも言うべきプログラムで、EFI搭載マザーボードからの起動を賄うためのファイル群である。(このサイトでは、私がEFIマザーボードを持っていないため検証できないので扱わない)

bootmgrはVista以降、ntldrに代わるブートローダーである。これは、のちほどUSBメモリから起動するWinPEを作ろうと思ったときに、大事なポイントになる。

一番のメインファイルは、sourcesフォルダにあるboot.wimである。拡張子がwimというファイルは聞き慣れないかもしれないが、Microsoftが新しく使い出したイメージファイルの形式である。WinPEで起動した場合、このwimファイルのデータを丸ごとそのまま物理メモリ上にロードする。RAMディスクというやり方だ。

今回は、Microsoftが用意したものをそのまま何の加工もせずに使用している。だから2つのコマンドのみで完成してしまったのだ。余裕が出てきたら、この基本wimファイルをカスタマイズして機能を追加していくわけだが、基本のままでも結構高性能である。

WinPEの最も簡単な作製方法 (WinPE3)

今度は、WinPE3の場合を解説しよう。

ただし上記の方法とほとんど変わらない。必要なコマンドが3つになるだけだ。

1.WinPE.2の場合と同様に、スタートメニューから「すべてのプログラム」→「Microsoft Windows AIK」→「Deploymentツールのコマンドプロンプト」→「管理者として実行」として専用コマンドプロンプトを開く。

2.次のコマンドを打つ。

copype x86 C:\winpe_x86

3.次が唯一Ver.2と違うところだ。Ver.2ではcopype.cmdが勝手にwinpe.wimをsourcesフォルダにboot.wimという名前に変えてコピーしてくれていたが、Ver.3では、自分でコピーしなければならない。よって以下のコマンドを打つ。

copy C:\winpe_x86\winpe.wim C:\winpe_x86\ISO\sources\boot.wim

4.あとはVer.2と同じである。oscdimgでisoファイルを作るだけだ。

oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\WinPE3.iso

完成品のテスト

isoファイルが出来たら、そのままCD-R(W)にイメージ焼きをすれば、ブータブルCDが完成する。ImgBurnのようなisoを焼くソフトを使えばよい。

しかし作るたびに実際にCD-Rに焼いて起動実験していたのでは、効率が悪くてたまらない。

VirtualPCならば、作製したisoファイルをメニューからキャプチャしてやり、ゲストOSを再起動してやれば簡単にテストができる。

ただしWinPEは搭載メモリへの要求が高い。最低512MBは必要だ。実際のPCで再起動するにしても必要だし、VirtualPC上でも、ゲストに512MB以上割り当てる必要がある。

それから、CPUなどの能力にもよるが、WinPEが起動するには結構な時間が掛かるので、途中でフリーズしたかに見えても辛抱強く待ってみることも必要だ。


<目次へ> <前のページへ> <次のページへ>