気の向くままに辿るIT/ICT/IoT
システム開発

ウィルススキャン・ウィルス駆除ソフトをUSBメモリ/GRUB2/GPTでマルチブート

ウェブ造ホーム前へ次へ
ウィルススキャン・ウィルス駆除ソフトをUSBメモリ/GRUB2/GPTでマルチブートするには?

ウィルススキャン・ウィルス駆除ソフトをUSBメモリ/GRUB2/GPTでマルチブート

ウィルススキャン・ウィルス駆除ソフトをUSBメモリ/GRUB2/GPTでマルチブート

 今回、インストーラを中心にCentOS/Fedora、Debian/Ubuntu、FreeBSD/NetBSD/OpenBSD、更にレスキューツールとしてClonezilla、GpartedのLive版をマルチブート構成としたLive USBに、ついては、パーティションテーブル形式はGPT、ブートローダはGRUB 2がよさそうということで始めたのですが、結果的に単独で基本パーティションを要したのがFreeBSDのみでGRUB用とデータ保存用にパーティションを確保しても4つで事足りる為、MBRパーティションでも、よってGRUB LegacyでもOKでした。

 その後もPLoP Boot Manager、FreeDOS、SystemRescueCd、更に今回、Trinity Rescue Kit、ここで書いたAVGレスキューCD、Comodo Rescue Disk、F-Secure Rescue CDなども追加、Trinityのみファイル展開、その他はISOブートできたので、この時点でも、やはり、MBR形式でも事足ります。

 ちなみに多機能・高機能でLinuxもいけますが、主にWindowsのリカバリ・リペアツールであるTrinity Rescue Kitには、アンチウイルス機能もあり、Avast、BitDefender、ClamAV、F-PROT、Vexiraなど複数のウイルススキャン・駆除ツールのメニューもあります。

AVGレスキューCDをGRUB2で設定

 AVGレスキューCDは、他にUSB用ということで199MBのZIPファイルもありましたが、今回は、ISDディスクイメージavg_arl_cdi_all_120_160420a12074.iso(170MB)を使わせていただきました。

menuentry 'AVG Live Scan 120_160420a12074'{
    set root=(hd0,2)
    set isofile="/avg_arl_cdi_all_120_160420a12074.iso"
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz
#    initrd (loop)/usb/initrd.lzm
    initrd (loop)/isolinux/initrd.lzm
}
menuentry ' ' { echo }

 ISOをマウントして眺めるとvmlinuzとinitrd.lzmがisolinuxディレクトリにあったのでISOファイルをloopbackしてこれらを指定したところ素直に起動しました。

 ちなみにinitrd.lzmは、usbディレクトリにもありましたが、試していません。

 まず、「メニューからいつでもできるが、何をするにしても、まずは、アップデートした方がよい」旨のメッセージがあったので試してみると最新を落としたはずのISOディスクイメージの最新版があるとのことでこれのダウンロードが始まり、これが終わると利用にあたって同意を求められ、同意すると利用できる状態に。

 FATとNTFSのみを対象としているようでこれらのみが検出、選択可能となる為、FreeDOS/NetBSD/DebianをマルチブートしていたPCのFreeDOSとUSBメモリのFATパーティションのみ認識され、スキャンすることができました。

 AVGレスキューCDは、コマンドラインツールですが、テキストメニュー形式なので比較的容易に利用できます。

 この手のものは、[Space]で選択、[(矢印)]で移動、メニューとボタンの間は、[Tab]、[Shift]+[Tab]で移動できますが、AVGの場合、上下矢印でメニュー選択、左右矢印で[Select]、[Exit]?を選択、何れも決定は[Enter]というスマート?というか、合理的?というか、より簡単に操作できるようになっています。

 尚、対応するネットワークインタフェースは、ある程度、限られる模様

Comodo Rescue DiskをGRUB2で設定

 SliTazベースらしき、Comodo Rescue Diskについては、ISOディスクイメージcomodo_rescue_disk_2.0.261647.1.iso(51MB)を利用させて頂きました。

menuentry 'Comodo Rescue Disk'{
    set root=(hd0,2)
    set isofile="/comodo_rescue_disk_2.0.261647.1.iso"
    loopback loop $isofile
    linux (loop)/boot/bzImage
    initrd (loop)/boot/rootfs.gz
}
menuentry ' ' { echo }

 これもISOをマウントして眺めるとbzImageとrootfs.gzというそれらしいものがbootディレクトリにあったのでISOファイルをloopbackしてこれらを指定したところ素直に起動しました。

 あ、こうやるとデフォルトでGUIになりますね。。。今回はやりませんが、メニューを呼べば、グラフィカルとテキスト形式を選ぶことができます。

 但し、対応するネットワークインタフェースは、ある程度、限られる模様

 Comodoは、ブラウザMidori、テキストエディタLeafpad、ターミナルxterm、ファイルマネージャPCManFMなどもあり、ウィンドウマネージャにはOpenboxを使っており、Linuxライブとして使うこともできます。(何に使うことを想定しているのか、パッケージを相当絞り込んだ感がある一方でタスクバーには音量調整スライダも付いています。)

 Openbox上でメインメニューから選べる選択肢はこれらの他、デスクトップ設定(Preferences)、スクリーンショット(Screeshot)、Comodo Cleaning Eessentials(ウイルススキャン)ですが、デスクトップ設定で[Show Menus provided by WM When desktop is clicked]をチェックするとOpenboxメニューを表示でき、そこには、Slitaz Live CD/USB作成メニューもあります。

 肝心なウィルス検知ですが、[Full Scan]は選択するだけ、[Custom Scan]はデバイスとブート領域を含めてスキャンするか否かを選択でき、これらが完了した後は?[Smart Scan]を選択しても100%完了になっています。

 一方、なぜか[Smart Scan]を最初に実行するとデータベースのダウンロード完了で、くるくる回る画像内の進捗を表すパーセンテージが50%までいった時点で一向に進みません。。。なんで?ISOブートだとダメ?もう少し時間がかかるのか?

