アプリ版:「スタンプのみでお礼する」機能のリリースについて

MBR部分がウイルスに感染したと思われる場合、CDドライブにLinuxベースのデータ消去ソフトCDを入れ、BIOSでCDドライブからブートさせた後、その消去ソフトからMBR部分も含めてHDDデータ全てをゼロフィルしています。


1

CDドライブからデータ消去ソフトをブートさせた後データ消去を実行する前にその前提として、
データ消去ソフトがブートされた時に、HDDの存在をデータ消去ソフトが認識する必要があります。

データ消去ソフトがHDDの存在を認識したときに、HDDのMBRが読み込まれMBRにあるウイルスが活動してゼロフィル作業をブロックするということはありえますでしょうか?


2

パソコンの電源を入れたときに、BIOSがHDDを含めて各デバイスを認識すると思います。
この認識作業のときに、HDDのMBRが読み込まれ、そのMBR部分のウイルスが実行されるということはあるでしょうか?

データ消去ソフトのCDがCDドライブからブートされる前に、すでにMBRのウイルスが実行されている状態です。

A 回答 (4件)

>1


>CDドライブのlinuxOSは内蔵HDDの存在を認識するだけで内蔵HDDのデータ消去を開始できるのでしょうか。

「物理フォーマットのコマンドを送るだけ」で済ますなら「内蔵HDDの存在を認識したら、フォーマットコマンドを送出するだけ」で充分。

>それともMBR部分のパーティションテーブルにアクセスして内蔵HDDのパーティション状況を把握して初めて内蔵HDDのデータ消去を開始できるのでしょうか。

「ゼロフィルする」のであれば、MBRもパーティションテーブルも読む必要は無い。

単に「ドライブに対し、最大セクタ番号を問い合わせて、書き込みコマンドとゼロで埋まったデータを送出するのを、0セクタ目から最大セクタまで繰り返すだけ」で良い。

>2
>BIOSが外部機器を認識するのは、chie65535様の上記の説明のおかげで理解できました。

>>「ドライブの認識」と言うのは「読み込んでみて、ドライブとして正しい規定のデータが入っているか確認すること」

この場合の「ドライブ」とは「フォーマット済みの論理ドライブ」のこと。

物理ドライブを「物理フォーマット」する事によって、パーティションを作ったり(ブート用にMBRを書き込む事も含む)、パーティションを論理フォーマットしたりが可能になる。

>それでは、CDドライブからlinuxOSがブートされた時に、そのlinuxOSがパソコン内蔵HDDを認識する手順はどのようなものでしょう?

「内蔵HDDを認識する」にも、段階(レベル)がある。

「物理的な装置としてのみ認識する」のか「物理フォーマットが終わっていてパーティション単位で認識する」のか「パーティションの中にどのようなファイルシステムが存在するのか認識する」のか明確でないと、この質問には答えられない。

>そして、その認識には自動的に内蔵HDDのMBRへのアクセスは含まれるのでしょうか?

MBRは「ブート時にのみ使われる物」であるから、MBRなど無視して認識する。MBRの存在を確かめているのは「BIOSが、そのドライブからブートする時」のみ。

ブート時、BIOSが実際にやっている処理は「物理ドライブの第0セクタを1セクタ(512バイト)だけ読み込んで、末尾に「55 AA」の2バイトがあるか確かめて、あったら、読み込んだ512バイトの先頭バイトの所にジャンプするだけ」である。

読み込んだ512バイトの先頭には、446バイトの「ファーストブートローダープログラム」が居る。

>3

>すでにCDドライブからlinuxOSがブートされているのでwindowsOSは起動させる必要はなく、linuxOSは内蔵HDDのMBRのブートストラップローダを無視し読み込まない、またはブートストラップローダはWindowsOS用であるから、そもそもlinuxOSから解読できず実行できない。

当たらずも遠からず。

>すでにCDドライブからlinuxOSがブートされているのでwindowsOSは起動させる必要はなく

