El Torito Edit

目次 Edit

El Toritoとは Edit

El Toritoは、Phoenix TechnologiesとIBMによって策定されたCD-ROMのブートをサポートしているISO 9660?の拡張仕様です。

BRVD : Boot Record Volume Descriptor Edit

先頭から17(0x11)セクタ目(0x800*0x11 = 0x8800)にBRVDという場所がある。
これは、必ず固定の場所(0x8800~0x9000)にある。

Byte内容
0x8800ボリューム記述子タイプ:0
0x8801-0x8805文字列"CD001"
0x8806このディスクリプターのVersion 必ず1
0x8807-0x8826(32Byte)文字列"EL TORITO SPECIFICATION" のこりは0で埋める
0x8827-0x8846予約:0
0x8847-0x884a(4Byte)Boot catalogのセクタ
0x884b-0x8fff予約:0

Boot catalog Edit

BRVDの0x8847-0x884aのBoot catalogのセクタで指定したセクタがBoot catalogとなる。

ByteOffset内容
0x000ヘッダID:1
0x0010:80x86, 1:PowerPC, 2:Mac
0x002-0x003予約:0
0x004-0x01b(24Byte)CD-ROMの作成者
0x01c-0x01dチェックサム
0x01eシグネチャ:0x55
0x01fシグネチャ:0xaa
0x0200x88:Bootable, 0x00:Not Bootable
0x021エミュレーション
0x022-0x023読み込み先セグメント。0のときはデフォルトの07c0が設定される。
※当然だが、リアルモードでのセグメントとなる。
0x024ブートイメージ中のパーティションテーブルのバイト5と一致すること。?
0x025予約:0
0x026-0x027読み込みセクタ数
0x028-0x02b(4Byte)ブートセクタの読み込み元セクタ
0x02c-0x7ff予約:0

チェックサム Edit

0x000-0x01fをワード(16bit)単位で加算したときに0になるようにチェックサムを調整します。
バイト単位ではないので注意。

リトルエンディアンの場合、計算時に注意しましょう。

0x000:0x01, 0x001:0x00, 0x01e:0x55, 0x01f:0xaa
0x0001 + 0xaa55 = 0xaa56
0x10000 - 0xaa56 = 0x55aa

チェックサム = 0x55aa
0x01c:0xaa, 0x01d:0x55

エミュレーション Edit

番号内容
0x00エミュレートしない
0x011.2MBフロッピーをエミュレート
0x021.44MBフロッピーをエミュレート
0x032.88MBフロッピーをエミュレート
0x04HDDをエミュレート

参考・関連 Edit

コメント Edit

お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
  • 一部の機種でブートできない(ブートディスクとして認識されない)問題:エミュレートなしで、読み込みセクタ数を640セクタとかにすると、アウトでした。
    もっと小さければ認識されたのかもしれませんが、4セクタ以下がいいようです。 -- ヒデ 2009-10-05 (月) 21:37:18

最新の10件を表示しています。 コメントページを参照


Since 2008 July. OS Project Wiki
リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS