プロが教える店舗&オフィスのセキュリティ対策術

CD-ROMドライブから起動した場合のドライブの認識方法について教えてください。

内蔵HDDはCドライブ、[外付けHDD]または[USBメモリ]はEドライブなどと表示されますが、その認識方法はどのようになっているのでしょう?

xpのパソコンがあり、そのパソコンに[外付けHDD]または[USBメモリ]が接続されているとします。

内蔵HDDはブートデバイスとせず、CD-ROMドライブをブートデバイスとします。


===============================================

Aパターン

LinuxOSのKnoppixをCD-ROMドライブからブートした場合、



内蔵HDDを認識する手順は

内蔵HDDのMBRにあるブートローダが起動して、内蔵HDDのMBR内のパーティションテーブルを参照することで内蔵HDDのパーティションを認識する。


[外付けHD]または[USBメモリ]のドライブを認識する手順は

[外付けHDD]または[USBメモリ]のMBRにあるブートローダが起動して、[外付けHDD]または[USBメモリ]のMBR内のパーティションテーブルを参照することで[外付けHDD]または[USBメモリ]のパーティションを認識する。


Bパターン

WindowsPEで動作するソフトをCD-ROMドライブからブートした場合、



内蔵HDDを認識する手順は

内蔵HDDのMBRにあるブートローダが起動して、内蔵HDDのMBR内のパーティションテーブルを参照することで内蔵HDDのパーティションを認識する。


[外付けHD]または[USBメモリ]のドライブを認識する手順は

[外付けHDD]または[USBメモリ]のMBRにあるブートローダが起動して、[外付けHDD]または[USBメモリ]のMBR内のパーティションテーブルを参照することで[外付けHDD]または[USBメモリ]のパーティションを認識する。

========================================================

Aパターン、Bパターンそれぞれのケースで
ドライブの認識手順は上記で正しいのか、ご教示ください。


MBRについて参考にしたサイト
http://www14.plala.or.jp/campus-note/vine_linux/ …

A 回答 (12件中1~10件)

CDから起動してもHDDの中のウィルスが感染しないか気にされているのでしょうか?


先にも回答した様にCDから起動する場合はシステムのプログラムやデータはすべて起動CDが用意して完結しています。

CDから起動したシステムがパーティション情報やファイルシステムの情報を確認する時にも、パーティション情報はパーティションのHDD上の位置と識別子しかありませんから、ウィルスに感染する余地はありません。
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9% …
ウィルスに感染する可能性のあるブートローダー部分も、そのHDDから起動しない限り呼ばれる事もありません。
ウィルスもプログラムなので実行されて初めて活動して悪さができます。実行されなければ、ただのHDD内にあるファイルにすぎません。
可能性があるとすれば、HDDのドライブ内のウィルスに感染したファイルをユーザーが自ら実行する様なアホな事をした時だけですね。
    • good
    • 0
この回答へのお礼

CD-ROMドライブから起動CDをブートした場合に、内蔵HDDや[外付けHDDまたはUSBメモリ]をドライブとして認識するには

内蔵HDDや[外付けHDDまたはUSBメモリ]のパーティション情報とファイルシステムの確認が必要とのことですが

○パーティション情報とはパーティションテーブルのこと

○ファイルシステムの確認とは

http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9% …

の各エントリ構造の

パーティションの種類(パーティション識別子)。

のことですよね。


>パーティション情報はパーティションのHDD上の位置と識別子しかありませんから

パーティション情報に[HDD上の位置と識別子]ではない悪意あるコードが書かれていて
内蔵HDDや[外付けHDDまたはUSBメモリ]のドライブを認識するためにパーティション情報が読み込まれたとき、それが実行されるということはないですか?

また実行されるかどうかに関して、起動CDのOSの種類(リナックスOSやwindowsPEなど)は関係ないでしょうか?

お礼日時:2012/04/17 14:52

>パーティション情報に[HDD上の位置と識別子]ではない悪意あるコードが書かれていて



内容が正しくない場合はパーティション情報が壊れているか、正しく初期化されていないと放置されるだけです。


>内蔵HDDや[外付けHDDまたはUSBメモリ]のドライブを認識するためにパーティション情報が読み込まれたとき、それが実行されるということはないですか?

パーティション情報はプログラムではないのですから、実行される事はありません。
    • good
    • 0

質問で参考したサイトの説明だけでは、具体的に書かれていない部分が多いから分からないのでしょうね。


MBRやブートローダーだけ見ても理解できませんよ、ドライブが認識されるのはもっと後の段階ですから。