までは合っている。

>linuxOSは内蔵HDDのMBRのブートストラップローダを無視し読み込まない

物理ドライブの第0セクタには、MBR以外に、パーティーションテーブルが混在しているので「MBRの存在するセクタを読み込む」事はある。

「そのHDDにlinuxOS用のパーティションがあるかも知れない」ので、ドライブをマウントすれば、結果的に「MBRが存在するセクタを読み込む」事になる。

>またはブートストラップローダはWindowsOS用であるから、そもそもlinuxOSから解読できず実行できない。

「第0セクタにあるMBRのブートローダー」はOSに依存しない。

MBRにあるブートローダーは「起動可能になっているパーティションの先頭にある筈のローダーを読み込んで、それを実行するだけ」に過ぎない。

「パーティションの先頭にある筈のローダー」は、各パーティションに入っているOS専用のローダーである筈なので、この「2回目に読まれたローダーは、OSに依存する。

と言うのがタテマエだが、OSの中には「MBRを自分用に書き換えてしまうアホンダラ」も居る。例えば、linuxのLILOなどがそうである(本来、MBRはOSに依存しない「聖域」であった筈なんだが)

>そして内蔵HDDのデータ消去の際には、内蔵HDDのMBR内のパーティションテーブルがlinuxOSによって読み込まれて、linuxOSは内蔵HDDのパーティション状況を把握。

「第0セクタから最終セクタまでゼロで埋める」のに、MBRもパーティションもクソもない。

「すべて無視して、第0セクタから最終セクタまでゼロで埋めれば良い」のであるから、MBRがあろうが無かろうが関係ないし、パーティション状況を把握する必要も無い。

必要なのは「最大セクタ番号が何番であるか?」だけである。

>その把握後、データ消去作業が開始される。

だ~か~ら~、データ消去に「パーティション状況の把握」なんて必要ないってば。

データ消去の実行前に「消去するように指定したドライブのパーティション状況を画面に表示して、確認を求める」という親切設計なら、パーティション状況を把握してあげる必要はある。

しかし「装置名を取得して、その装置名を表示して、確認後に消去を実行するだけ」なら「1バイトたりともリードせず、いきなりゼロを書き込めば良い」ので、HDDを一切リードする必要は無い。

>この考えで良いでしょうか?

良くない。

以下蛇足。

MBRがウィルス等により書き換えられた場合は、XPまでなら、フロッピー等でMS-DOSを起動して「FDISK /MBR」でMBRを修復可能。

vista以降の場合「FDISK /MBR」を行うと、MBRの「NTシグネチャ」が消されて、Windowsが起動しなくなるので、OSのインストールCDで起動して、回復コンソールで「Bootrec.exe /FixMbr」でMBRを修復可能。

Linuxなど、その他のOSにも「install -mbr」など、MBRを修復出来るコマンドが必ずある。

んで、MBRのように「簡単に修復可能な物」なら良いが、前述の「2回目に読まれる、OS依存するローダー」は、簡単には修復出来ないので、ここがウィルスに感染すると非常に厄介になるのだ。
    • good
    • 0

>HDDのMBRは読み込まれる。

従ってMBRのウイルスが実行される
>HDDのMBRは読み込まれる。従ってMBRのウイルスが実行され

「読み込まれても実行はされない」と言う状態がある事を理解しないと、貴方の疑問は一生解決しない。

「読み込むこと」と「実行すること」は、まったく別々の事象であり「読み込まれても実行しなければ何も起きない」と言う事を理解してから出直して来て下さい。

「ドライブの認識」と言うのは「読み込んでみて、ドライブとして正しい規定のデータが入っているか確認すること」であって、読み込んだデータは実行されたりしない。

「ドライブからの起動」と言うのは「読み込んでみて、ドライブとして正しい規定のデータが入っているか確認した上で、ブート用プログラムを読み込んで、読み込んだブート用プログラムを実行すること」であって、読み込んだデータは実行される。

