第1章 WindowsPE とは

回復コンソールとWinPE

私のサイトではWindowsの起動トラブルを扱っており、そのなかでも「1CDブート回復コンソール作成法」というページは、Googleの検索結果から推測すると、皆さんに人気が高いようである。

もともとMicrosoftがフロッピーディスク6枚分用のプログラムだけではなく、CD-R用のイメージファイルを配布してくれていれば、わざわざこんなページを作ることもなかったわけである。でもまあ、そのおかげで皆さんが私のサイトのことを知っていただけたとしたら、私としてはMicrosoftに感謝するべきなのかもしれない。

その昔、Windows98やMeの時代では、OSにMS-DOSフロッピーディスクを作る機能が付属していた。(XPにも機能はある) これは結構便利で回復コンソールよりもずっと使いやすかった。フロッピーディスクもリムーバブルディスクの中心的存在で、現在のようにFDD非搭載のPCのことなどほとんど考慮しなくても良かった。WindowsのファイルシステムもFAT16/32で、MS-DOSからアクセスが可能だった。ところがWindows2000あるいはXPの時代からNTFSが主流になり、MS-DOSからではアクセスできなくなってしまったのだ。そのために回復コンソールなるものが用意されたのだと思う。

ところで回復コンソールのページを書いたりしていることから、私が「回復コンソールのことが大好き」とか、「回復コンソールの使い方に非常に詳しい」と考える方がいらっしゃるようだが、それは大きな誤解である。はっきり言っておくが、

私は回復コンソールは嫌い

である。これはCUIすなわちコンソールプログラムが嫌いと言うことではない。xcopyだのmkdirだのというコマンドを打つのは、なんだか自分がパソコンを使いこなしているという妙な自尊心が芽生えるので(笑)、たぶん大多数の皆さんよりも好きである。コンソールが嫌いというわけではなくて、回復コンソールというプログラムに満足できないのである。

その理由としてまず、回復コンソールのアクセス制限がある。Windowsがインストールされているパソコンが起動できなくなった時に回復コンソールでファイルを回収しようとしても、肝心のファイルが存在するディレクトリにアクセスできないことが多い。以下はMicrosoft公式ページからの抜粋である。

回復コンソールの規則と制限
  • ルート フォルダ
  • 現在ログオンしている Windows インストールの %SystemRoot% フォルダとそのサブフォルダ
  • Cmdcons フォルダ
  • CD ドライブ、DVD ドライブなどのリムーバブル メディア ドライブ

: 上記以外のフォルダにアクセスすると、"アクセスが拒否されました" というエラー メッセージが表示される場合があります。これは、これらのフォルダに含まれるデータが失われたり破損したりしていることを必ずしも意味するものではありません。このエラー メッセージは、そのフォルダが Windows 回復コンソール実行中には使用できないことを意味しているにすぎません。また、回復コンソールの使用中は、ローカルのハード ディスクからフロッピー ディスクへのファイルのコピーはできません。ただし、フロッピー ディスクまたは CD-ROM からハード ディスクへのファイルのコピー、およびハード ディスク間でのファイルのコピーは可能です。

厳密にいうと、事前にホストOSのレジストリの設定をしておくことでアクセスできる範囲の制限を排除できるのだが、トラブルが起こってからでは回復コンソールから設定を変更することはできないのだ。(セキュリティを重視しているためであろう。)

次に嫌いなところは、使えるコマンドが少ないことである。FIXMBRとかFIXBOOTとかのように他では得られないような有用なコマンドもあるのだが、その一方、先ほど出てきたxcopyなどはない。以下が回復コンソールで使えるコマンドである。

   attrib    del        fixboot   more     set
   batch     delete     fixmbr    mkdir    systemroot
   bootcfg   dir        format    more     type
   cd        disable    help      net
   chdir     diskpart   listsvc   rd
   chkdsk    enable     logon     ren
   cls       exit       map       rename
   copy      expand     md        rmdir

これは、回復コンソールの目的がシステムの修復であって、サルベージ(ファイルの回収)ではないことによると思う。回復コンソールが登場した時期には、外付けHDDは普及しておらず、USBメモリはまだ市販もされていなかったと記憶している。どのみちUSB1.1の時代だったから、サイズの大きなファイルをUSB経由でサルベージすること自体が非現実的だったのかもしれない。ところが最近は、1TBの外付けHDDとか、32GBのUSBメモリとか、大容量ストレージのオンパレードである。規格もUSBは3.0登場が噂されているし、IEEE1394BやE-SATAなどもあり、今後ますます高速化されていくだろう。システムが修復できれば理想的だが、我々素人は「治せたら儲けモノ」くらいの考えで望んだほうが良い。しかし重要なファイルだけはサルベージしておきたい。周辺機器や規格などは前述のように充実してきているから、あとはそれを有効に生かせるソフトウェアへの期待が高まっていると思う。

