USBメモリ ブートの仕組み
基本的に HDD と同じような構造になっている。 MBR には、起動するためのプログラムコードやパーティションテーブルなどが記録されている。 ブートセクタには、起動するためのプログラムコードやファイルシステムの情報などが記録されている。
USBメモリもパーティションテーブルを持っているので、理論上は複数のパーティションに区切ることができる。 ただ、OS の制限により、USBメモリを複数のパーティションに区切ることができなかったり、一つのパーティションしか認識できなかったりすることがある。
MBR が無いこともある。(HP Drive Key Boot Utility でパーティション無しでフォーマットした場合など)
USBメモリは、BIOS に HDD または ZIP と認識されて起動することが多いようです。 どうしたら HDD になり、どうしたら ZIP になるか、という基準ははっきりしておらず、 ある PC で HDD 認識だったUSBメモリが別の PC で ZIP 認識になったり、 同じ PC でもUSBメモリのフォーマットによって変化したりするようです。 ただ、最近のマザーボードには、「USB Mass Storage Emulation Type」という設定項目が存在するものがあり、 HDD 認識(All Fixed Disc)にするか ZIP 認識(All Removable)にするかを設定できるようになっています。
USBメモリが BIOS に HDD として認識(HDDエミュレーション)される場合
- BIOS の Boot Device を USB-HDD、Hard Disk などにすると起動する
- DOS で起動するとCドライブになる
USBメモリが BIOS に ZIP として認識(ZIPエミュレーション)される場合
- BIOS の Boot Device を USB-ZIP、Removable、RMD-FDD などにすると起動する
- DOS で起動するとAドライブになる
- MBR のプログラムコードは読み込まれないらしい
- FD として利用できることがある
1. BIOS が MBR を読み込む。
2. MBR のプログラムコードが、パーティションテーブルを検索し、アクティブなパーティションのブートセクタを読み込む。
「Invalid partition table」「Error loading operating system」「Missing operating system」などのエラーはここで発生。 HDDエミュレーションのときは、通常の HDD と同じように、パーティションがアクティブになっていないと起動に失敗します。 ZIPエミュレーションのときは、MBR のプログラムコードは実行されないようです。
3. ブートセクタのプログラムコードが、OS のシステムファイルを読み込む。
「Invalid system disk」「Disk I/O error」「Disk error」「NTLDR is missing」などのエラーはここで発生。
4. OS の起動が開始される。
ひとつの機器で複数のドライブとして認識される、マルチカードリーダや、仮想FDD機能を持つUSBメモリ、仮想CD機能を持つポータブルHDDなどが複数LUNです。 BIOSがこの複数LUNに対応していない場合、先頭のLUNのドライブからしかブートできません。 USB機器によっては、スイッチの切り替えで先頭LUNのドライブを認識しないようにして、次のLUNのドライブからブートできるようになっているものもあります。
0 件のコメント:
コメントを投稿