貴方が「MBRが読み込まれると、そのMBRは必ず実行される」と言う勘違いをしている限り、回答者は「勉強して出直して来い」としか言えない。
    • good
    • 0
この回答へのお礼

自分でも何が分からないのかが分からない状態になりつつあります。
私の知識不足のせいで、イライラを感じることもあるかと思いますがどうかよろしくお願いします。



1

CDドライブのlinuxOSは内蔵HDDの存在を認識するだけで内蔵HDDのデータ消去を開始できるのでしょうか。

それともMBR部分のパーティションテーブルにアクセスして内蔵HDDのパーティション状況を把握して初めて内蔵HDDのデータ消去を開始できるのでしょうか。


2

>BIOSが外部機器を認識する時には、機器に対して、16進数で「EC」と言うコマンドコードを送るだけ。

>一定時間内に応答がなければ、機器無し、応答があれば、応答内容に機器名称などが返されて来るだけ。


BIOSが外部機器を認識するのは、chie65535様の上記の説明のおかげで理解できました。


>「ドライブの認識」と言うのは「読み込んでみて、ドライブとして正しい規定のデータが入っているか確認すること」


それでは、CDドライブからlinuxOSがブートされた時に、そのlinuxOSがパソコン内蔵HDDを認識する手順はどのようなものでしょう?
そして、その認識には自動的に内蔵HDDのMBRへのアクセスは含まれるのでしょうか?


3

>貴方が「MBRが読み込まれると、そのMBRは必ず実行される」と言う勘違いをしている限り、回答者は「勉強して出直して来い」としか言えない。


すでにCDドライブからlinuxOSがブートされているのでwindowsOSは起動させる必要はなく、linuxOSは内蔵HDDのMBRのブートストラップローダを無視し読み込まない、またはブートストラップローダはWindowsOS用であるから、そもそもlinuxOSから解読できず実行できない。

そして内蔵HDDのデータ消去の際には、内蔵HDDのMBR内のパーティションテーブルがlinuxOSによって読み込まれて、linuxOSは内蔵HDDのパーティション状況を把握。
その把握後、データ消去作業が開始される。

この考えで良いでしょうか?

お礼日時:2013/03/05 14:43

あの、悪いですけどブートシーケンスを知っていれば自ずと答えは導き出せますよ。




答えだけ先に教えて上げます。


>データ消去ソフトがHDDの存在を認識したときに、HDDのMBRが読み込まれMBRにあるウイルスが活動してゼロフィル作業をブロックするということはありえますでしょうか?


ないです。


>パソコンの電源を入れたときに、BIOSがHDDを含めて各デバイスを認識すると思います。
この認識作業のときに、HDDのMBRが読み込まれ、そのMBR部分のウイルスが実行されるということはあるでしょうか?


いえ、光学ドライブからのブートにしてあると読まないです。




あとは、ご自分でお調べになって下さい。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>データ消去ソフトがHDDの存在を認識したときに、HDDのMBRが読み込まれMBRにあるウイルスが活動してゼロフィル作業をブロックするということはありえますでしょうか?

>ないです。


CDドライブからブートしたlinuxベースのデータ消去ソフトがwindowsパソコン内のHDDの存在を認識したとき

1
内蔵HDDのMBRは読み取らない

2
内蔵HDDのMBRの内、ブートストラップローダは読み取らないがパーティションテーブルは読み取る

3
内蔵HDDのMBRにあるブートストラップローダ・パーティションテーブルの両方を読み取る


のどれでしょうか。

お礼日時:2013/03/05 00:17

>HDDのMBRが読み込まれMBRにあるウイルスが活動してゼロフィル作業をブロックするということはありえますでしょうか?



普通なら、有り得ない。

BIOS認識の時点では、MBRは読まれておらず、MBRは実行されていない筈。

