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