OS Project Wiki の保存版 ヒデさん・アリスさんほか、OS部のみなさんが書いたものです。
2019年にサイトが消滅しました。当時あった211ページのうち、本文が残っていたのは86ページです。すべては復旧できていません。Common Crawl と Internet Archive に 残っていたものを組み直しています(最終取得 2019-05-24)。
編集・検索・添付などの機能は動きません。表示のみです。

検索

まずは、検索!

Index

人気の20件
最新の20件
2018-12-022018-01-092017-05-072017-04-252016-05-012015-02-242014-01-032013-06-252012-12-302012-12-292012-07-272012-07-162012-02-052012-01-292011-10-012011-09-18

El Torito

目次

El Toritoとは

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

BRVD : Boot Record Volume Descriptor

先頭から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

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

チェックサム

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

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

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

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

エミュレーション

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

参考・関連

コメント

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


Since 2008 July. OS Project Wiki
保存 2019-03-19 ・ ページ一覧