Windowsプレインストール環境(Windows Preinstallation Environment。以下Windows PE)とはその名のとおり、本来はWindows OSのプレインストール作業(PCベンダなどが出荷前のPCにWindowsをインストールする作業)のために使うOSである。機能を絞り込むことで、ハードディスクにインストールせずにネットワークやCD/DVDなどから起動できる点が大きな特長だ。またプレインストール作業以外にも、Windows PEはリカバリや診断など、広く利用できる。
Windows PEのVer.1.xはWindows XP/Windows Server 2003をベースとしており、PCベンダなど限られたユーザーだけが利用していた。その後、Windows Vistaがリリースされたのに伴い、Windows PEもWindows VistaをベースとしたVer.2.0にバージョンアップした。2010年7月現在では、Windows 7をベースとしたWindows PE 3.0が最新版である。Windows PE 3.0には、下図のように、Windows 7の機能のうち、プレインストールやリカバリに必須の機能だけが組み込まれている。
Windows 7から多くの機能が省かれているとはいえ、Windows PE 3.0はWin32やNTFS、TCP/IPといった基本的な機能をサポートしている。トラブル時のリカバリや診断には十分に使えるWindowsといえる。
またWindows PE 3.0はマイクロソフトのサイトから無償でダウンロードできるうえ、機能やデバイス・ドライバ、ユーティリティなどを追加したりして、ある程度カスタマイズすることもできる。
前述したとおり、Windows PE 3.0はWindows 7の全機能のうち、基本的な機能だけを備えている。リカバリ作業において特に役立つのは、以下の機能だろう。
通常のWindowsはいったんハードディスクにインストールしなければ使えない。それに対してWindows PEは、ハードディスクにインストールする必要がない(ハードディスクすらないPCでも利用できる)。CD/DVDやUSBメモリ、ネットワークなどからいきなり起動できる。
典型的なWindows PEは、CD/DVDあるいはUSBメモリといった起動メディアにWIMイメージ・ファイル(コラム参照)として格納されている。このイメージが起動メディアからの起動後にRAMディスクへ展開・実行されて、Windows PEが起動する。後ほど、この起動メディアを作成する具体的な方法を解説する。
WIMとはWindows Imaging Formatのことで、ディスクのイメージを格納するためのファイル形式である。Windows Vista以降のWindows OSで採用されている。ディスクのセクタ情報(ディスク・イメージ)を格納するのではなく、ファイル構成情報を格納する点が特徴である。そのため、ファイル・システムやハードウェア・アーキテクチャにほとんど依存せずに格納/展開できる。Windows 7のインストールにも、Windows PE 3.0とWIMが利用されている。
Windows PEでは、Win32アプリケーションを実行できる。普段使い慣れたコマンドやユーティリティを使って、リカバリ作業を行えるということである。
ただし、すべてのWin32アプリケーションが実行できるわけではない。多くのコンポーネントに依存しているアプリケーションほど、実行できない可能性が高くなる。例えば、シンプルなMFC 4.2アプリケーションは動作するようだが、ほかのMFCやVisual Basic、.NET Frameworkなどが必要なアプリケーションは実行できない。
デフォルトのWindows PEでは動かないアプリケーションでも、必要な.DLLファイルをコピーしたり、ランタイム・ライブラリをインストールしたりすれば実行できることもある。このあたりは実際のところ、「やってみないと分からない」という感じだ。あらかじめ好みのユーティリティをいくつか試してみて、Windows PEで動くものをそろえておくとよいだろう。
Windows PEは、ネットワーク・クライアントやTCP/IP、大容量記憶装置をサポートしており、それらのデバイス・ドライバはプラグ・アンド・プレイでロードされる。つまりデバイス・ドライバさえ用意できれば、普段から使い慣れているファイル・サーバやUSBメモリに、すぐにアクセスできるということである。これはリカバリ作業の効率を向上させるだろう。
Windows PE 3.0では、Windows 7のデバイス・ドライバが利用できる。代表的なデバイス・ドライバはWindows PEに標準装備されているが、Windows 7対応のデバイス・ドライバがメーカーから提供されていれば、それをWindows PE 3.0にインストールすることもできる。
リカバリ中には、救い出したいファイルが破壊される可能性があるため、リカバリ対象のハードディスクに対する書き込みはなるべく避けたいところだ。しかし、一時的にファイルをコピーしたいこともあるし、テンポラリ・ファイルへの書き込みを必要とするアプリケーションもあるだろう。
このような目的に応えるため、Windows PEの起動中は、32Mbytesの空き容量を持つRAMディスクが確保される。ユーザーはこれを一時的な作業領域として使うことができる。これによりハードディスクへの書き込みを抑制できる。もちろん、RAMディスクなので、再起動するとその内容は失われてしまうということに注意が必要だ。
Windows PEにはオプション機能として、HTMLアプリケーション(HTA)やMicrosoft Data Access Components(MDAC)、Windows Script Host(WSH)、Windows Management Instrumentation(WMI)などのサポートをあらかじめインストールできる*1。リカバリのためにこれらが必要な場面は少ないかもしれないが、これらのオプションを必要とするアプリケーションをWindows PEで利用したい場合には、もちろん有用である。
*1 「indows PE 2.0ではオプションだった「Microsoft XML(MSXML)パーサー」は、Windows PE 3.0で標準装備となった。
このように基本的な機能をしっかり備えているWindows PEではあるが、制限もある。以下、リカバリ用起動メディアとしてWindows PEを使用する際に注意すべき制限を挙げる。
前述したとおり、Windows PEは通常、Windows PE自身のWIMイメージ・ファイルをすべてRAMディスクに展開し、そこから起動するしくみを採っている。このWIMイメージ・ファイルのサイズは、Windows PEをカスタマイズすることによって多少は調整できるものの、通常は百数十Mbytesになる。これに前述の空き容量32Mbytesを加えたサイズのRAMディスクを、メインメモリに確保できる必要がある。
RAMディスク以外にも、Windows PEとそのアプリケーションが動作するためのメモリが必要である。こうした理由から、公式には、デフォルトのWIMイメージ・ファイルからWindows PE 3.0を起動する場合、リカバリ対象のPCに少なくとも512Mbytesのメインメモリが必要とされる。
実際、筆者がデフォルトの構成のWindows PE 3.0で試した限りでは、メインメモリ容量が192MbytesのシステムではSTOPエラーが発生して起動できなかった。また256Mbytesのシステムでは、Workstationサービスの起動に失敗してネットワーク共有フォルダをマウントできなかった。320Mbytesに増やすとファイル・コピーは正常に実行できたが、メモリ消費量の多いアプリケーションでは、動作不良などが予想される。
古いPCではメインメモリ容量が512Mbytesに満たないこともあるだろう。この場合はWindows PEが正常に動作しない可能性もあるので注意が必要だ。
Windows PEは常用するためのものではないので、連続使用は72時間に制限されている。これを超えると自動的に再起動がかかる。だが72時間あれば、通常のリカバリ作業に支障はないだろう。
Windows PEにはWindowsインストーラ・サービスが組み込まれていない。そのため、Windowsインストーラ(MSIとも呼ばれる)によってインストールされるアプリケーションは、Windows PEにインストールできない。具体的には、セットアップ・プログラムに.MSIファイルが含まれているアプリケーションがWindows PEで利用できないことになる。
ただし、インストーラがWindowsインストーラを使用しているアプリケーションでも、シンプルなものなら、.MSIファイルからファイルを取り出してコピーすれば動作することもある。これが可能かどうかはアプリケーションやそのインストーラ次第なので、試してみるほかない。.MSIファイルからファイルを取り出す方法については、関連記事を参照していただきたい。
Windows PEに.NET Frameworkは組み込まれていないし、サポートもされない。また.NET FrameworkのインストーラはWindowsインストーラを使っているので、インストールを強行することもできないようだ。
Windows PE以前の「リカバリ用起動メディア」といえば、DOSのブート・ディスクやWindowsの回復コンソールが挙げられる。これらとWindows PEを利用したリカバリ用起動メディアを比較すると、そのメリットがよく分かる。
起動が簡単なOSといえば、DOS(MS-DOSやPC-DOS)だろう。フロッピー・ディスクで起動できるし、メインメモリも数百Kbytesか、多くても数Mbytesとごくわずかで済む。
しかし簡単なのは起動だけだ。それ以外には、ありとあらゆる制限がある。サイズの大きなディスクを認識できない、NTFSを読み取れない、ネットワークを参照できない、デバイス・ドライバの組み込みは手作業のみ、GUIがない……などなど、キリがない。いまやフロッピー・ドライブを搭載していないPCも多いから、起動するのも簡単とはいえないかもしれない。
こうした制限を補うために、LAN Manager(Windowsネットワークの前身)を組み込んだり、NTFSを読み取るソフトウェアを常駐させたり、ネットワークから起動できるようにしたりと、いろいろと工夫の余地はある。しかし、もともと機能の貧弱なDOSでWindowsレベルの機能やリソースを利用できるようにするのはひどく面倒な作業であり、またどうしても限界がある。
これに対してWindows PEなら、1つのリカバリ用起動メディアでほとんどの場面に対応できる。NTFSとネットワークが使え、Win32アプリケーションが動作するのだから、多くのPCではリカバリ用のDOSブート・ディスクの出番はなくなるだろう。
回復コンソールはWindows 2000で登場し、Windows XP/Windows Server 2003にも用意されている機能だ。セーフ・モードでさえWindowsが起動しなくなってしまったときに、回復作業を行うための環境である。回復コンソールはWindowsのインストールCDから起動することもできる。
回復コンソールの最大の難点は、その目的がシステムの修復だけであり、データの救出ではないという点だろう。回復コンソールでは、低レベルなWindowsが起動してはいるのだが、高レベルなWin32やネットワークが使えない。普段なじみのない、ごく限られたコマンドだけが使える。そのコマンドも、ファイルの救出には使えない。起動しなくなったWindowsを修復するためのコマンドばかりだ。
実のところ、回復コンソールでできることは、Windows PEで行った方がより簡単に実行できるだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.