F-Secure Rescue CDをGRUB2で設定

 KNOPPIXベースらしきF-Secure Rescue CDは、rescue-cd-3.16-73600.iso(136MB)を使わせて頂きました。

menuentry 'F-Secure Rescue CD 3.16-73600 KNOPPIX Base'{
    set root=(hd0,2)
    set isofile="/rescue-cd-3.16-73600.iso"
    loopback loop $isofile
    linux (loop)/boot/isolinux/fsecure/linux bootfrom=/dev/sda2$isofile boot=isolinux keyboard=jp lang=jp
    initrd (loop)/boot/isolinux/fsecure/minirt.gz
}
menuentry ' ' { echo }

 これもISOをマウントして眺めるとlinuxとminirt.gzというそれらしいものがboot/isolinux/fsecureディレクトリにありましたが、これらの指定だけでは起動できず、調べてみることに。

 F-Secureで調べてもisoブート情報が見当たらなかった為、KNOPPIXのisoブートで検索したところ、どうやら起動オプションとしてbootfromが必要な模様、結果、この指定で落ち着きました。

 bootfromの/dev/sda2を/dev/sda1とすると起動できず、ISOディスクイメージを置いてある(だけの、)GRUB 2が認識する1つめのディスクの2つめのパーティション(hd0,2)とマッチするのか、/dev/sda2としたらいけました。

 F-Secureを起動するとスキャン、プロキシ設定、マシンのリブートの3択、スキャンを開始するとhydralinux、aquapackedなるウィルス定義データベースをダウンロード、これが終わるとエンドユーザーライセンスの同意書(End User Lisence Agreement)が表示され、これに同意(I Agree)するとMBRやデバイスの選択画面が表示され、選択後、スキャン開始ボタンでスキャンが始まり、経過表示、終わって何らかのキーを押すと結果と共に再スキャンするか、マシン再起動の2択のボタンが表示されます。

 尚、対応するネットワークインタフェースは、ある程度、限られる模様

 定義ファイルのダウンロードに失敗した場合、[Ctrl]+[c]で中断、[Enter]で、その後の流れを継続できます。

 F-Secureは、各種ファイルシステムに対応しているのか、ディスク選択時、デフォルトで少なくともfatだけでなく、Unknownながらext4のパーティションも選択されており、また、MBRのスキャンも選択肢にありました。

 こういったメニューは、[Space]で選択、[(矢印)]で移動、メニューとボタンの間は、[Tab]、[Shift]+[Tab]で移動できたりします。

 尚、こんな感じなので[Alt]+[F2]などとしない限りは、ログインシェルに落とすこともできないことから、ブートオプションのkeyboard=jpやlang=jpはあってもなくても変わらないっぽいです。(keyboardをjpにして[Alt]+[F2]したとしても英語キーボード。)

 ちなみに[Alt]+[F2]するとプロンプトのホスト名はMicroknoppixとなっています。

ネットワークインタフェース対応について

 Live版は入れ替えない限りカーネル含めシステム部分はアップグレードされず固定される為、致し方ない部分ですが、ドライバ(チップセット)によって対応するネットワークインタフェースは、ある程度、限られる様です。

 今回の検証では、デスクトップPavilionノートパソコンdynabook共に内蔵NICは、認識されました。

 一方、実は、このdynabook、内蔵NICが壊れた模様だった為、USB無線LANアダプタWLI-UC-GNM2(ドライバ・チップセットRalink製RT3070)を常用、たまにUSB有線LANアダプタLUA3-U2-ATX(ドライバ・チップセットASIX製AX88772)を使っており、有線の方が簡単なので最初、後者で試したところ、ネットワークが自動認識されませんでした。

 ソフトによっては、手作業で有線・無線のネットワークを設定できますが、当然のことながら、ネットワークインタフェースが認識されないとネットにつながらないのでウィルスデータベースの更新ができません。

 USB有線LANアダプタでダメだった為、今回、試しにdynabookの内蔵NICにLANケーブルを挿してやってみると、何とか、もちこたえたのか、実は壊れていないのか、少なくともウィルス検知ライブを試す間は、問題なく、ネットワークにつながったことから支障なく検証できた次第。

ウェブ造ホーム前へ次へ