ディスクパーティションは、パーソナルコンピュータの観点からすると標準的な部分であり、ずっと長い間そのように認識されてきました。しかし、大多数の人々は OS がプリインストールされたコンピュータを購入しているため、パーティションがどのように機能するのかを理解している人はあまり多くありません。本章では、ディスクパーティションがどのように機能するのかを説明します。そしてRed Hat Linux のインストールが可能な限りシンプルなものであるということがご理解いただけるでしょう。
ディスクパーティションについてはよく理解できていると思われる場合は、the section called Red Hat Linux のための場所を作成する までスキップして、Red Hat Linux のインストール準備のための、ディスクスペースを解放するプロセスに関する情報を参照してください。このセクションでは、Linux システムが使用するパーティションの命名体系、他のオペレーティングシステムとのディスクスペース共有、および関連トピックについて説明します。
ハードディスクは非常に単純な機能を実行するものです。つまり、ハードディスクはデータを格納し、要求に応じてそのデータを忠実に取り出します。
ディスクパーティションなどの問題について議論する場合は、基礎であるハードウェアについて少しばかり知っておくことが重要です。ただし、深みにハマってしまうのも簡単です。したがって、「箱の中」 で何が起こっているのかを説明する上で簡単なディスクドライブの図を参考にしましょう。Figure B-1 は新品の未使用ディスクドライブを示しています。
単純すぎますね。しかし、基本的なレベルでディスクドライブの話をするならば、これで足りるでしょう。さあ、このドライブに何らかのデータを保存してみましょう。とは言っても、このままでは使用できません。まず初めにしなければならないことがあります…
たぶん、古くからの利用者であればすぐに分かったでしょう。ドライブをフォーマットする必要があります。フォーマッティング (Linux の用語では通常 「ファイルシステム/firstterm>を作成する」 といいます) とはドライブに情報を書き込んで、未フォーマットのドライブに含まれる空の領域に順番を付けることです。
Figure B-2 が示すように、ファイルシステムによって強いられる順序には、交換条件が含まれています。
ドライブの利用可能領域のうちのごく一部はファイルシステム自身に関連するデータを保存するのに使用され、これはオーバーヘッドと見なすことができます。
ファイルシステムは残りの領域を、小さな固定サイズのセグメント群に分割します。Linux の世界では、これらのセグメントのことをブロックと呼びます。 [1]
ファイルシステムを使用することでディレクトリやファイルなどが実現できるわけですから、普通は上記の交換条件は安いものだといえるでしょう。
また、ただ一つの普遍的なファイルシステムでなくても問題はありません。なぜならば、Figure B-3 に示すように、一つのディスクドライブには、数多くあるファイルシステムのいずれかを書き込むことができるからです。推測されるように、異なるファイルシステムは互換性を持たない傾向にあります。つまり、あるファイルシステム (または関連ファイルシステムの一部) をサポートするオペレーティングシステムが、他のファイルシステムをサポートしなくてもおかしくありません。ただし、この最後の文は絶対的なものではありません。たとえば、Red Hat Linux は広範なファイルシステム (他のオペレーティングシステムで一般に使用される多数のファイルシステム) をサポートしているので、容易にデータ交換を行うことができます。
もちろん、ディスクにファイルシステムを書き込むのは始めの一歩に過ぎません。このプロセスの目標は、実際にデータを保存して取り出すことです。何らかのデータが書き込まれたドライブについて見てみましょう。
Figure B-4 が示すように、以前は空であったブロックのうちの 14 個にデータが格納されています。このドライブ上にいくつのファイルがあるのかを判断することはできません。各ファイルは少なくとも 1 つのブロックを使用するため、最小で 1 つ、最大で 14 個のファイルがある可能性があります。使用済のブロック群が隣接する必要がないことに注意することも重要です。つまり、未使用ブロックと使用済ブロックが点在してもかまいません。これは、フラグメンテーションと言われています。既存のパーティションのサイズを変更する場合に、フラグメンテーションが重要となることがあります。
多くののコンピュータ関連技術と同じように、ディスクドライブは常に変化し続けています。特に、一つの特定の方向に向かって変化しています。つまり、どんどん大きくなっています。サイズではなく、容量が大きくなっているのです。そして、このように容量が増加したためにディスクドライブの使用方法が変化してきました。
ディスクドライブの容量が飛躍的に増大するにつれて、その領域のすべてを一つの大きな塊にしておくのはあまり良いやり方ではないと思われるようになりました。このような考え方はいくつかの問題によって引き出されました。ある問題は理性的であり、あるものは技術的なものでした。理性的な見地からすると、適当なサイズを超えた場合に、大容量ドライブによって与えられる追加領域によってさらに散らかってしまうように思えました。また技術的な側面からすると、ある種のファイルシステムは、大規模ドライブをサポートするようには設計されていませんでした。あるいは、ファイルシステムが大規模ドライブをサポートできたとしても、ファイルシステムによって強いられるオーバーヘッドは途方もないものになっていました。
この問題に対する解決策は、ドライブをパーティションに分割することでした。各パーティションが個別のディスクのようであれば、それぞれにアクセスが可能になります。これは、パーティションテーブルを追加することによって実現されました。
注意:: 本章の図ではパーティションテーブルが実際のディスクドライブから離れていますが、すべてを正確に表している訳ではありません。実際に、パーティションテーブルはディスクの先頭部分の、他のファイルシステムまたはユーザデータの前に格納されています。ただし、明確にするために、図では別個のものとすることにします。
Figure B-5 が示すように、パーティションテーブルは 4 個のセクションに分かれています。各セクションには、一つのパーティションを定義するために必要な情報が格納されています。つまり、パーティションテーブルによって 4 個 を超えるパーティションを定義することはできません。
各パーティションテーブルのエントリは、パーティションに関するいくつかの重要な情報を含んでいます。
ディスク上のパーティションの開始点と終了点。
そのパーティションが 「アクティブ」 かどうか。
パーティションのタイプ。
これらの特徴について詳しく見てみましょう。開始点と終了点によって、実際のパーティションのサイズとディスク上の位置が定義されます。「アクティブ」 フラグは、ある種のオペレーティングシステムのブートローダによって使用されます。つまり、「アクティブ」 に設定されたパーティションに含まれるオペレーティングシステムがブートされることになります。
パーティションのタイプについてはやや混乱を招くかもしれません。タイプとは、予測されたパーティションの用途を識別する番号です。このように表現するとやや曖昧に感じますが、それはパーティションタイプの意味がやや曖昧だからです。ある種のオペレーティングシステムは、パーティションタイプを使用することで特定ファイルシステムのタイプを表したり、特定オペレーティングシステムと関連付けるためにパーティションにフラグを設定したり、ブート可能なオペレーティングシステムを含むパーティションであることを表したり、またはこれら 3 つを組み合わせたりしています。
Table B-1 は、一般的 (かつ曖昧な) パーティションタイプとその数値の一覧です。
Table B-1. パーティションタイプ
| パーティションのタイプ | 値 | パーティションのタイプ | 値 |
|---|---|---|---|
| 空 | 00 | Novell Netware 386 | 65 |
| DOS 12 ビット FAT | 01 | PIC/IX | 75 |
| XENIX root | 02 | 旧型 MINIX | 80 |
| XENIX usr | 03 | Linux/MINUX | 81 |
| DOS 16 ビット <=32M | 04 | Linux swap | 82 |
| Extended | 05 | Linux native | 83 |
| DOS 16 ビット >=32 | 06 | Linux extended | 85 |
| OS/2 HPFS | 07 | Amoeba | 93 |
| AIX | 08 | Amoeba BBT | 94 |
| AIX bootable | 09 | BSD/386 | a5 |
| OS/2 Boot Manager | 0a | OpenBSD | a6 |
| Win95 FAT32 | 0b | NEXTSTEP | a7 |
| Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
| Win95 FAT16 (LBA) | 0e | BSDI swap | b8 |
| Win95 Extended (LBA) | 0f | Syrinx | c7 |
| Venix 80286 | 40 | CP/M | db |
| Novell? | 51 | DOS access | e1 |
| Microport | 52 | DOS R/O | e3 |
| GNU HURD | 63 | DOS secondary | f2 |
| Novell Netware 286 | 64 | BBT | ff |
これを見ると、これだけ複雑なものをどうやって使うのか不思議に思うでしょう。例として、Figure B-6 を参照してください。
その通り - 多くの場合にはディスク全体にわたる単一のパーティションがあります。これはパーティションを行わなかった頃の基本的なものです。パーティションテーブルではエントリが一つだけ使用されており、そのエントリはパーティションの先頭をポイントしています。
Table B-1を見るとわかるようこのパーティションに 「DOS」 というラベルを付けてあります。少し単純すぎるかもしれませんが、この話には適しています。これは、いずれかのバージョンの Windows がプリインストールされたコンピュータを新規購入した場合の典型的なパーティションレイアウトです。
もちろん、まもなく 4 つのパーティションでは不十分であることに気づくでしょう。ディスクドライブはどんどん大きくなるので、4 つの適切なサイズのパーティションを設定した後でも、まだディスク領域が余るようになって来ています。したがって、より多くのパーティションを作成する何らかの手段が必要になります。
そこで拡張パーティションを考えます。Table B-1を見て気づいたかもしれませんが、「Extended」 というパーティションタイプがあります。拡張パーティションの中心にあるのが、このパーティションタイプです。以下にその機能を説明します。
パーティションを作成してそのタイプを 「Extended」 と設定すると、拡張パーティションテーブルが作成されます。本質的に、拡張パーティションは独立したディスクドライブのようなものです。つまり、拡張パーティションは一つまたは複数のパーティション (ここでは 4 つのプライマリパーティションに対して論理パーティションと呼びます) をポイントするパーティションテーブルを持っています。論理パーティション群は拡張パーティションの中に完全に含まれます。Figure B-7は、一つのプライマリパーティションと、2 つの論理パーティションを含む 1 つの拡張パーティションを持つディスクドライブを示しています (パーティションが作成されていない空き領域もあります)。
この図が示すように、プライマリパーティションと論理パーティションには違いがあります - プライマリパーティションは 4 つしか存在できませんが、存在することのできる論理パーティションの数には制限がありません。(ただし、実際には単一のディスクドライブ上で 12 個を超える論理パーティションの定義および使用を試みるのは良い考えではありません。)
ここまでにパーティションの一般論を説明したので、この知識を利用して Red Hat Linux をインストールする方法を考えて見ましょう。
ハードディスクのパーティションを作成し直す際に、起こり得るシナリオが 3 つあります。
パーティションが作成されていない空き領域を利用することができる場合。
未使用のパーティションを利用することができる場合。
使用中パーティションの中の空き領域を利用することができる場合。
各ボタンを順番に説明します。
注意:: 以下の図では、明確にするために単純化されているので、実際に Red Hat Linux をインストールする際に遭遇するパーティションレイアウトを正確に反映している訳ではないことを覚えておいてください。
この場合、すでに定義されているパーティションはハードディスク全体を占めていないので、定義済パーティションの部分になっていない未割当の領域が残されています。Figure B-8 はこの状況を表しています。
このような状況を考える場合、未使用のハードディスクもこのカテゴリに分類されます。唯一の違いは、すべての領域が定義済パーティションの部分となっていないことです。
どちらの場合でも、単純に必要なパーティションを未使用の領域から作成することができます。ただし、このシナリオはとても単純ですがあまりありえません (Red Hat Linux 用に新しいディスクを購入した場合は別ですが)。
もう少し一般的な状況を考えましょう。
この場合は、おそらく使用するつもりのない一つまたは複数のパーティションがある場合でしょう。たぶん、以前に他のオペレーティングシステムを少し使用していて、そのオペレーティングシステム専用にしていたパーティション(群)はもういらないと思っているような状況です。Figure B-9 にそのような状況を示しています。
このような状況にある場合は、未使用パーティションに割り当てられている領域を使用することができます。まず、パーティションを削除し、その代わりに適当な Linux パーティション(群)を作成する必要があります。パーティションを削除するには、DOS の fdisk を使用することができます。あるいは、カスタムクラスインストールの実行中に削除するチャンスがあたえられます。
これが最も一般的な状況です。ただし、最も扱いにくい状況でもあります。最も大きな問題は、たとえ十分な空き領域がある場合でも、それが使用中のパーティションに割り当てられているということです。ソフトウェアがプリインストールされたコンピュータを購入した場合、たいていはハードディスク上に、オペレーティングシステムとデータを格納した一つの大きなパーティションがあります。
システムに新しくハードドライブを追加する他に、2 つの選択肢があります。
基本的に、単一の大きなパーティションを削除して、いくつかの小さなパーティションを作成します。想像されるように、本来のパーティションに格納されていたデータは破壊されます。つまり、完全なバックアップを行うことが必要です。パーティションを削除する前に、自分自身のために、2 つのバックアップを作成し、検証機能を使用し (バックアップソフトウェアで利用できる場合)、バックアップからデータを読み込んでみてください。そのパーティション上に、ある種のオペレーティングシステムがインストールされていた場合は、そのオペレーティングシステムを再インストールする必要もあることに注意してください。
既存のソフトウェア用の小さなパーティションを作成したら、任意のソフトウェアを再インストールし、データを復元します。それから Red Hat Linux のインストールを続けます。これを行った状況を Figure B-10 に示します。
| Caution |
Figure B-10 が示すように、適当なバックアップを作成しておかないと、元のパーティションの中に存在していたデータはすべて失われます。 |
ここでは、一見不可能に思えるプログラムを実行します。そのプログラムは、パーティションに含まれるファイルを失わずに、大きなパーティションを小さくします。多くの人が、この手段が信頼でき、問題のないものであると考えています。この神業を実行するために、どのようなソフトウェアを使用すべきでしょうか?市場にはディスク管理ソフトウェア製品がいくつかあります。したがって、自分の状況に最も適した製品を見つけるために少し調査する必要があります。
パーティションを壊さずに作り直すプロセスはわりと簡単ではありますが、実行するステップが多数あります。
既存データの圧縮
パーティションのサイズ変更
新規パーティション (群) の作成
各ステップをもう少し詳しく見てみましょう。
Figure B-11 が示すように、最初のステップは、既存パーティションに含まれるデータを圧縮することです。その理由は、パーティションの後部の利用可能空き領域を最大にするためにデータを整理するためです。
このステップは非常に重要です。このステップを実行しないと、データが存在する場所によっては、望み通りにパーティションのサイズを変更することができなくなります。何らかの理由のために移動することのできないデータがあることにも注意してください。そのような場合 (新しいパーティション (群) のサイズも制限されます) には、ディスクのパーティションを壊して作り直すよう強いられることがあります。
Figure B-12 に実際のサイズ変更プロセスを示します。実際のサイズ変更操作の結果は、使用するソフトウェアによって異なります。ほとんどの場合では新しく解放した領域を使用することで、元のパーティションと同じタイプの未フォーマットパーティションが作成されます。
重要なことは、サイズ変更用ソフトウェアが新たに解放された領域をどうするのかを理解することです。そうすれば、適切なステップを実行することができます。図に示したケースでは、単に新しくできた DOS パーティションを削除して適当な Linux パーティション (群) を作成するのが最も適しているようです。
上記のステップを見てもわかるように、新規のパーティションを作成する必要があるかもしれないし、ないかもしれません。ただし、サイズ変更用ソフトウェアが Linux を認識するものでない限り、サイズ変更のプロセス中に作成されたパーティションを削除する必要がありそうです。これを行った状況をFigure B-13 に示します。
Intel: 以下の情報は、Intel ベースのコンピュータ専用のみに関連します。
お客様にとって便利であるように考え、弊社は fips を提供しています。 ユーティリティ。これは無償で入手できるプログラムであり、FAT (File Allocation Table) パーティションのサイズを変更することができます。Red Hat Linux/Intel CD-ROM の dosutils ディレクトリに格納されています。
注意:: 多くの人が fips を使用してハードドライブの再パーティショニングを行うことに成功しています。ただし、fips が実行する操作の性質上、 また fips が動作するハード/ソフトウェア構成が多様であることから、Red Hat は fips が正しく動作することを保証することができません。したがって、fips についてはインストールサポートがございません。つまり、お客様の責任においてご使用ください。
したがって、fips によってハードドライブの再パーティショニングを行うことにした場合は、以下の 2 つのことを行うことが大変重要です。
バックアップの実行 - コンピュータ上のすべての重要データのコピーを 2 つ作成します。これらのコピーをリムーバブルな媒体 (テープまたはディスケットなど) 上に作成し、作業を進める前にそれらのデータが読み取り可能であることを確認してください。
マニュアルの参照 --Red Hat Linux/Intel CD 1 の /dosutils/fipsdocs サブディレクトリ内に格納された fips のマニュアルを熟読してください。
fips を使用することにした場合は、fips の実行後に 2 つのパーティションが残ることに注意してください。一つはサイズを変更したもので、もう一つは解放された領域から作成された fips です。その領域を使用して Red Hat Linux をインストールことが目標であるならば、新たに作成されたパーティションを削除する必要があります。そうするには、現在のオペレーティングシステムの下で fdisk を使用するか、またはカスタムクラスインストールのパーティション設定時に、そのパーティションを削除します。
Linux がディスクパーティションを表現する際には文字と数字の組み合わせを使用しますが、これは特にハードディスクやパーティションを 「C ドライブ」 のように表すことに慣れている人にとっては混乱のもとになるかもしれません。DOS/Windows の世界では、以下のようにしてパーティションに名前が付けられます。
各パーティションのタイプがチェックされ、DOS/Windows が読めるものか否かが調べられます。
パーティションのタイプが互換性を持つものであれば、「ドライブ文字」 が割り当てられます。ドライブ文字は 「C」 から始まります。
ドライブ文字を使用して、パーティションおよびそのパーティションに含まれるファイルシステムを参照することができるようになります。
Red Hat Linux は他のオペレーティングシステムで使用されるアプローチよりも柔軟であり、より多くの情報を伝える命名体系を使用しています。命名体系はファイルベースであり、以下のような形式のファイル名を使用します。
/dev/xxyN
以下にパーティションの命名体系を解読する方法を示します。
この文字列は、すべてのデバイスファイルを含むディレクトリの名前です。パーティションはハードディスク上に存在し、ハードディスクはデバイスであるため、すべてのパーティションを表すファイル群は、/dev/ 内に格納されます。
パーティション名の最初の 2 文字は、そのパーティションを含むデバイスのタイプを表しています。通常目にするのは、hd (IDE ディスクを表します)、または sd (SCSI を表します) です。
この文字は、パーティションがどのデバイス上にあるのかを表します。たとえば、/dev/hda (先頭の IDE ハードディスク) または /dev/sdb (2 番目の SCSI ディスク)。
最後の番号がパーティションを表します。最初の 4 つの (プライマリまたは拡張) パーティションには、1 から 4 までの番号が割り当てられます。 論理パーティションは 5 から始まります。たとえば、/dev/hda3 は 3 番目のプライマリまたは拡張パーティションで、先頭の IDE ハードディスク上にあります。/dev/sdb6 は 2 番目の論理パーティションで、2 番目の SCSI ハードディスク上にあります。
注意:: この命名規則の中には、パーティションのタイプに依存する部分はありません。つまり、DOS/Windows とは異なり、Red Hat Linux 配下ではすべてのパーティションを識別することができます。もちろん、Red Hat Linux があらゆるタイプのパーティション上のデータにアクセスできる訳ではありませんが、多くの場合には、他のオペレーティングシステム専用のパーティション上のデータにアクセスすることができます。
このことを覚えておいてください。そうすれば、Red Hat Linux に必要なパーティションをセットアップする際に色々と楽になります。
Red Hat Linux パーティションが、他のオペレーティングシステムによって使用されるパーティションとハードディスクを共有する場合でも、ほとんどの場合には何も問題がありません。ただし、Linux と他のオペレーティングシステムの一定の組み合わせについては、特別な注意が必要です。他のオペレーティングシステムとの互換性を持つディスクパーティションの作成方法については、Red Hat Linux CD の doc/HOWTO ディレクトリおよび doc/HOWTO/mini ディレクトリに含まれる HOWTO および Mini-HOWTO を参照してください。Linux+ で始まる Mini-HOWTO が特に役に立ちます。
Intel: マシン上で Red Hat Linux/Intel と OS/2 が共存する場合には 、OS/2 のパーティショニングソフトウェアを使用してディスクパーティションを作成しなければなりません。そうしないと、OS/2 がディスクパーティションを認識することはできません。インストール中には、新しいパーティションを作成せずに、Linux の fdisk によって Linux パーティション用の適当なパーティションタイプを設定してください。
Linux は初めてという人が混乱する内容の一つは、Linux がパーティションをどのように利用し、アクセスするかという問題です。これは、DOS/Windows では比較的簡単なことです。複数のパーティションがある場合、各パーティションには 「ドライブ文字」 が割り当てられます。この場合は、ドライブ文字を使用することで所定のパーティション上のファイルやディレクトリを参照します。
これは、Red Hat Linux がパーティションを取り扱う方法および、ついでに言えば、一般にディスクという記憶媒体を取り扱う方法とはまったく異なっています。主な違いは、各パーティションが、単一のファイル群およびディレクトリ群をサポートするために必要な記憶媒体の一部を形成するために使用されることです。これは、マウンティングとして知られるプロセスを通じて、パーティションとディレクトリを関連付けることによって行われます。パーティションをマウントすることで、指定されたディレクトリ (マウントポイントと言われます) から始まる記憶媒体が利用可能になります
たとえば、パーティション /dev/hda5 を /usr 上にマウントしたとすると、/usr の下のすべてのファイルとディレクトリは物理的に /dev/hda5 上に存在するという意味になります。したがって、ファイル /usr/share/doc/FAQ/txt/Linux-FAQ は /dev/hda5 上に格納されますが、ファイル /etc/X11/gdm/Sessions/Gnome はそこには格納されません。
この例で説明を続けると、/usr の下にある一つまたは複数のディレクトリを別パーティション用のマウントポイントとすることも可能です。たとえば、あるパーティション (/dev/had7 とします) を/usr/local 上にマウントしたとすると、たとえば、 /usr/local/man/whatis は /dev/hda7 上に存在するのであって、 /dev/hda5 上に存在するのではないことになります。
Red Hat Linux インストール準備プロセスのこの段階で、新しいオペレーティングシステムで使用するパーティションの数とサイズについて少し考えてみる必要があります。「パーティション数」 の問題は、Linux コミュニティの中でも継続的に活発に議論されており、議論の終点が見えないようですので、この議論に登場する数に等しいパーティションレイアウトの数があるだろうと言っておくのが安全です。
これをご承知の上で、特に理由がなければ、以下のパーティションを作成することをお奨めします。
スワップパーティション - スワップパーティションは仮想メモリをサポートするために使用されます。言い換えると、処理中のデータを保存するために必要なメモリがない場合、データはスワップパーティションに書き込まれます。コンピュータの メモリ が 16 MB 以下の場合は、スワップパーティションを作成しなければなりません。メモリの量がもっと多い場合でも、スワップパーティションの作成を推奨します。スワップパーティションの最低サイズは、コンピュータの メモリ と同じ、または 16 MB (の大きい方) です。
/boot パーティション - /boot にマウントされるパーティションには、オペレーティングシステムのカーネル (Red Hat Linux のブートを可能にします)、およびブートストラッププロセス中に使用されるファイルが含まれます。ほとんどの PC では BIOS に関する制限があるため、小さなパーティションを作成してこれらのファイルを保存しておくのが良いでしょう。このパーティションを 16 MB より大きくすべきではありません。
注意:: 忘れずに the section called 最後の知恵:LILO の利用 を参照してください - そこに含まれる情報は、/boot パーティションに適用されます。
ルートパーティション (/) - ルートパーティションとは、/ (ルートディレクトリ) のあるパーティションのことです。このパーティションレイアウトでは、すべてのファイル (/boot に格納されるものを除く) はルートパーティション上に存在します。そのため、ルートパーティションのサイズを最大にすることが最大の利益になります。900MB MB のルートパーティションがあれば、Workstation クラス相当のインストール (空き領域が非常に少ない場合) が実行可能になります。1.7 GB のルートパーティションがあれば、すべてのパッケージをインストールすることができます。
LILO (LInux LOader) は、Intel ベースのシステムで Red Hat Linux をブートするために使用される最も一般的な手段です。オペレーティングシステムのローダである LILO は、オペレーティングシステムの 「外側」 で動作し、Basic I/O System (つまり BIOS) のみを使用することでコンピュータハードウェア自体を構築します。このセクションでは、LILO と PC BIOS の間の対話について説明します。したがって、Intel 互換コンピュータのみに関係します。
LILO はほとんどの Intel ベースコンピュータの BIOS によって強いられる制約を受けます。特に、ほとんどの BIOS は 3 台以上のハードドライブにアクセスすることができず、任意のドライブのシリンダ 1023 を超えた場所に保存されたデータにアクセスすることもできません。最近の BIOS の中にはこのような制約のないものもありますが、決して普遍的なものではありません。
ブート時に LILO がアクセスする必要のあるデータは (Linux のカーネルも含む)、すべて /boot ディレクトリの中に格納されています。上記で推奨したパーティションレイアウトに従う場合、またはワークステーションクラスまたはサーバクラスのインストールを実行する場合、/boot ディレクトリは小さな個別のパーティションの中に作成されます。その他の場合にはルートパーティションの中に作成されます。どちらの場合でも、LILO を使用して Red Hat Linux システムをブートするつもりであれば、/boot を含むパーティションは以下のガイドラインに従わなければなりません。
IDE (または EIDE) ドライブが 2 台ある場合、いずれか一方に/boot を配置しなければなりません。この 2 台のドライブという制約には、プライマリ IDE コントローラ上にある IDE CD-ROM も含まれることに注意してください。したがって、プライマリコントローラ上に 1 台の IDE ハードドライブと 1 台の IDE CD-ROM がある場合には、セカンダリ IDE コントローラ上に他のハードドライブがある場合であっても、/boot は先頭ドライブ上のみになければなりません。
1 台の IDE (または EIDE) ドライブと 1 台または複数台の SCSI ドライがある場合、/boot は IDE ドライブまたは SCSI ドライブの ID 0 上になければなりません。他の SCSI ID は機能しません。
SCSI ハードドライブしかない場合、/boot は ID 0 または ID 1 上になければなりません。他の SCSI ID は機能しません。
上記の構成のどれが当てはまる場合であっても、/boot を含むパーティションは、シリンダ 1023 以下に完全に収まらなければなりません。/boot を含むパーティションがシリンダ 1023 をまたぐ場合には、LILO が当初は機能するものの (必要な情報がすべてシリンダ 1023 以下にあるため)、新しいカーネルをロードする段になると、そのカーネルがシリンダ 1023 を超えた場所に存在していて機能しなくなるという状況に直面する可能性があります。
前述のとおり、新しい BIOS の中には、ガイドラインを満たさないような構成でも LILO を機能させるものがあるかもしれません。さらに、構成がガイドラインを満たさない場合であっても、LILO のより難解な機能を使用することで、Linux を起動することができます。ただし、多数の可変的要素が含まれるため、Red Hat はそのような作業をサポートすることができません。
注意:: Disk Druid およびワークステーション/サーバクラスのインストールでは、このような BIOS 関連の制約が考慮されます。
| [1] | 図とは異なり、ブロックのサイズは本当に固定されています。また、平均的なディスクドライブには数千ものブロックが含まれることも覚えておいてください。ただし、ここでの論議の目的として、細かい矛盾点は無視してください。 |