ディスクパーティションは、パーソナルコンピュータの観点からすると標準的な部分であり、ずっと長い間そのように認識されてきました。 しかし、大多数の人々はOSがプリインストールされたコンピュータを購入しているため、パーティションがどのように機能するのかを理解していません。 本章では、ディスクパーティションの機能と使用について説明します。Red Hat Linuxのインストールが可能な限りシンプルなものであるということがわかるでしょう。
ディスクパーティションについてはよく理解できていると思われる場合は、the section called Red Hat Linuxのための場所の作成までスキップして、Red Hat Linuxのインストール準備のための、ディスクスペースを解放する作業に関する情報を参照してください。 このセクションでは、Linuxシステムが使用するパーティションの命名体系、他のOSとのディスク領域の共有、関連トピックについて説明します。
ハードディスクは非常に単純な機能を実行するものです。つまり、ハードディスクはデータを格納し、要求に応じてそのデータを忠実に取り出します。
ディスクパーティションなどの問題について議論する場合は、基礎であるハードウェアについて少しばかり知っておくことが重要です。 ただし、深みにはまってしまうのも簡単です。 したがって、ディスクドライブが区分される場合に何が起こっているのかを説明する上で簡単なディスクドライブの図を参考にしましょう。 Figure B-1 は新品の未使用ディスクドライブを示しています。
単純すぎますね。 しかし、基本的なレベルでディスクドライブの話をするならば、これで足りるでしょう。 さあ、このドライブに何らかのデータを保存してみましょう。 とはいっても、このままでは使用できません。 まず初めにしなければならないことがあります。
たぶん、古くからの利用者であればすぐにわかったでしょう。 ドライブを フォーマット する必要があります。 フォーマット(通常「 ファイルシステム を作成する」といいます)とは、ドライブに情報を書き込んで、未フォーマットのドライブに含まれる空の領域に順番を付けることです。
Figure B-2が示すように、ファイルシステムによって強いられる順序には、トレードオフがあります。
ドライブの利用可能領域のうちのごく一部はファイルシステム自身に関連するデータを保存するのに使用され、これはオーバーヘッドと見なすことができます。
ファイルシステムは残りの領域を、小さな固定サイズのセグメント群に分割します。 Linuxでは、これらのセグメントのことを ブロック と呼びます。 [1]
ファイルシステムを使用することでディレクトリやファイルなどが実現できるわけですから、普通は上記の交換条件は安いものだといえるでしょう。
また、ただ1つの普遍的なファイルシステムでなくても問題はありません。 なぜならば、Figure B-3 に示すように、1つのディスクドライブには、数多くあるファイルシステムのいずれかを書き込むことができるからです。 よくあることですが、異なるファイルシステムは互換性を持たない傾向にあります。つまり、あるファイルシステム(または関連ファイルシステムの一部)をサポートするOSが、他のファイルシステムをサポートしていなくてもおかしくありません。 ただし、これは絶対的なものではありません。 たとえば、Red Hat Linuxは広範なファイルシステム(他のOSで一般に使用される多数のファイルシステム)をサポートしているので、異なるファイルシステム間で容易にデータ交換を行うことができます。
もちろん、ディスクにファイルシステムを書き込むのは始めの一歩に過ぎません。 この仕組みの目標は、実際にデータを保存 して取り出すことです。 何らかのデータが書き込まれたドライブについて見てみましょう。
Figure B-4 が示すように、以前は空であったブロックのうちの14個にデータが格納されています。 しかし、この図からだけでは、このドライブ上にいくつのファイルがあるのかを判断することはできません。 各ファイルは少なくとも1つのブロックを使用し、複数のブロックを使用するファイルもあるため、最小で1つ、最大で14個のファイルがある可能性があります。 データの書き込まれたブロックが隣接する必要がないことに注意することも重要です。つまり、未使用ブロックと使用済みブロックが点在してもかまいません。 この点在している状態は、 フラグメンテーション (断片化)と言われています。 既存のパーティションのサイズを変更する場合に、フラグメンテーションが重要になることがあります。
多くのコンピュータ関連技術と同じように、ディスクドライブは導入されてから常に変化し続けています。 つまり、どんどん大きくなっています。 サイズではなく、容量が大きくなっているのです。 そして、このように容量が増加したためにディスクドライブの使用方法が根本的に変化してきました。
ディスクドライブの容量が飛躍的に増大するにつれて、その領域のすべてを1つの大きな塊にしておくのはよいやり方かどうか疑問視されるようになりました。 このような考え方はいくつかの問題によって引き出されました。ある問題は理性的であり、あるものは技術的なものでした。 理性的な見地からすると、適当なサイズを超えた場合に、大容量ドライブによって与えられる追加領域によってさらに散らかってしまうように思えました。 また技術的な側面からすると、ある種のファイルシステムは、大規模ドライブをサポートするようには設計されていませんでした。 あるいは、ファイルシステムが大規模ドライブをサポート できた としても、ファイルを追跡するファイルシステムによって強いられるオーバーヘッドは途方もないものになっていました。
この問題に対する解決策は、ドライブを パーティション に分割することでした。 各パーティションが個別のディスクのようであれば、それぞれにアクセスが可能になります。 これは、 パーティションテーブル を追加することによって実現されました。
注意 | |
---|---|
ここで示す図ではパーティションテーブルが実際のディスクドライブ内のパーティションから離れていますが、すべてを正確に表している訳ではありません。 実際に、パーティションテーブルはディスクの先頭部分の、他のファイルシステムまたはユーザーデータの前に格納されています。 ただし、明確にするために、図では別個のものとすることにします。 |
Figure B-5 が示すように、パーティションテーブルは4個のセクションに分かれています。 各セクションには、1つのパーティションを定義するために必要な情報が格納されています。つまり、パーティションテーブルによって4個を超えるパーティションを定義することはできません。
各パーティションテーブルのエントリは、パーティションに関するいくつかの重要な情報を含んでいます。
ディスク上のパーティションの開始点と終了点
そのパーティションが「アクティブ」かどうか
パーティションの種類
これらの特徴について詳しく見てみましょう。 開始点と終了点によって、実際のパーティションのサイズとディスク上の物理的な位置が定義されます。 「アクティブ」フラグは、ある種のOSのブートローダーによって使用されます。 つまり、「アクティブ」に設定されたパーティションに含まれるOSがブートされることになります。
パーティションの種類(パーティションタイプ)についてはやや混乱を招くかもしれません。 種類とは、予測されたパーティションの用途を識別する番号です。 このように表現するとやや曖昧に感じますが、それはパーティションタイプの意味がやや曖昧だからです。 ある種のOSは、パーティションタイプを使用することで特定のファイルシステムを表したり、特定OSと関連付けるためにパーティションにフラグを設定したり、ブート可能なOSを含むパーティションであることを表したり、またはこれら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ビットFAT(32Mバイト以下) | 04 | Linux swap | 82 |
Extended | 05 | Linux native | 83 |
DOS 16ビットFAT(32Mバイト以上) | 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を参照してください。
多くの場合には、ディスク全体にわたる1つのパーティションがあります。これはパーティション前に使用されていた基本的な方法です。 パーティションテーブルではエントリが1つだけ使用されており、そのエントリはパーティションの先頭をポイントしています。
このパーティションには「DOS」というラベルを付けてあります。 この場合は、この話には適しています。 これは、いずれかのバージョンのMicrosoft Windows™がプリインストールされたコンピュータを新規購入した場合の典型的なパーティションレイアウトです(Table B-1を参照)。
もちろん、4つのパーティションでは不十分であることに気づくでしょう。 ディスクドライブはどんどん大きくなるので、4つの適切なサイズのパーティションを設定した後でも、まだディスク領域が余るようになって来ています。 したがって、より多くのパーティションを作成する何らかの手段が必要になります。
そこで拡張パーティションという仕組みがあります。 Table B-1を見て気づいたかもしれませんが、「Extended」というパーティションタイプがあります。 拡張パーティションの正体は、このパーティションタイプです。
パーティションを作成してそのタイプを「Extended」と設定すると、拡張パーティションテーブルが作成されます。 本質的に、拡張パーティションは独立したディスクドライブのようなものです。つまり、拡張パーティションは1つまたは複数のパーティション(ここでは4つの プライマリパーティション に対して 論理パーティション と呼びます)をポイントするパーティションテーブルを持っています。論理パーティション群は拡張パーティションの中に完全に含まれます。 Figure B-7は、1つのプライマリパーティションと、2つの論理パーティションを含む1つの拡張パーティションを持つディスクドライブを示しています(パーティションが作成されていない空き領域もあります)。
この図が示すように、プライマリパーティションと論理パーティションには違いがあります。プライマリパーティションは4つしか存在できませんが、論理パーティションの数には制限がありません (ただし、実際には1つのディスクドライブ上で12個を超える論理パーティションを定義し、使うのはよい考えではありません)。
ここまでにパーティションの一般論を説明したので、この知識を利用してRed Hat Linuxをインストールする方法を考えてみましょう。
ハードディスクのパーティションを作成し直す際に、起こり得るシナリオが3つあります。
パーティションが作成されていない空き領域を利用することができる
未使用のパーティションを利用することができる
使用中パーティションの中の空き領域を利用することができる
各シナリオを順番に説明します。
注意 | |
---|---|
Red Hat Linuxをインストールする際に遭遇するパーティションレイアウトを正確に反映している訳ではないことを覚えておいてください。 |
Figure B-8の左側では、すでに定義されているパーティションはハードディスク全体を占めていないので、定義済みパーティションの部分になっていない未割り当ての領域が残されています。
このような状況を考える場合、未使用のハードディスクもこのカテゴリに分類されます。 唯一の違いは、 すべての 領域が定義済みパーティションの部分となっていないことです。
どちらの場合でも、単純に必要なパーティションを未使用の領域から作成することができます。 ただし、このシナリオはとても単純ですがあまりありえません(Red Hat Linux用に新しいディスクを購入した場合は別ですが)。 プリインストールされたOSのほとんどは、ディスクドライブ上の有効な領域をすべて使用するように設定されています(the section called アクティブパーティションの空き領域の利用を参照)。
もう少し一般的な状況を考えましょう。
この場合は、おそらく使用するつもりのない1つまたは複数のパーティションがある場合でしょう。 たぶん、以前に他のOSを少し使用していて、そのOS専用にしていたパーティションはもういらないと思っているような状況です。 Figure B-9 の左側にそのような状況を示しています。
このような状況にある場合は、未使用パーティションに割り当てられている領域を使用することができます。 まず、パーティションを削除し、その代わりに適当なLinuxパーティション(群)を作成する必要があります。 パーティションを削除するには、DOSの Fdisk を使用することができます。あるいは、カスタムクラスインストールの実行中に削除するチャンスがあたえられます。
これが最も一般的な状況です。 ただし、最も扱いにくい状況でもあります。 最も大きな問題は、たとえ十分な空き領域がある場合でも、それがすでに使用中のパーティションに割り当てられているということです。 ソフトウェアがプリインストールされたコンピュータを購入した場合、たいていはハードディスク上に、OSとデータを格納した1つの大きなパーティションがあります。
システムに新しくハードディスクドライブを追加するほかに、2つの選択肢があります。
1つの大きなパーティションを削除して、いくつかの小さなパーティションを作成します。 想像されるように、本来のパーティションに格納されていたデータはすべて失われます。 つまり、完全なバックアップを行うことが必要です。 パーティションを削除する 前 に、自分自身のために、2つのバックアップを作成し、可能であれば検証機能を使用して確実を期しておいて、バックアップからデータを読み込んでみてください。
警告 | |
---|---|
そのパーティション上に、ある種のOSがインストールされていた場合は、そのOSを再インストールする必要もあります。 OSをプリインストールして販売されているコンピュータには、オリジナルのOSを再インストールするための CD-ROM 媒体が含まれていない場合があることに注意してください。 その場合、オリジナルのパーティションとインストールされているOSを削除して作り直す 前 に確認することをお勧めします。 |
既存のソフトウェア用の小さなパーティションを作成したら、任意のソフトウェアを再インストールし、データを復元します。それからRed Hat Linuxのインストールを続けます。これを行なった状況をFigure B-10に示します。
警告 | |
---|---|
Figure B-10で示されているように、適当なバックアップを作成しておかないと、元のパーティションの中に存在していたデータはすべて失われます。 |
ここでは、一見不可能に思えることを実現するプログラムを使います。そのプログラムは、パーティションに含まれるファイルを失わずに、大きなパーティションを小さくします。 多くの人が、この手段が信頼でき、問題のないものであると考えています。 この神業を実行するために、どのようなソフトウェアを使用すべきでしょうか? 市場にはディスク管理ソフトウェア製品がいくつかあります。 したがって、自分の状況に最も適した製品を見つけるために少し調査する必要があります。
パーティションは、比較的簡単に、複数の手順で削除しないまま作り直すことができます。
既存データの圧縮
パーティションのサイズ変更
新規パーティション(群)の作成
各ステップをもう少し詳しく見てみましょう。
Figure B-11 が示すように、最初のステップは、既存パーティションに含まれるデータを「圧縮」することです。 その理由は、パーティションの後部の利用可能空き領域をが最大になるようにデータを整理するためです。
このステップは非常に重要です。 このステップを実行しないと、データが存在する場所によっては、望みどおりにパーティションのサイズを変更することができなくなります。 システムが使用しているなどの理由のために移動することのできないデータがあることにも注意してください。 そのような場合(新しいパーティションのサイズも厳密に制限されます)には、ディスクのパーティションを削除して作り直すよう強いられることがあります。
Figure B-12 に実際のサイズ変更プロセスを示します。 実際のサイズ変更操作の結果は、使用するソフトウェアによって異なります。ほとんどの場合では新しく解放した領域を使用することで、元のパーティションと同じタイプの未フォーマットパーティションが作成されます。
重要なことは、サイズ変更用ソフトウェアが新たに解放された領域をどうするのかを理解することです。 そうすれば、適切なステップを実行することができます。図に示したケースでは、単に新しくできたDOSパーティションを削除して適当なLinuxパーティション(群)を作成するのが最も適しているようです。
上記のステップを見てもわかるように、新規のパーティションを作成する必要があるかもしれないし、ないかもしれません。 ただし、サイズ変更用ソフトウェアがLinuxを認識するものでない限り、サイズ変更のプロセス中に作成されたパーティションを削除する必要がありそうです。 これを行った状況をFigure B-13に示します。
注意 | |
---|---|
以下の情報は、Intelベースのコンピュータ専用のみに関連します。 |
ユーザーにとって便利であるように、Red Hat Lenuxは FIPS を提供しています。これは無償で入手できるプログラムであり、FAT(File Allocation Table)パーティション(DOSのパーティション)のサイズを変更することができます。Red Hat Linux/x86 CD-ROM 1の Dosutils ディレクトリに格納されています。
警告 | |
---|---|
多くの人が FIPS を使用してハードディスクドライブのパーティションのサイズ変更に成功しています。 ただし、FIPS が実行する操作の性質上、 またFIPSが動作するハード/ソフトウェア構成が多様であることから、Red Hatは FIPS が正しく動作することを保証していません。 また、 FIPS についてはサポートはありません。 つまり、ユーザーの責任において使用する必要があります。 |
したがって、 FIPS によってハードディスクドライブのパーティション再設定を行うことにした場合は、以下の2つのことを行うことが 大変重要 です。
バックアップの実行 ――コンピュータ上のすべての重要なデータのコピーを2つ作成します。 これらのコピーをリムーバブルな媒体(テープやMOなど)上に作成し、作業を進める前にそれらのデータを正しく読み取れることを確認してください。
マニュアルの参照 ――Red Hat Linux/x86 CD-ROM 1のdosutils/fipsdocsディレクトリ内に格納された FIPS のマニュアルを熟読してください。
FIPS を使用することにした場合は、 FIPS の実行後に 2つ のパーティションが残ることに注意してください。1つはサイズを変更した古いパーティションで、もう1つは解放された領域から FIPS が作成したパーティションです。 新しい領域を使用してRed Hat Linuxをインストールことが目標であるならば、新たに作成されたパーティションを削除する必要があります。そうするには、現在のOSの下で fdisk を使用するか、またはカスタムクラスインストールのパーティション設定時に、そのパーティションを削除します。
Linuxがディスクパーティションを表現する際には文字と数字の組み合わせを使用しますが、これは特にハードディスクやパーティションを「Cドライブ」のように表すことに慣れている人にとっては混乱のもとになるかもしれません。 DOSやWindowsの世界では、以下のようにしてパーティションに名前が付けられます。
各パーティションのタイプがチェックされ、DOS/Windowsが読めるものかどうかが調べられます。
パーティションのタイプが互換性を持つものであれば、「ドライブ文字」が割り当てられます。 ハードディスクのドライブ文字は「C」から始まり、ラベル付けられるパーティションの数によって、次の文字に続きます。
ドライブ文字を使用して、パーティションとそのパーティションに含まれるファイルシステムを参照することができるようになります。
Red Hat Linuxは他のOSで使用されるアプローチよりも柔軟であり、より多くの情報を伝える命名体系を使用しています。 命名体系はファイルベースであり、以下のような形式のファイル名を使用します。
/dev/ xx y N |
以下にパーティションの命名体系を解読する方法を示します。
この文字列は、すべてのデバイスファイルを含むディレクトリの名前です。 パーティションはハードディスク上に存在し、ハードディスクはデバイスであるため、すべてのパーティションを表すファイル群は、 /dev/ ディレクトリ内に格納されます。
パーティション名の最初の2文字は、そのパーティションを含むデバイスのタイプを表しています。 通常目にするのは、 Hd (IDEディスク)、または Sd (SCSIディスク)です。
この文字は、パーティションがどのデバイス上にあるのかを表します。 たとえば、 /dev/had (先頭の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があらゆるタイプのパーティション上のデータにアクセスできる訳ではありませんが、多くの場合には、他のOS専用のパーティション上のデータにアクセスすることができます。 |
これらのことを覚えておいてください。そうすれば、Red Hat Linuxに必要なパーティションをセットアップする際にいろいろと楽になります。
Red Hat Linuxパーティションが、他のOSによって使用されるパーティションとハードディスクを共有する場合でも、ほとんどの場合には何も問題がありません。 ただし、Linuxと他のOSの特定の組み合わせについては、特別な注意が必要です。 他のOSとの互換性を持つディスクパーティションの作成方法については、Red Hat Linux CD-ROMのHOWTOディレクトリとHOWTO/miniディレクトリに含まれる HOWTO と HOWTO/mini を参照してください。 Linux+ で始まるMini-HOWTOが特に役に立ちます。
注意 | |
---|---|
マシン上でRed Hat Linux/x86とOS/2が共存する場合には、OS/2のパーティション設定ソフトウェアを使用してディスクパーティションを作成しなければなりません。そうしないと、OS/2がディスクパーティションを認識することはできません。 インストール中には、新しいパーティションを作成せずに、Linuxの Fdisk によってLinuxパーティション用の適当なパーティションタイプを設定してください。 |
Linuxは初めてという人が混乱する内容の1つは、Linuxがパーティションをどのように利用し、アクセスするかという問題です。 これは、DOS/Windowsでは比較的簡単なことです。各パーティションには「ドライブ文字」が割り当てられます。 この場合は、ドライブ文字を使用することで所定のパーティション上のファイルやディレクトリを参照します。
これは、Linuxがパーティションを取り扱う方法、実際には、一般にディスクという記憶媒体を取り扱う方法とはまったく異なっています。 主な違いは、各パーティションが、単一のファイル群とディレクトリ群をサポートするために必要な記憶媒体の一部を形成するために使用されることです。 これは、 マウント として知られる処理を通じて、パーティションとディレクトリを関連付けることによって行われます。 パーティションをマウントすることで、指定されたディレクトリ(マウントポイント と呼ばれます)を通じてその記憶媒体が利用可能になります。
たとえば、パーティション /dev/hda5 を /usr 上にマウントしたとすると、 /usr の下のすべてのファイルとディレクトリは物理的に /dev/hda5 上に存在するという意味になります。 したがって、ファイル /usr/share/doc/FAQ/txt/Linux-FAQ は /dev/hda5 上に格納されますが、ファイル /etc/X11/gdm/Sessions/Gnome はそこには格納されません。
この例で説明を続けると、 /usr の下にある1つまたは複数のディレクトリを別パーティション用のマウントポイントとすることも可能です。 たとえば、あるパーティション( /dev/hda7 とします)を /usr/local 上にマウントしたとすると、たとえば、 /usr/local/man/whatis は /dev/hda7 上に存在するのであって、 /dev/hda5 上に存在するのではないことになります。
Red Hat Linuxインストール準備のこの段階で、新しいOSで使用するパーティションの数とサイズについて少し考えてみる必要があります。 「パーティション数」の問題は、Linuxコミュニティの中でも長い間活発な意見が交換されており、未だ解決の糸口が見えないようですので、このような意見交換の中からそのうち適切なパーティションレイアウトの数が見つかるだろうとしておくのが無難です。
これを理解した上で、特に理由がなければ、少なくとも以下のパーティションを作成することをお勧めします。
スワップパーティション ――スワップパーティションは仮想メモリをサポートするために使用されます。 つまり、処理中のデータを保存するために必要なメモリがない場合、データはスワップパーティションに書き込まれます。 コンピュータのメモリが16Mバイト以下の場合は、Red Hat Lenuxを正しく使用するためにスワップパーティションを作成 しなければいけません。 スワップパーティションの最低サイズは、コンピュータのメモリの 2 倍、または32Mバイト(の大きい方)です。
/boot パーティション — /boot にマウントされるパーティションには、OSのカーネル(Red Hat Linuxのブートを可能にします)と、ブートストラッププロセス中に使用されるファイルが含まれます。
警告 | |
---|---|
本章のthe section called 最後の知恵――LILOの利用を参照してください。そこに含まれる情報は /boot パーティションに適用されます。 |
PC のBIOS はほとんど限定されているため、これらのファイルを入れる小さなパーティションを作成するのは、よい考えです。 この場合、パーティションの大きさは 32M バイト以下である必要があります。
ルートパーティション( /)— ルートパーティションとは、 / (ルートディレクトリ)のあるパーティションのことです。 このパーティションレイアウトでは、すべてのファイル( /boot に格納されるものを除く)はルートパーティション上に存在します。 そのため、ルートパーティションのサイズを最大にすることが最大の利益になります。 1.2Gバイトのルートパーティションがあれば、ワークステーションインストール(空き領域が 非常に 少ない場合)が実行可能になります。2.4Gバイトのルートパーティションがあれば、すべてのパッケージをインストールすることができます。 明らかに、ルートパーティションのサイズが大きいほど、よいのです。
さまざまな Red Hat Lenux パーティションの適当なサイズに関する特定な推奨については、 『Official Red Hat Linux x86 Installation Guide』を参照してください。
LILO(Linux Loader)は、IntelベースのシステムでRed Hat Linuxをブートするために使用される最も一般的な手段です。 OSのローダーであるLILOは、OSの「外側」で動作し、BIOSのみを使用することでコンピュータハードウェア自体を構築します。 このセクションでは、LILOとPC BIOSの間の対話について説明します。したがって、Intel互換コンピュータのみに関係します。
LILOはほとんどのIntelベースコンピュータのBIOSによって強いられる制約を受けます。 特に、ほとんどのBIOSは3台以上のハードディスクドライブにアクセスすることができず、任意のドライブの1,023番を超えた場所のシリンダに保存されたデータにアクセスすることもできません。 最近の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 を含むパーティションは、1,023番以下のシリンダに完全に収まらなければなりません。 /boot を含むパーティションが1,023番のシリンダをまたぐ場合には、LILOが当初は機能するものの(必要な情報がすべて1,023番のシリンダ以下にあるため)、新しいカーネルをロードするときになると、そのカーネルが1,023番のシリンダを超えた場所に存在していて機能しなくなるという状況に直面する可能性があります。
前述のとおり、新しいBIOSの中には、ガイドラインを満たさないような構成でもLILOを機能させるものがあるかもしれません。 さらに、構成がガイドラインを満たさない場合であっても、LILOのより難解な機能を使用することで、Linuxを起動することができます。 ただし、多数の可変的要素が含まれるため、Red Hatはそのような作業をサポートすることができません。
注意 | |
---|---|
Disk Druid やワークステーションインストール/サーバーインストールでは、このようなBIOS関連の制約が考慮されます。 |
[1] | 図とは異なり、ブロックのサイズは 本当に 固定されています。 また、ディスクドライブには場合によっては何百万個ものブロックが含まれることも覚えておいてください。 ただし、ここでの論議の目的として、細かい矛盾点は無視してください。 |