ぶっちゃけ、ネイティブモードで実行し、BIOSルーチンも使用しないでI/Oを直に叩いて、HDDに物理フォーマットコマンドを送出すれば、HDDのファームウェアがウィルス感染してない限り、如何なるウィルスもフォーマットを防げない。

>2

認識するだけなら、有り得ない。

この認識作業のときに、HDDのMBRが読み込まれ、そのMBR部分のウイルスが実行されるということはあるでしょうか?

BIOS設定で起動順序をCD→HDDの順にしてあれば、HDDのMBRはアクセスされない。

HDDに限らず、SATA、IDEの機器には「コマンド」と言うのがあって、送出したコマンドによって「フォーマット」や「機器情報の返送」や「書き込み」や「読み込み」が行われる。

BIOSが外部機器を認識する時には、機器に対して、16進数で「EC」と言うコマンドコードを送るだけ。

一定時間内に応答がなければ、機器無し、応答があれば、応答内容に機器名称などが返されて来るだけ。

>データ消去ソフトのCDがCDドライブからブートされる前に、すでにMBRのウイルスが実行されている状態です。

CD起動して、うまくHDDをゼロフィル出来ないとしたら、以下のような事が考えられる。

・起動用CDを作成する時に、起動用CDに書き込んだMBRの元データが、ウィルス感染済みのHDD上のMBRで、出来上がったCDのMBRもウィルス付きになった。

この場合、HDDのMBRがウィルスに感染していない、健康なパソコンでCDを作成する必要がある。

・ウィルス感染したのがHDDのMBRではなくBIOSで、BIOSのHDD書き込みルーチンがウィルスに乗っ取られている。

この場合、BIOSルーチンを使う限り、ウィルスの行動を阻止出来ない。BIOSを使わずにHDDにアクセスするか、BIOSそのものを初期化する必要がある(BIOSの初期化は、BIOS設定の初期化の事ではない。BIOSプログラムそのものの初期化の事である)

うまく消去できないとしたら、上記の2つのどちらかであろう。

何故なら「認識するだけでウィルスに感染するのは絶対に有り得ない」からだ。

CD起動したにも関わらずウィルスが活動するとしたら「BIOSそのものが感染して乗っ取られ、BIOSにウィルスが居る」か「CDのMBRにウィルスが居る」か、どちらかしか有り得ない。

以下の試す事をお薦めする。

1.MBRがウィルスに感染していないHDDを積んだ健康なパソコンで、健全なCDを作成する。

2.BIOSがウィルスに感染していない健康なパソコンに、感染したと思われるHDDを繋いで、上記1.で作成した、健全なCDから起動して、ゼロフィルソフトを起動してみる。

ともかく、HDDのMBRが感染していると思われる不健康なパソコンや、BIOSが感染していると思われる不健康なパソコンでは、CDを作成しても無意味である。

感染パソコンでは、CDそのものにウィルスがコピーされて、感染CDが作られてしまう可能性があるし、BIOSが感染しているなら、何をしても無駄である。
    • good
    • 0
この回答へのお礼

HDDのMBRではなくBIOSがウイルス感染している時は、ゼロフィルができない事はよくわかりました。


BIOSではなくHDDのMBRがウイルス感染している場合、CDドライブからデータ消去ソフトをブートさせた後、HDDの存在をデータ消去ソフトが認識した時には


A

HDDのMBRは読み込まれない。
従ってMBRのウイルスは実行されず、問題なくHDDの全てのデータをゼロフィルできる

B

HDDのMBRは読み込まれる。従ってMBRのウイルスが実行されるが、データ消去ソフトのゼロフィル作業はブロックされず、HDDの全てのデータをゼロフィルできる

C

HDDのMBRは読み込まれる。従ってMBRのウイルスが実行され、データ消去ソフトのゼロフィルはブロックされる。HDDのゼロフィルは失敗に終わる。


のどれでしょうか?

お礼日時:2013/03/01 15:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!