そして回復コンソールで最も不満なところは、それ自体が自立したOSでないという所だ。HDDに存在するOSに依存しながら起動するので、OSのほうの損傷程度によっては、回復コンソール自体も起動しなくなることがあるのだ。これは、回復コンソールの起動時においてHDDにインストールされているwindowsの一覧が出て数字で選ぶという段階があるが、ここで正しい候補が表示されないという現象となって現れる。

以上のことから、Windows Vistaあるいは7の時代になって求められるレスキューツールは、MS-DOSのような使いやすさで、NTFS領域にもアクセスでき、起動媒体はCD/DVDあるいはUSBメモリといったもので、ドライバを特に用意しなくても外付け大容量ストレージを認識してそこにファイルをサルベージできるような、スタンドアロンOSであると思う。それとレジストリを修復できる機能も必要だろうし、ネットワークに接続できた方が望ましい。もちろん無料で入手できることも条件である。

そんなものがあるのかと思うだろうが、実際にあるのである。それもMicrosoft純正で。それがWindows Preinstallation Environment、略してWindowsPE、もっと略してWinPEである。

WinPEの歴史

WindowsPE 1.0はXPをベースにしていた。ただしこれは一部の企業の顧客向けに用意されていたもので、一般的なユーザーでは入手できないものであった。

WindowsPE 2.0は、Vistaをベースにしており、一般に公開されているWindows AIK (自動インストールキット)を使うことで、誰でも入手できるようになった。

しかしWinPE 2.0に関しては一般公開されたにもかかわらず、全然普及しなかったし知名度もほとんどないように思う。たしかにコマンドを打ちながら使うツールなので、それだけで拒否反応を示す人もいるとは思うが、それにしても同じ操作スタイルの回復コンソールと比べても差が大きいように思う。配布物がそのまま使えるものではなく、自分で作成しないといけないということも敷居が高く、普及を妨げる大きな原因になっていると思う。

そしてこれを書いている2009年8月時点では、WindowsPE 3.0が公開されている。Windows7をベースにしたもので、2.0とは一部仕様が変わっている。

なおこれらの基本的なWinPEをベースに、より一般的なOSに近づけ、グラフィカルなアプリケーションを導入したものも登場している。Bart PE とかVistaPEといったものである。このコーナーではこれらは扱わないが、調べれば役に立つウェブサイトがすぐに見つかると思う。あるいはPCJapanという雑誌では頻繁に特集が組まれている。

WinPE 2.0について

WinPE 2.0 の作成方法、および使用方法は、以下のページの特集が極めて分りやすい。

*参考リンク

@IT 管理者必携! 最強のデータ・サルベージ・ツールを自作する

WindowsPE 2.0“裏”活用Tips

これらを読めば、WinPEがどんなものであるか、どうやって作るのか、どうやって使うのかが一目瞭然である。ぜひ私のサイトを読む前に、一読することをお奨めする。

このサイトでなぜWinPEを取り上げるのか

上記のような素晴らしい解説ページがあるのに、なぜまた新たに解説コーナーを作るのか?それには幾つか理由がある。

  1. 起動トラブルのコンテンツを扱うサイトとして、有力なレスキューツールの1つとして紹介しておかないわけにはいかない。
  2. 作製環境の違いにより注意しなければならない点があるので、それを述べておきたい。
  3. WinPEのVer.2とVer.3で、作製方法に相違点があるので、説明しておきたい。
  4. 日本語IMEの導入方法に触れておきたい。
  5. WinPEは搭載メモリに対する要求が高いので、これを緩和する方法を紹介したい。
  6. WinPEを使ったレジストリへのアクセス方法については意外とWeb上の情報が少ない。一応説明しておきたい。

と、今の段階でこれくらいの理由がある。

WinPE自体はなかなか奥が深くて、極めようと思えば大変興味深い研究対象なのだが、このサイトではWinPEを深く掘り下げるのではなく、単にレスキューツールを作るという観点からアプローチして行こうと思う。


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