LILO は以下のような種類のイメージをブートできます。
ファイル指定のカーネルイメージ。
ブロックデバイス(例えばフロッピーディスクなど)指定のカーネルイメージ。
他のオペレーティングシステムのブートセクター。
イメージの種類は、構成セクションの最初の値の名称で決まります。
イメージファイルは、ブート時にアクセスできるなら、どんなメディア上に置くこと も可能です。ルートデバイスに置かねばならない訳ではありません。
イメージは以下のように指定します− IMAGE=<名称>
Example 4-4. カーネルイメージの指定
image = /linux |
カーネルイメージセクションに追加できるオプションについては、カーネルのためのイメージ毎のオプション セクションとブートイメージの種類の セクションをご覧ください。
マップされるべきセクターの範囲を指定する必要があります。範囲( <開始点>- <終点> )か、開始点と長さ( <開始点>+<数値> )のいずれかで指 定します。 <開始点>と<終点>は、0ベースになります。開始点しか指定しない場合は、 1セクターのみ、マップされます。
イメージは以下のように指定します− IMAGE=<デバイス名> に加えて、RANGE 変数も 指定する必要があります。
Example 4-5. カーネルイメージの指定方法
image = /dev/fd0 range = 1+512 |
全てのカーネルオプションが、デバイスからのカーネルのブートの場合でも利用する ことができます。
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 セクションに指定されたルールに従ってパーティション テーブルを変更します。このオプションは起動されたシステムが、パーティション テーブルを調べて、そこから自分のパーティションを見つけることができるように するために使用されます。パーティションタイプの変更 も参照してください。
使用すべきチェーンローダを指定します。省略された 場合は、/boot/chain.b を使用します。
フロッピーやハードディスクドライブを再マップ する内蔵ドライバをインストールするように、chain.b に指示します。こうする ことにより、オペレーティングシステムがハードディスクのアクセスに BIOS のみ を使う限りにおいては、第 1 ハードディスク以外のハードディスクからでも、起動 することができます。PC/MS-DOS では動作することが確認されています。
* もしオペレーティングシステムが、特定の構成やブートするディスクを使用 するためのドライバを要求したら、どうなるのだろうと疑問をもたれるかも しれません。ハードウェアの能力(たとえばノンブロッキングアクセスなど) を最大限に引き出すため、最適化されたドライバを使用する傾向があるので、 第 2 ハードディスクからシステムをブートすることは、益々難しくなって います。
MAP-DRIVE には、変数 TO=<BIOSデバイスコード>が続きます。これは元のコード の代わりに、効果的にアクセスできるドライブコードを指定します。マップの リストは最初に一致するものが見つかるまで検索されます。それゆえ、ドライブを 「すりかえる」ことができます。下の 2 番目の例を参照してください。
パーティションテーブルを含むデバイスを指定します。LILO は このオプションが省略された場合、オペレーティングシステムにパーティション の情報を渡しません。(いくつかのオペレーティングシステムは、自分がブート されたパーティションを知る別の手段を持っています。たとえば、MS-DOS は通常 自分のブートセクターにブートディスクやパーティションのジオメトリを格納し ます。) この変数に指定したパーティションテーブルが変更された場合は、 /sbin/lilo を実行しなおさなければいけないことに注意してください。
マップ作成時にブートセクターにアクセスしません。これによってパーティ ションテーブルの検査など、いくつかの正当性検査ができなくなります。 ブート セクターが固定フォーマットのフロッピー上にある場合、UNSAFE を使うとマップ インストーラの実行時にドライブに読み取り可能なディスクを挿入しなくても済み ます。UNSAFE と TABLE は同時に使うことはできません。
これらのオプションは、グローバルオプションセクションには指定できません。
Example 4-6. 他の OS ブートのためのオプション指定
other = /dev/hda2 label = dos table = /dev/hda other = /dev/hdb2 label = os2 loader = /boot/os2_d.b map-drive = 0x80 to = 0x81 map-drive = 0x81 to = 0x80 |
[1] | ブートセクターは、LILO の第 2 ブートローダによって、chain.b のコードに 制御が移る前にロードされます。 |