和歌山のプログラミング・システム開発ならシステムキューブ
ウィルスで正常に起動しなくなったパソコンからウィルスを取り除き、正常な状態に復旧する方法を再び考えてみます。
AVGレスキューCDを使用したマルウェア(File Restore)からの回復例
この例ではAVGレスキューCDという最小限のLINUXに、AVGというアンチウィルスソフトがインストールされたCDを利用して作成しました。
今回WindowsPEというマイクロソフト製のCDなどから起動できるトラブルシューティングツールを利用してみたいと思います。
http://www.microsoft.com/ja-jp/download/details.aspx?id=5753
http://www.microsoft.com/ja-jp/download/details.aspx?id=5188
Windows7上で作業しますので、上記URLからISOイメージをダウンロードして、DVDに書き込みます。
そのDVDからセットアップを実行し、インストールを行います。
WindowsAIKセットアップを選択
インストール中
セットアップ終了後に、二枚目のDVDからセットアップフォルダに上書きを行うと、WindowsPE3.1を利用できるようになります。
今回、起動用CDイメージが固まるまではUSBメモリーを一つつぶして、テスト用にしてみたいと思います。
毎回CD-Rを書き込んで、修正していくよりはUSBメモリを利用して、環境を固めていく方が効率的です。
まず、USBメモリを起動可能な形で操作します。
この操作にはDISKPARTというコマンドを利用しますが、利用方法を誤ると、使用中のパーティーションを失ってしまいますので、記述されている内容をよく理解できなければ、実行しないでください。
管理権限で実行したコマンドプロンプトから
[text]
diskpart
[/text]
と入力すると、diskpartが起動します。
[text]
list disk
[/text]
で容量などから加工すべきUSBメモリのディスク番号がわかりますので、
[text]
select disk [番号]
[/text]
で選択します。ここでディスク番号を間違うと、必要なデータの入ったドライブを削除してしまうことになります。
[text]
clean
[/text]
ですべての内容を削除します。
[text]
create partition primary
[/text]
でパーティションを作成します。
[text]
list partition
[/text]
でプライマリのパーティションが一つ作成されていることを確認します。
[text]
select partition 1
[/text]
で選択し、
[text]
active
[/text]
でアクティブ化します。これで起動ディスクとして利用できます。
[text]
format quick fs=fat32
[/text]
でFAT32形式でクイックフォーマットし、
[text]
assign
[/text]
でドライブレターが割り振られ、windows上ではUSBメモリを接続したときのような、ポップアップが上がってくると思います。
ここでDISKPARTの作業は終わりです。
Deploymentツールのコマンドプロンプトを管理者として実行します。
そこからWindowsPEのイメージ作成用のディレクトリにイメージの元をコピーします。
下記のコマンドでは、x86アーキテクチャのイメージをc:\peに作成します。
レスキュー用としてはx86を選んでおくのが無難でしょう。
作成先は既に存在するディレクトリでは作成されません。
[text]
copyre x86 c:\pe
[/text]
作成されると作成先のディレクトリに移動しますので、イメージのマウントまでをコマンドで行います。
[text]
copy winpe.wim c:\pe\iso\sources\boot.wim
dism /mount-wim /wimfile:c:\pe\iso\sources\boot.wim /index:1 /mountdir=c:\pe\mount
[/text]
これでboot.wimのイメージがc:\pe\mountへ展開されマウントされます。
このようにmountフォルダ内にはWindowsPE実行時のディレクトリが展開されます。
ここに追加するプログラムなどを加えていき、再度イメージ化する、という手順を行います。
今回フリーのアンチウィルスソフトClamWinのポータブル番をインストールしてみたいと思います。
portbleapps.comというUSBなどから起動できる形に加工してくれているアプリのサイトから、ClamWinのポータブル版をダウンロードします。
http://portableapps.com/apps/security/clamwin_portable
exeファイルがダウンロードされますので、実行し、わかりやすい場所に展開します。
これをc:\pe\mount\program filesにコピーします。
これだけではClamWinはWindowsPE上から実行できません。
WindowsPEは実行イメージをRAMディスク上に展開するのですが、RAMディスクのフリーエリアが少なく、ClamWinのウィルス定義ファイルが保存できません。
[text]
dism /image:c:\pe\mount /get-scratchspace
[/text]
でスクラッチ領域を取得すると、32MBしかありません。ここは512MBまで広げることができますが、あまり大きくすると搭載RAMの小さいPCでは実行できなくなってしまいます。
[text]
dism /image:c:\pe\mount /set-scratchspace:256
[/text]
で256MBに拡張します。
これを確定してイメージ化します。
マウント解除に失敗しないように、エクスプローラーを閉じておきます。
[text]
dism /unmount-wim /mountdir:c:\pe\mount /commit
[/text]
commitで確定、破棄する場合はdiscardを記述します。
これでc:\pe\iso\sources\boot.wimが更新されます。
このisoフォルダの中身をそのままUSBメモリにコピーすると、起動用USBメモリの完成です。
PCのBIOSからブートドライブをUSBメモリに変更して、USBからブートします。
StartingWindowsと表示され、プログレスバーが表示されれば、成功です。
起動すると、x:\windows\system32ディレクトリをカレントディレクトリとして、コマンドプロンプトが起動しています。
このxドライブがRAMディスクとして展開されたWindowsPEドライブです。
ここで、
[text]
cd x:\Program Files\ClamWinPortable\
ClamWinPortable.exe
[/text]
というように、インストールディレクトリからClamWinを実行します。
このWindowsPEはそのままであれば有線ネットワークしか認識しないので、ウィルス定義ファイルのダウンロードにはイーサネットケーブルをつなぎます。
このようにウィルス定義ファイルをダウンロードすることで、最新の定義ファイルを保存し、スキャンすることができます。
これでうまく動作するイメージが作れれば、ISOイメージを作成します。
[text]
oscdimg -n -bc:\pe\etfsboot.com C:\pe\iso C:\pe\WindowsPE.iso
[/text]
アンチウィルスだけであれば、AVGレスキューCDを利用するほうが簡単です。
WindowsPEはマイクロソフトが提供していることもあり、Windowsのファイルシステムを操作するには、LINUXのライブCDをつかうよりは安心感があります。
またその他Windowsアプリも複雑なもの(様々なDLLや.netフレームワークなどを必要とするもの等)以外は、インストールして、救出、復旧作業用にインストールすることができます。
ファイラーを入れれば、起動しなくなったり、ウィルス感染したシステムドライブから、ウィルスを除去してから、USBハードドライブに必要なファイルをバックアップ。
その後リストア・復旧作業を行うなど、様々なカスタマイズが可能で、それを1CDで行えるWindowsPEはかなり魅力的であるといえます。