ブートローダーは何番セクタのどこからどこまでをメモリにロードして実行するという低レベルの事しかしません。
この段階ではまだシステムが準備されていない状態なので、ドライブもファイルシステムもできていませんね。
ブートローダーが呼んだローダーがまた別のローダーを呼んだり、システムのカーネルやデバイスドライバ等のプログラムを読んで初期化して、少しずつシステムが構築されていきます。

こちらの説明の方が分り易いと思います。
http://ittechinf.wiki.zoho.com/%E3%83%96%E3%83%B …
OS別に起動シーケンスが時系列で表になっていますから理解し易いでしょう。

ブートローダーが動くのは一番最初で、ファイルシステムができるのは(カーネル)の段階です。
HDDのドライバなどは必須な物なのでカーネルに含まれる事が多いです。
USBの外付けドライブやフラッシュメモリなどは拡張的な物なので、ドライバは後から追加でロードされる事が多いですね。

それでCDから起動する場合は、これらの起動に必要なプログラムやデータは全て起動CDに入っていて完結しています。
HDDの中のファイルを読み書きする為にパーティション情報やファイルシステムの情報を確認してドライブを割り当てるだけですね。

この回答への補足

CD-ROMドライブに起動ディスクを入れてブートすると、そのCD-ROMドライブ内でシステムができるまでを説明しているのが

http://ittechinf.wiki.zoho.com/%E3%83%96%E3%83%B …

のページだと思います。


このCD-ROMドライブ内でシステムが完成する手順と、CD-ROM内で完成したシステムが内蔵HDDや[外付けHDDまたはUSBメモリ]のパーティション情報やファイルシステムの情報を確認してドライブとして認識する手順は別だと思うのですが、どうなのでしょうか?

たとえば

CD-ROMドライブの起動ディスク内ではOSを立ち上げるためにブートストラップ・ローダが呼び出されますが、CD-ROM内でOSが立ち上がった後は、内蔵HDDのOSを立ち上げる必要はないので内蔵HDDのMBR内にあるブートストラップローダは起動されない、

といった違いです。


CD-ROMドライブ内の完成したシステムが[HDDの中のファイルを読み書きする為にパーティション情報やファイルシステムの情報を確認する手順]はリナックスOS、WindowsPEにおいてどのようになっているのでしょう?

補足日時:2012/04/16 22:50
    • good
    • 0

>○フロッピーディスクやハードディスクをエミュレーションして起動する方法の場合


