[トップへ戻る]
11. EWFの導入
SSD保護のための最強の手段?EWFの導入だ.EWFとはEnhanced Write Filterの略で,これは,ディスクに書き込まれたはずのものをメモリ上に格納する機能.Windows終了時にまとめて適用することもそのまま変更点を破棄することも可能.
いわば,ディスク全面にRAMドライブを敷いているようなものだ.これは,うまく使えば,
・書き込みが減り高速化,特にプチフリ対策として強力
・ウイルスを踏んでもコミットせず終了すればなかったことにできる
・終了時にまとめて書き込むのでSSDの負担若干減
など強力なものの,
・導入が若干面倒
・導入に失敗するとリカバリ行き?
・そのまま終了するとEWF有効ドライブの書き込みがすべて破棄
・搭載メモリに関係なく,書き換えの容量制限がある.
などのリスクがある.また,書き込みを全てメモリに置くために,メインメモリは最低1GBはあった方がいい.少なくとも512MBでは無謀だ.はっきり言って,中上級者向けなので,興味本位だけで導入はしないほうがいい.
ここまで見てきた人は,RAMドライブとどう違うのか不明に思うかもしれない.若干違います.RAMドライブはメモリ上に仮想ディスクを作る.EWFは既存のハードディスク上に,メモリでもって仮想的なレイヤーを作る.RAMドライブは普通のドライブに近い.それに対し,EWFはファイルシステムより下層なので,ファイルという概念はなく,セクタ単位で動く.既存のファイルを何回も書き換える場合は同じセクタを使うが,ファイルを作ったり削除したりする場合は同じセクタを使うとは限らず,EWF上で容量を使う可能性があるので,お勧めできない.つまり.RAMドライブはブラウザのキャッシュやTEMP向け,EWFはアプリの設定ファイル向けである.よって,両方導入する意義はあるものと思われる.
そもそも,EWFは本来Windows XP Embededd向けのものだ.それでも裏技的にこれを導入する方法が複数ある.ここではShared Computer Toolkitを使う方法を使う.
XPeSP2FeaturePack2007利用はこちら
まずは,Shared Computer Toolkitをインストールすることから始める.ただし,Shared Computer Toolkitは現在Windows SteadyStateに置き換わっており,MSから入手できないので,海外のサイトからダウンロードする必要がある.さらに,Shared Computer Toolkitをインストールするために,UPHCleanを先に入れる必要がある.こちらはtoolkitからリンクでもいいが,直リン可能だ.もう一つ,WGAを,入れていない人は導入する必要がある.ネットブックを持っているということはWinも正規版のはずなので問題はないはず.なお,AyameNBやNetbookCMDでは直リンがそろっているので順番にダウンロードすればOKです.
要は,UPHClean → WGA → Shared Computer Toolkit の順だ.
ここまで来てやっとShared Computer Toolkitを入れられます.インストールの途中でRegisterしろとボタンが出てきますが華麗に無視しましょう.
インストールが終わったら,EWFを使うために設定を書き換える.っと,その前に,対象のレジストリを書き換えられるようにアクセス権限を変える必要があります.ファイル名を指定して実行から,regedit などでレジストリエディタを開き,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enmu\Rootキーを開き,
右クリックからアクセス許可を選ぶ,Everyoneの欄で,フルコントロールを,許可にします.
次に,いよいよ対象のレジストリを書き換えます.とはいっても,レジストリの設定ファイルを取り込むだけなので簡単だ.今回はCドライブのみEWFを有効にするファイルだけしか用意していない.Dドライブも有効にする場合は自分でファイルを書き換えてください.なお,機種によって読み込むファイルが異なるので注意しよう.(違う原因はパーティーションの配列.違う方を取り込まないようにしよう.)さらに,PerfectDiskが導入しているときはそこを対策したものを使おう.
EeePC901-X/その他用 →
ewf.reg
EeePC4G-X用(EFI領域対策) →
ewf4gx.reg
その他の機種はパーティーション構成がちょっと不明なので,構成を見てどちらを使うかを決定してください.まず,マイコンピュータを右クリックで管理,などで管理ツールを起動.ディスクの管理を開く.
←ならば(Windowsが先頭)901-X用,→ならば(先頭にWindows以外の領域)4G-X用を適用しよう.なお,2つのファイルのうち,違うのは以下↓だ.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
"Type"=dword:00000001
"ArcName"="multi(0)disk(0)rdisk(0)partition(1)"
901-Xの場合はPertition(1),4G-Xの場合はPertition(2)だ.
全体の解説はこちら
また,PerfectDiskを導入している場合は,
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager](改行)"BootExecute"="" の2行は削除orコメントアウトしておく必要がある.そうでないと無限ループになる...?らしい.EWFスレ参照.さらに,応用で,901-XのDドライブにもEWFを適用することもできる.
PerfectDisk対策版→(901-X/その他)/(4G-X)
次に,必須ではないが,C:\Program Files\Microsoft Shared Computer Toolkit\binの,EWFMGR.EXEを,%systemroot%(通常はC:\WINDOWS\),もしくはsystem32にコピーしておくとよい.やっておくとコマンドラインを打つのが楽になる.(バッチファイルを作れば不要だが)
ここまで来て,再起動.再起動すると,EWFが有効になっているはずだ.スタートアップに変なの(無害だが)が加わっているので削除しておこう.
コマンドプロンプトでewfmgr c: (Cドライブの場合) と打つと,現在のEWFのステータスが表示される(system32にコピーしていない場合はフルパスを打ち込む).RAMRegモードが有効の時は,そのままだとCドライブへの変更点も破棄されるので,Windows終了前に,ewfmgr c: -commit を打ち込んでおく.これにより,Windows終了時に変更点をまとめて書き込(commit)んでくれる.パラメーターはこれだけでなく,いくつかある.もちろん,AyameNBやNetbookCMDにも搭載済み(system32へのコピーは不要).
・EWF有効時に使うもの
ewfmgr c: -nocmd → 取り消し用.終了時何もしない.
ewfmgr c: -commit → Windows終了時にcommitする.
ewfmgr c: -disable → 次回起動時からEWF無効
ewfmgr c: -commitanddisable → Win終了時commit+次起動からEWF無効
・EWF有効時,急速に書き込みが増えた場合
ewfmgr c: -commitanddisable -live → 即時commit+次起動からEWF無効
・EWF無効時に使うもの
ewfmgr c: -enable 次回の起動よりEWFが有効になる.
なお,commitせずに終了すると次回起動時に,ちゃんと終了しろというメッセージ&メニュー(英語)が表示されます.無視してそのまま起動でOKです.どうしても気になる人は,システムのプロパティ→起動と回復 から修正するか,C:\boot.iniを直接編集してください.修復画面を全く出さないといざというとき面倒なので,一瞬だけ出すようにするといいかも.
これで,一通りの作業は終わりです.
毎回コマンドを打つのは面倒くさいし状態も確認したい,という人は,補助ツールを導入するとより幸せになれるかもしれない.
EWFtoolというソフトで,EWF使用量が増えるor残りメモリが少なくなると,勝手にcommitしてくれるソフト.EWFplusと違いewfapi.dllは不要だ.
EWFが不要になって削除するときは,導入とは逆の作業をすればいい.AyameNBやNetbookCMDには削除を補助する機能がある.レジストリが100%もとに戻るとは限らないが,特に支障はないはずだ.
では,欠点に気をつけてうまく利用することを祈る.