4.3. ブートイメージの種類

LILO は以下のような種類のイメージをブートできます。

イメージの種類は、構成セクションの最初の値の名称で決まります。

イメージファイルは、ブート時にアクセスできるなら、どんなメディア上に置くこと も可能です。ルートデバイスに置かねばならない訳ではありません。

4.3.1. ファイルからのカーネルイメージのブート

イメージは以下のように指定します− IMAGE=<名称>

カーネルイメージセクションに追加できるオプションについては、カーネルのためのイメージ毎のオプション セクションとブートイメージの種類の セクションをご覧ください。

4.3.2. デバイスからのカーネルイメージのブート

マップされるべきセクターの範囲を指定する必要があります。範囲( <開始点>- <終点> )か、開始点と長さ( <開始点>+<数値> )のいずれかで指 定します。 <開始点>と<終点>は、0ベースになります。開始点しか指定しない場合は、 1セクターのみ、マップされます。

イメージは以下のように指定します− IMAGE=<デバイス名> に加えて、RANGE 変数も 指定する必要があります。

全てのカーネルオプションが、デバイスからのカーネルのブートの場合でも利用する ことができます。

4.3.3. 他のオペレーティングシステムのブート

LILO は、例えば MS-DOS などの他のオペレーティングシステムをブートすることが できます。他のオペレーティングシステムをブートするため、ブートセクターを含む ローダプログラム、デバイス、またはファイルと、パーティションテーブルを含む デバイスを指定する必要があります。

ブートセクターはパーティションテーブルとマージされて、マップファイルに格納 されます。

現在、chain.b と os2_d.b というローダがあります。chain.b は単に指定された ブートセクターを起動するだけです。 [1] os2_d.b は第 2 ハードディスクから OS/2 を起動できるように、chain.b を改造したものです。実際にドライブを摩り替える ためには、os2_d.b を使うほかに、MAP-DRIVE オプションを使う必要があります。

イメージは次のように指定します。

OTHER=<デバイス名> または、OTHER=<ファイル名>

カーネルのためのイメージ毎のオプションセクションに記載されたオプションに加えて、以下のような変数が利用 できます。

CHANGE

この CHANGE セクションに指定されたルールに従ってパーティション テーブルを変更します。このオプションは起動されたシステムが、パーティション テーブルを調べて、そこから自分のパーティションを見つけることができるように するために使用されます。パーティションタイプの変更 も参照してください。

LOADER=<チェーンローダ>

使用すべきチェーンローダを指定します。省略された 場合は、/boot/chain.b を使用します。

MAP-DRIVE=<BIOSデバイスコード>

フロッピーやハードディスクドライブを再マップ する内蔵ドライバをインストールするように、chain.b に指示します。こうする ことにより、オペレーティングシステムがハードディスクのアクセスに BIOS のみ を使う限りにおいては、第 1 ハードディスク以外のハードディスクからでも、起動 することができます。PC/MS-DOS では動作することが確認されています。

* もしオペレーティングシステムが、特定の構成やブートするディスクを使用 するためのドライバを要求したら、どうなるのだろうと疑問をもたれるかも しれません。ハードウェアの能力(たとえばノンブロッキングアクセスなど) を最大限に引き出すため、最適化されたドライバを使用する傾向があるので、 第 2 ハードディスクからシステムをブートすることは、益々難しくなって います。

MAP-DRIVE には、変数 TO=<BIOSデバイスコード>が続きます。これは元のコード の代わりに、効果的にアクセスできるドライブコードを指定します。マップの リストは最初に一致するものが見つかるまで検索されます。それゆえ、ドライブを 「すりかえる」ことができます。下の 2 番目の例を参照してください。

TABLE=<デバイス>

パーティションテーブルを含むデバイスを指定します。LILO は このオプションが省略された場合、オペレーティングシステムにパーティション の情報を渡しません。(いくつかのオペレーティングシステムは、自分がブート されたパーティションを知る別の手段を持っています。たとえば、MS-DOS は通常 自分のブートセクターにブートディスクやパーティションのジオメトリを格納し ます。) この変数に指定したパーティションテーブルが変更された場合は、 /sbin/lilo を実行しなおさなければいけないことに注意してください。

UNSAFE

マップ作成時にブートセクターにアクセスしません。これによってパーティ ションテーブルの検査など、いくつかの正当性検査ができなくなります。 ブート セクターが固定フォーマットのフロッピー上にある場合、UNSAFE を使うとマップ インストーラの実行時にドライブに読み取り可能なディスクを挿入しなくても済み ます。UNSAFE と TABLE は同時に使うことはできません。

これらのオプションは、グローバルオプションセクションには指定できません。

Notes

[1]

ブートセクターは、LILO の第 2 ブートローダによって、chain.b のコードに 制御が移る前にロードされます。