>ただし、内蔵HDDと[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルが異常なら、CD-ROMドライブの起動CD内に元々用意されている内蔵HDD用と[外付けHDDまたはUSBメモリ]用のパーティションテーブルが読み込まれ、その結果、内蔵HDDと[外付けHDDまたはUSBメモリ]はドライブまたはパーティションとして認識される。

この部分は違います、
エミュレーションされるドライブは実物として接続されている内蔵や外付けのHDDとは別に、実体の無い第三の仮想ドライブ=起動ドライブが作られて、その中身のイメージは起動CD内からロードされます。
そして、その起動ドライブのMBRやパーティション情報からシステムが起動しています。

これは昔はフロッピーでシステムを起動していたのをそのままイメージ化してCDから起動する様にし、システムが大きくなりフロッピーの1.4MBでは足りなくなったので起動HDDのイメージを使う様になり、更にドライブをエミュレーションするなど面倒な事をせずに、直接ブートローダを起動させたらと、時代によって変遷してきたからですね。

エミュレーションモードとノーエミュレーションモードはシステム起動前の手順が違うだけでその後は同じです。
システム起動時に組み込まれているデバイスドライバが内蔵や外付けUSBの各ドライブのパーティション情報やファイルシステムを調査し、正常であればドライブとして認識するし、異常であれば、異常ドライブや未初期化のドライブとして放置します。

あと内蔵HDDのMBRや中身がウィルスに感染していてもCDから起動させる限り全く影響しません。
「AVG Rescue CD」などのCDから起動するウィルススキャンを使うなら、検出や隔離、駆除などの対処をしてくれると思います。

参考URL:http://www.forest.impress.co.jp/docs/news/201003 …
    • good
    • 0
この回答へのお礼

間違っていた部分は理解できました。

ありがとうございます。


>システム起動時に組み込まれているデバイスドライバが内蔵や外付けUSBの各ドライブのパーティション情報やファイルシステムを調査し、正常であればドライブとして認識


内蔵HDDや[外付けHDDまたはUSBメモリ]がドライブ、パーティションとして認識されるためには、内蔵HDDや[外付けHDDまたはUSBメモリ]内のMBRのパーティションテーブルを読み込むだけでは不十分で、内蔵HDDや[外付けHDDまたはUSBメモリ]内のファイルシステムを読み込むことも必要とされるということですが、

このファイルシステムを読み込むときには

起動CDがリナックスOS、WindowsPEである それぞれのケースにおいて、OSのブートシーケンスに利用される内蔵HDDや[外付けHDDまたはUSBメモリ]のMBR内にあるブートローダが読み込まれる(関係する)ということはないでしょうか?


起動CDがリナックスOS、WindowsPEである それぞれのケースにおいて、起動CDからブートした場合の、内蔵HDDや[外付けHDDまたはUSBメモリ]のファイルシステムがどのようにして読み込まれるのかが分かりません。

お礼日時:2012/04/16 17:51

また勘違いされている様な、


MBRのウィルス感染の話が出てくるなど、元の質問の主旨はそれですか?

El Toritoのエミュレーションモードで起動するフロッピーやハードディスクのイメージは起動CDに入っています。
内蔵HDDの中身がMBRやパーティション情報も含めて内容が完全に初期化されていたり、内容が壊れている場合でも臨時のシステムを起動してセットアップできる仕様ですので。

パーティションテーブルが正常なら起動したシステムがドライブとして認識しますし、中身が異常なら壊れていたり、未初期化のHDDとして認識します。
もちろん物理的にHDDが故障していなければフォーマットし直して再使用する事も可能です。
    • good
    • 0
この回答へのお礼

yama1718さん、何度もお答えくださりありがとうございます。


>MBRのウィルス感染の話が出てくるなど、元の質問の主旨はそれですか?


MBRのウイルス感染について知りたかったのですが、それには前段階として
MBRの仕組みやドライブの認識手順を理解する必要があり、
識者の方から教えていただいている状況です。


>El Toritoのエミュレーションモードで起動するフロッピーやハードディスクのイメージは起動CDに入っています。

>El Toritoにはフロッピーディスクやハードディスクをエミュレーションして起動する方法とエミュレーションをせずに直接ブートセクタを読んで起動するモードがあります。



○直接ブートセクタを読んで起動するモードの場合、

CD-ROMドライブからブートした後

内蔵HDDのMBR内にあるパーティションテーブルの情報を読み込んで、内蔵HDDをドライブまたはパーティションとして認識する

[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルの情報を読み込んで、[外付けHDDまたはUSBメモリ]をドライブまたはパーティションとして認識する

ただし、内蔵HDDと[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルが異常なら
内蔵HDDと[外付けHDDまたはUSBメモリ]のパーティション情報は取得できない。
(内蔵HDDが存在することだけはCD-ROMドライブの起動CD内のデバイスドライバによって認識される)
([外付けHDDまたはUSBメモリ]が存在することだけはCD-ROMドライブの起動CD内のデバイスドライバによって認識される)



○フロッピーディスクやハードディスクをエミュレーションして起動する方法の場合

CD-ROMドライブからブートした後

内蔵HDDのMBR内にあるパーティションテーブルの情報を読み込んで、内蔵HDDをドライブまたはパーティションとして認識する

[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルの情報を読み込んで、[外付けHDDまたはUSBメモリ]をドライブまたはパーティションとして認識する

ただし、内蔵HDDと[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルが異常なら、CD-ROMドライブの起動CD内に元々用意されている内蔵HDD用と[外付けHDDまたはUSBメモリ]用のパーティションテーブルが読み込まれ、その結果、内蔵HDDと[外付けHDDまたはUSBメモリ]はドライブまたはパーティションとして認識される。

そのときに実際に内蔵HDDと[外付けHDDまたはUSBメモリ]のMBR内にパーティションテーブルが書き込まれるわけではなく、起動CD内に用意されている内蔵HDD用と[外付けHDDまたはUSBメモリ]用のパーティションテーブルが単に使われるだけである。


↑の理解で正しいでしょうか?

お礼日時:2012/04/15 17:11

>このように理解しましたが、正しいでしょうか?



そうですね。
ちなみにCDやDVDから起動するのは「El Torito」と言う規格があります。
HDDからの起動シーケンスと違う部分がありますので注意して下さい。
El Toritoにはフロッピーディスクやハードディスクをエミュレーションして起動する方法とエミュレーションをせずに直接ブートセクタを読んで起動するモードがあります。

参考URL:http://uiuicy.cs.land.to/bootcd/bootcd2.html

この回答への補足

>El Toritoにはフロッピーディスクやハードディスクをエミュレーションして起動する方法とエミュレーションをせずに直接ブートセクタを読んで起動するモードがあります。


直接ブートセクタを読んで起動するモードではなく、
ハードディスクをエミュレーションして起動する場合についてですが、
内蔵HDDのMBRがウイルス感染している場合、CD-ROMドライブからブートするときには
内蔵HDDのウイルス感染したMBR(ブートローダ、パーティションテーブル、ブートシグネチャ)を使ってCD-ROMドライブがブートされるのでしょうか?

補足日時:2012/04/15 11:54
    • good
    • 0

> 内蔵HDDを認識する手順は



> 内蔵HDDのMBRにあるブートローダが起動して、内蔵HDDのMBR内のパーティションテーブルを参照することで内蔵HDDのパーティションを認識する。

提示したリンク先の画像を見る限りそのようですね。
リカバリ領域がEドライブに認識されているので、パーティションの順番と言うよりは
システムパーティションかどうかも見ているようです。

GPTの場合はわかりませんが。
    • good
    • 0

>パーティションやドライブを認識(再構成)するときには、


>内蔵HDDと[外付けHDDまたはUSBメモリ]のMBRは利用されるのでしょうか?

質問で参考にされているサイトの内容は普通にHDDから起動する時の話です。
HDDを認識するのにブートストラップローダを起動する必要はありません、これはHDDから起動する時に使われるプログラムです。
MBRをOSのデバイスドライバか何かと勘違いされているのでしょうか?
デバイスドライバは起動したシステムが最初から持っています、そのデバイスドライバがHDDのMBRのパーティションテーブルの情報を認識してドライブとして配置します。
だからMBRはパーティションテーブル情報しか使われていません。

[外付けHDD]または[USBメモリ]のから起動したシステムが、HDDのMBR内のパーティションテーブルを参照する事でHDDのパーティションやドライブを認識する。
という事ですね。

この回答への補足

CD-ROMドライブからリナックスOSまたはWindowsPEをブートした場合

このリナックスOSまたはWindowsPE内に内蔵HDDと[外付けHDDまたはUSBメモリ]用のデバイスドライバがあり、このデバイスドライバが

内蔵HDDのMBR内にあるパーティションテーブルの情報を読み込んで、内蔵HDDをドライブまたはパーティションとして認識する

[外付けHDDまたはUSBメモリ]のMBR内にあるパーティションテーブルの情報を読み込んで、[外付けHDDまたはUSBメモリ]をドライブまたはパーティションとして認識する

このときには、内蔵HDDのMBR内にあるブートローダー、[外付けHDDまたはUSBメモリ]のMBR内にあるブートローダーはそれぞれ起動しない。


このように理解しましたが、正しいでしょうか?

補足日時:2012/04/15 00:05
    • good
    • 0

Linux Os にはドライブと言う概念が有りません、


Windows OS の概念で考えてはだめです、別物のOS の世界なのです。

KNOPPIX をライブCD で起動させると、Linux OS の雰囲気が解るとおもいます。

私もブートローダーの事は理解してないのですが・・・
ブートローダーの役割は質問者様の書かれてるのとは、違うのように思いますが・・・

正確な詳細は識者様からの回答待ちです。

この回答への補足

KNOPPIXをライブCDで起動させたことはあります。

起動させた後は、パソコン内蔵HDDにアクセスでき、外付けHDDやUSBメモリをつなげると自動的に認識されることは理解しています。


その際の内蔵HDDと[外付けHDDとUSBメモリ]の認識方法が気になります。

==========================================

内蔵HDDを認識する手順は

内蔵HDDのMBRにあるブートローダが起動して、内蔵HDDのMBR内のパーティションテーブルを参照することで内蔵HDDのパーティションを認識する。


[外付けHDまたはUSBメモリ]のドライブを認識する手順は

[外付けHDD]または[USBメモリ]のMBRにあるブートローダが起動して、[外付けHDD]または[USBメモリ]のMBR内のパーティションテーブルを参照することで[外付けHDD]または[USBメモリ]のパーティションを認識する。

==========================================

上記のことが正しいのかどうかについて教えていただければありがたいです。

補足日時:2012/04/14 17:32
    • good
    • 0

Windows PEが内蔵HDDを認識する順序は、認識した順だそうです。



参考URL
http://www.computerworld.jp/topics/560/Windows%2 …

この回答への補足

Windows PEベースのノートンゴースト12を使用しているのですが、ブートドライブとしてCD-ROMドライブを選び、ノートンゴースト12のリカバーリディスクをそこからから起動させた場合、内蔵HDDと[外付けHDDまたはUSBメモリ]はどのようにして認識されるのでしょうか?


内蔵HDDを認識する手順は

内蔵HDDのMBRにあるブートローダが起動して、内蔵HDDのMBR内のパーティションテーブルを参照することで内蔵HDDのパーティションを認識する。


[外付けHD]または[USBメモリ]のドライブを認識する手順は

[外付けHDD]または[USBメモリ]のMBRにあるブートローダが起動して、[外付けHDD]または[USBメモリ]のMBR内のパーティションテーブルを参照することで[外付けHDD]または[USBメモリ]のパーティションを認識する。

で良いでしょうか?

補足日時:2012/04/14 17:20
    • good
    • 0

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