WinPEにおいて、notepad と打ち込むとメモ帳が起動することは、第4章で確認してもらったとおりである。
ところが、そのメモ帳で「かな入力」ができない。英数字は入力できるが、漢字はもちろんひらがなも入力できないのだ。これはIMEという日本語入力システムが起動していないからだ。
そこで、WinPEにMS-IMEを導入する方法を紹介する。ただしMS-IMEを導入したあともコマンドプロンプト上では日本語入力はできないし(Alt+半角/全角キーも効かない)、たとえば手書き入力パッドのような付加機能も利用することができない。IMEを導入することによるメリットはそれほど多くはないかもしれない。
この章の一番の目的は、日本語入力を可能にすることではなく、WinPEをカスタマイズすることの基本的方法を理解することにある。IMEはその素材に過ぎない。
wimファイルがイメージファイルであることは第3章で述べた。これをカスタマイズすることなくそのまま利用したのが第3章の「最も簡単な方法」だったが、それではどうやってカスタマイズするのだろうか?
第3章で、copype.cmdを実行した直後のwinpe_x86フォルダの構成を見てみると以下のようになっている。
winpe_x86 ├ ISO │ ├ boot │ ├ EFI │ ├ sources │ │ └ boot.wim │ └ bootmgr ├ mount ├ etfsboot.com └ winpe.wim
このうちmountフォルダというものがあるが、これは中身が空っぽで何の役に立つのかが分からないと思う。最終的にWinPEのisoファイルになる部分はISOフォルダ以下の部分だから、mountフォルダは範疇外である。同じ範疇外と言う意味ではetfsboot.comも同じだが、こちらはoscdimgでisoを作る段階でブートローダーとして使われる大事なファイルだ。これがなければブータブルCDにはならない。またもう1つのwinpe.wimもboot.wimのコピー元なので存在理由は分かる。mountフォルダだけが不要なもののように思える。
実はmountフォルダはカスタマイズ時の作業用フォルダなのである。イメージファイルであるwimファイルは、一種の圧縮ファイルである。そのままでは加工できないので、一度中身を展開して、カスタマイズして、再びwim形式で纏め直すという手順が必要だ。たとえば、「あけましておめでとう」と書いたテキストファイルをzip形式で圧縮したとしよう。ところが文章を「新年あけましておめでとう」に変更したくなったとしたら、zipファイルのままでは変更は難しい。一度展開してテキストファイルを取り出し、新年という文字を追加して上書き保存してから、再びzip圧縮しなおすことになるだろう。wimの場合も考え方は全く同じである。その際の展開先としてmountフォルダと言う場所を使おうというわけだ。
ところで、wimを展開するにはどうしたらよいのだろう。これはWinPE2ではImagex.exe、WinPE3ではDism.exeという実行ファイルを使う。どちらもそれぞれのバージョンのWin AIKに含まれているものである。
今後のこのコーナーの解説方法であるが、バッチファイルを配布して、それを解説していく方法をとっていこうと思う。第3章の場合と違ってコマンド数が多いため、打ち込みミスとかが出るのを避けるためである。
とりあえず、このあとを読み進める前に、以下のファイルをダウンロードしておいてもらいたい。
ダウンロードしてもらった配布ファイルを展開するとWinPE2というサブフォルダがあると思う。その中のWinPE2.CMD・WinPE_CD2.CMD・IME.CMD・Wimscript.iniをHDD上の任意の場所にコピーしておく。ただし4つのファイルはすべて同じディレクトリに置き、パスにスペースや日本語名が入らない場所を選ぶことが必要だ。(Program FilesとかDocuments and settingsとかは避ける)
ダウンロードしてもらった配布ファイルを展開するとWinPE3というサブフォルダがあると思う。その中のDISM.CMD・DISM_CD.CMD・IME.CMDをHDD上の任意の場所にコピーしておく。ただし3つのファイルはすべて同じディレクトリに置き、パスにスペースや日本語名が入らない場所を選ぶことが必要だ。(Program FilesとかDocuments and settingsとかは避ける)
1.スタートメニューから「すべてのプログラム」→「Microsoft Windows AIK」→「Microsoft PE Tools コマンドプロンプト」→「Windows PE Tools コマンドプロンプト」とめぐり、その上で右クリックして「管理者として実行(A)...」を左クリックする。
administratorでログオンしている場合は、普通に進めることで、管理者として実行したことになる。 |
2.起動したコマンドプロンプトにおいて、手順1で準備しておいたWinPE2.CMDを呼び出す。たとえば、WinPE2.CMDら4つのファイルをC:\Test\に置いた場合には以下のコマンドになる。
C:\Test\WinPE2.CMD
これでバッチファイルが実行され、C:\Test\winpe_X86\にWinPE2.isoと言う名前で、isoファイルが作製される。
1.スタートメニューから「すべてのプログラム」→「Microsoft Windows AIK」→「Deploymentツールのコマンドプロンプト」→「Windows PE Tools コマンドプロンプト」とめぐり、その上で右クリックして「管理者として実行(A)...」を左クリックする。
2.起動したコマンドプロンプトにおいて、手順1で準備しておいたDISM.CMDを呼び出す。たとえば、DISM.CMDら3つのファイルをC:\Test\に置いた場合には以下のコマンドになる。
C:\Test\DISM.CMD
これでバッチファイルが実行され、C:\Test\winpe_X86\にWinPE3.isoと言う名前で、isoファイルが作製される。
WinPE2.CMDの詳しい解説はこちらを参照のこと。
WinPE3.CMDの詳しい解説はこちらを参照のこと。
ポイントは、wimファイルをimagex.exeあるいはdism.exeでマウントしておいて、カスタマイズするところである。マウントするとwimファイルの中身がmountフォルダに展開されると書いたが、正確には普通の圧縮ファイルの展開とは少し異なっている。
イメージとしては、本体と仮想体、あるいは実像と虚像と言った感じだろうか。wimファイル本体はそのままではカスタマイズできないのでマウントする。するとmountフォルダに中身が写し出される。我々はその写し出された虚像を操作してカスタマイズすることはできる。そしてマウントを解除する時に、施したカスタマイズが反映されるように、commitオプションを指定してアンマウントするのだ。そうしておくとwimファイルの再構築が行われ、結果的にwim本体を直接カスタマイズした場合と同様の効果を得ることができると言うわけだ。
今回行っているカスタマイズは2つだけだ。
IME.CMDの解説は、こちらを参照のこと。このバッチファイルは私が作ったわけではなく、Microsoftが方法を解説したものをほんの少し微調整したものだ。(なおWinPE3.0RC版のヘルプに記載されているものは、細かいミスプリントが多くてそのままでは使えない)
WinPE2.CMD・WinPE3.CMDが行っている作業は大まかな流れで言うと、
である。imagex.exeやdism.exeの詳しいオプションに興味がある方は、WinPE.zipに同梱したヘルプファイル(英語)を参照のこと。