|
次のページ
前のページ
目次へ
8. IDEディスクのためのカーネルでのディスク変換
Linux カーネルが IDE ディスク上に何らかのディスクマネージャの存在を
検出した場合、そのディスクマネージャがするのと同じ方法でディスクを
再マップしようとするので、Linux は例えば OnTrack や EZ-Drive を使っている
DOS のように同じディスクパーティションを見ることになります。
しかし、ジオメトリが(訳注: LILOの)コマンドラインから指定された場合は
再マップは行われません
- つまり ` 再マップは、C <= 1024 になるか H = 255 になるまで、 (H*C が一定であるように) ヘッド数(H)を 4, 8, 16, 32, 64, 128, 255 と増やしていきます。 詳細は以下のようになります - 以下のサブセクションの題名はブートマネージャに対応すると思われる文字列です。 以降、パーティションタイプはすべて 16 進数であらわします。
8.1 EZD
最初の基本パーティションタイプが 55 であるとき、
EZ-Drive が存在すると判断されます。
ジオメトリは上で説明したように変換され、
セクタ 0 にあるパーティションテーブルは無視されます。
その代わりに、パーティションテーブルはセクタ 1 から読み出されます。
ディスクのブロック番号は変更されませんが、セクタ 0への書き込みは、
セクタ 1 への書き込みに強制されます。
この振る舞いは、
8.2 DM6:DDO(一台目のドライブの)最初の基本パーティションタイプが 54 であると、 OnTrack ディスクマネージャが組み込まれていると判断されます。 ジオメトリはすでに述べた方法で変換され、 ディスク全体が 63 セクタ分ずらされます (つまり、元々のセクタ 63 はセクタ 0 と呼ばれることになります)。 この結果、新しい(パーティションテーブルを含む) MBR は、 新しいセクタ 0 から読み込まれます。 もちろん、このずらしは DDO のための空間を確保するためで、 これが一台目のディスク以外にはずらしが入らない理由です。
8.3 DM6:AUX(一台目のディスク以外の)基本パーティションがタイプ 51 か 53 のときには、 OnTrack ディスクマネージャが効いていると判断されます。 ジオメトリの変換は上に述べた通りです。
8.4 DM6:MBR古い OnTrack ディスクマネージャは、 パーティションタイプではなくシグネチャで検出されます。 (検出方法: MBR のバイト 2,3 にある数をオフセットと考え、 このオフセット値が430以下であるか確認します。 次にこのオフセット位置にある short int 値が 0x55AA で、 なおかつ、次の 1 バイトが奇数かどうかを監査します。) 変換方法は、上に述べた通りです。
8.5 PTBL
最後に、基本パーティションの start と end の値から、
変換が行われてることを知る方法があることをご紹介しましょう。
もし、あるパーティションが
次のページ 前のページ 目次へ |
[ |