Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第25章 ディスクパーティションの概要

注記

この付録は必ずしもx86ベース以外のアーキテクチャに適用できるとは限りません。しかしながら、ここに記載されている全般的なコンセプトは適用できるかもしれません。
この付録は必ずしもx86ベース以外のアーキテクチャに適用できるとは限りません。しかしながら、ここに記載されている全般的なコンセプトは適用できるかもしれません。
If you are reasonably comfortable with disk partitions, you could skip ahead to 「Red Hat Enterprise Linux 用に領域を作成」, for more information on the process of freeing up disk space to prepare for a Red Hat Enterprise Linux installation. This section also discusses the partition naming scheme used by Linux systems, sharing disk space with other operating systems, and related topics.

25.1. ハードディスクの基本概念

ハードディスクは非常に簡単な機能を果たします — ハードディスクはデータを保存し、要求に応じて忠実にそれを取り出します。
When discussing issues such as disk partitioning, it is important to know a bit about the underlying hardware. Unfortunately, it is easy to become bogged down in details. Therefore, this appendix uses a simplified diagram of a disk drive to help explain what is really happening when a disk drive is partitioned. 図25.1「未使用のディスクドライブ」, shows a brand-new, unused disk drive.
未使用のディスクドライブ

図25.1 未使用のディスクドライブ

見るものがない状態ですね。しかし基本レベルでディスクドライブを語るのなら今はこれで十分です。この状態のまま、このドライブに何かデータを保存したいとなるとこれでは無理です。まずしなければならない事があります。

25.1.1. 何を書き込むかでなく、どの様に書き込むか

Experienced computer users probably got this one on the first try. We need to format the drive. Formatting (usually known as "making a file system") writes information to the drive, creating order out of the empty space in an unformatted drive.
ファイルシステムを持つディスクドライブ

図25.2 ファイルシステムを持つディスクドライブ

As 図25.2「ファイルシステムを持つディスクドライブ」, implies, the order imposed by a file system involves some trade-offs:
  • A small percentage of the drive's available space is used to store file system-related data and can be considered as overhead.
  • A file system splits the remaining space into small, consistently-sized segments. For Linux, these segments are known as blocks. [11]
ファイルシステムがディレクトリやファイルを使用できるようにするわけですから、上記のトレードオフは安いものと言えるでしょう。
It is also worth noting that there is no single, universal file system. As 図25.3「異なるファイルシステムを持つディスクドライブ」, shows, a disk drive may have one of many different file systems written on it. As you might guess, different file systems tend to be incompatible; that is, an operating system that supports one file system (or a handful of related file system types) may not support another. This last statement is not a hard-and-fast rule, however. For example, Red Hat Enterprise Linux supports a wide variety of file systems (including many commonly used by other operating systems), making data interchange between different file systems easy.
異なるファイルシステムを持つディスクドライブ

図25.3 異なるファイルシステムを持つディスクドライブ

もちろん、ディスクファイルに書き込むのは始めの一歩に過ぎません。このプロセスの目標は実際にデータを 保存 して 取り出す ことです。何らかのデータが書き込まれたドライブについて見てみましょう。
データの書き込まれたドライブディスク

図25.4 データの書き込まれたドライブディスク

As 図25.4「データの書き込まれたドライブディスク」, shows, some of the previously-empty blocks are now holding data. However, by just looking at this picture, we cannot determine exactly how many files reside on this drive. There may only be one file or many, as all files use at least one block and some files use multiple blocks. Another important point to note is that the used blocks do not have to form a contiguous region; used and unused blocks may be interspersed. This is known as fragmentation. Fragmentation can play a part when attempting to resize an existing partition.
多くのコンピュータ関連技術と同じように、ディスクドライブは導入されてから常に変化し続けています。つまり、より大きくなっています。サイズではなく、情報保存の容量が大きくなっているのです。そしてこの容量増加がディスクドライブの使用方法を根本的に変化させてきました。

25.1.2. パーティション: 1 つのドライブを複数ドライブにする

ディスクドライブの内容が飛躍的に増大するにつれて、その領域のすべてをひとつの大きな塊にしておくのは良いやり方かどうか疑問視されるようになりました。このような考え方は幾つかの問題によって引き出されました。ある問題は論理的であり、あるものは技術的なものでした。論理的な見地からすると、適当なサイズを越えた場合に、大容量ドライブから与えられる追加領域によってさらに散らかされてしまうのではという問題です。また技術的な面からすると、一定容量を越えるものをサポートするようには設計されていないファイルシステムがあるという問題です。あるいは、ファイルシステムが大容量の大規模デバイスをサポートできたとしても、ファイルを追跡するファイルシステムによって強いられるオーバーヘッドは途方もないものになってしまうでしょう。
この問題に対する解決案はドライブを パーティション に分割することでした。各パーティションが個々のディスクのようであれば、それぞれにアクセスが可能になります。これは、パーティションテーブル を追加することによって実現されました。

注記

ここで示す図ではパーティションテーブルが実際のディスクドライブから離れていますが、本来の状況を正確に表している訳ではありません。実際には、パーティションテーブルはそのディスクの先頭部分となる、他のファイルシステムまたはユーザーデータの前に格納されています。但し、わかりやすくするために図では別々に表示します。
パーティションテーブルを持つディスクドライブ

図25.5 パーティションテーブルを持つディスクドライブ

As 図25.5「パーティションテーブルを持つディスクドライブ」 shows, the partition table is divided into four sections or four primary partitions. A primary partition is a partition on a hard drive that can contain only one logical drive (or section). Each section can hold the information necessary to define a single partition, meaning that the partition table can define no more than four partitions.
各パーティションテーブルのエントリ(登記項目)はパーティションに関する重要な特徴を含んでいます。
  • ディスク上のパーティションの開始点と終了点
  • Whether the partition is "active"
  • The partition's type
Let us take a closer look at each of these characteristics. The starting and ending points actually define the partition's size and location on the disk. The "active" flag is used by some operating systems' boot loaders. In other words, the operating system in the partition that is marked "active" is booted.
The partition's type can be a bit confusing. The type is a number that identifies the partition's anticipated usage. If that statement sounds a bit vague, that is because the meaning of the partition type is a bit vague. Some operating systems use the partition type to denote a specific file system type, to flag the partition as being associated with a particular operating system, to indicate that the partition contains a bootable operating system, or some combination of the three.
By this point, you might be wondering how all this additional complexity is normally used. Refer to 図25.6「1 つのパーティションを持つディスクドライブ」, for an example.
1 つのパーティションを持つディスクドライブ

図25.6 1 つのパーティションを持つディスクドライブ

多くの場合には、ディスク全体にわたるひとつのパーティションがあります。これはパーティション以前に使用されていた基本的な方法です。パーティションテーブルではエントリがひとつだけ使用されており、そのエントリはパーティションの先頭を示しています。
We have labeled this partition as being of the "DOS" type. Although it is only one of several possible partition types listed in 表25.1「パーティションタイプ」, it is adequate for the purposes of this discussion.
表25.1「パーティションタイプ」, contains a listing of some popular (and obscure) partition types, along with their hexadecimal numeric values.

表25.1 パーティションタイプ

パーティションタイプ パーティションタイプ
空白 00 Novell Netware 386 65
DOS 12-bit FAT 01 PIC/IX 75
XENIX root 02 Old MINIX 80
XENIX usr 03 Linux/MINUX 81
DOS 16-bit <=32M 04 Linux swap 82
Extended 05 Linux native 83
DOS 16-bit >=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
PPC PReP Boot 41 DOS R/O e3
GNU HURD 63 DOS secondary f2
Novell Netware 286 64 BBT ff

25.1.3. パーティションの中のパーティション — 拡張パーティションの概要

もちろん、4 つのパーティションでは不十分であることに気が付くでしょう。ディスクドライブはどんどん大きくなるわけで、4 つの適切なサイズのパーティションを設定した後でもまだディスク領域が余るようになって来ています。したがってより多くのパーティションを作成する何らかの手段が必要になります。
Enter the extended partition. As you may have noticed in 表25.1「パーティションタイプ」, there is an "Extended" partition type. It is this partition type that is at the heart of extended partitions.
When a partition is created and its type is set to "Extended," an extended partition table is created. In essence, the extended partition is like a disk drive in its own right — it has a partition table that points to one or more partitions (now called logical partitions, as opposed to the four primary partitions) contained entirely within the extended partition itself. 図25.7「拡張パーティションを持つディスクドライブ」, shows a disk drive with one primary partition and one extended partition containing two logical partitions (along with some unpartitioned free space).
拡張パーティションを持つディスクドライブ

図25.7 拡張パーティションを持つディスクドライブ

この図が示すように、プライマリパーティションと論理パーティションには違いがあります — プライマリーパーティションは 4 つしかできませんが、論理パーティションにはその制限がありません。しかし、Linux によるパーティションへのアクセスの仕方を考慮すると、1 つのディスクドライブに 12 個を越える論理パーティションを定義するのは避けてください。
ここまで、パーティション設定全般について説明して来ました。これからはこの知識を Red Hat Enterprise Linux のインストールで活用する為の再確認をします。

25.1.4. Red Hat Enterprise Linux 用に領域を作成

次に、ハードディスクのパーティションを作り直す際に考えられる状況をいくつか示します。
  • パーティションが作成されてない空き領域がある
  • 未使用のパーティションがある
  • 使用中のパーティションの中に空き領域がある
各シナリオを順番に検討しましょう。

注記

以下のイラストが説明の為に単純化してあり、実際の Red Hat Enterprise Linux のインストールで遭遇する本当のパーティションのレイアウトを精確に示すものでないことを忘れないで下さい。

25.1.4.1. パーティションが作成されていない領域の使用

In this situation, the partitions already defined do not span the entire hard disk, leaving unallocated space that is not part of any defined partition. 図25.8「パーティションが作成されていない空き領域を持つディスクドライブ」, shows what this might look like.
パーティションが作成されていない空き領域を持つディスクドライブ

図25.8 パーティションが作成されていない空き領域を持つディスクドライブ

In 図25.8「パーティションが作成されていない空き領域を持つディスクドライブ」, 1 represents an undefined partition with unallocated space and 2 represents a defined partition with allocated space.
考えてみると未使用のハードディスクもこのカテゴリに分類されます。唯一の違いは 全ての 領域が、定義済みのどの領域部分にもなっていないということです。
In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Red Hat Enterprise Linux). Most pre-installed operating systems are configured to take up all available space on a disk drive (refer to 「アクティブパーティションの空き領域の使用」).
次にもうすこし一般的な状況を考えましょう。

25.1.4.2. 未使用パーティション領域を使用

In this case, maybe you have one or more partitions that you do not use any longer. Perhaps you have dabbled with another operating system in the past, and the partition(s) you dedicated to it never seem to be used anymore. 図25.9「未使用パーティションを持つディスクドライブ」, illustrates such a situation.
未使用パーティションを持つディスクドライブ

図25.9 未使用パーティションを持つディスクドライブ

In 図25.9「未使用パーティションを持つディスクドライブ」, 1 represents an unused partition and 2 represents reallocating an unused partition for Linux.
このような状況にある場合は、未使用のパーティションに割り当てられている領域を使用することができます。まず、そのパーティションを削除してから、そこに適切な Linux パーティションを作成します。インストール中に手動で未使用のパーティションを削除し、新規のパーティションを作成することができます。

25.1.4.3. アクティブパーティションの空き領域の使用

これが最も一般的な状況です。ただし、最も扱いにくい状況でもあります。最も大きな問題は、たとえ十分な空き領域がある場合でも、それがすでに使用中のパーティションに割り当てられているということです。ソフトウェアがプリインストールされているコンピュータを購入した場合、たいていはハードディスク上に OS とデータを格納した大きなパーティションがあります。
システムに新しくハードディスクドライブを追加する以外に、2 つの選択肢があります。
Destructive Repartitioning
大きなパーティションを削除して、いくつかの小さなパーティションを作成します。想像されるように従来のパーティションに格納されていたデータはすべて失われます。つまり、完全なバックアップを行うことが必要です。パーティションを削除する前に、後で後悔しないよう、バックアップを 2 部作成し、検証機能(ソフトウェアがあれば)を使用します。パーティションを削除する に、バックアップデータが読み込めるか試してみます。

警告

そのパーティションに何かのタイプの OS がインストールされていた場合は、その OS も再インストールする必要があります。OS をプリインストールして販売されているコンピュータには、オリジナル OS を再インストールするための CD-ROM が含まれていない場合があるので注意してください。自分のシステムがこれに該当するか、オリジナルパーティションとその中の OS を削除する に必ず確認してください。
After creating a smaller partition for your existing operating system, you can reinstall any software, restore your data, and start your Red Hat Enterprise Linux installation. 図25.10「既成のパーティションを削除してパーティション再構成されたディスクドライブ」 shows this being done.
既成のパーティションを削除してパーティション再構成されたディスクドライブ

図25.10 既成のパーティションを削除してパーティション再構成されたディスクドライブ

警告

As 図25.10「既成のパーティションを削除してパーティション再構成されたディスクドライブ」, shows, any data present in the original partition is lost without proper backup!
Non-Destructive Repartitioning
ある種のプログラムを使用して一見不可能と思えることを行ないます。パーティションに含まれるファイルを失わずに、その大きなパーティションを小さくします。多くの人の間でこの手段は信頼性があり、問題が無いと考えられています。この神技を実行するためにどのようなソフトウェアを使用するのでしょうか? 市場にはディスク管理ソフトウェア製品がいくつかあります。自分の状況に最も適した製品を見つけるために少し調査をした方がよいでしょう。
パーティションの再編成は比較的簡単で、いくつかの手順を経て削除しないまま実行できます。
  • 既存データの圧縮とバックアップ
  • Resize the existing partition
  • Create new partition(s)
各ステップをもう少し詳しく見てみましょう
25.1.4.3.1. 既存データの圧縮
As 図25.11「圧縮する前と後のディスクドライブ」, shows, the first step is to compress the data in your existing partition. The reason for doing this is to rearrange the data such that it maximizes the available free space at the "end" of the partition.
圧縮する前と後のディスクドライブ

図25.11 圧縮する前と後のディスクドライブ

In 図25.11「圧縮する前と後のディスクドライブ」, 1 represents before and 2 represents after.
このステップは非常に重要です。このステップを実行しないと、データが存在する場所によっては希望通りにパーティションのサイズを変更できなくなります。色々な理由で移動できないデータがあることも留意してください。そのような場合(新しいパーティションサイズも厳密に制限されます)には、ディスクのパーティションを削除して作り直すことを強いられることがあります。
25.1.4.3.2. Resize the existing partition
図25.12「既存のパーティションのサイズ変更をしたディスクドライブ」, shows the actual resizing process. While the actual result of the resizing operation varies depending on the software used, in most cases the newly freed space is used to create an unformatted partition of the same type as the original partition.
既存のパーティションのサイズ変更をしたディスクドライブ

図25.12 既存のパーティションのサイズ変更をしたディスクドライブ

重要なことは、サイズ変更用ソフトウェアが、新たに解放された領域をどうするのかを理解することです。そうすれば適切なステップを実行することができます。図に示した事例では、新しくできた DOS パーティションを削除して、適当な Linux パーティション(群)を作成するのが最も適しているようです。
25.1.4.3.3. Create new partition(s)
As the previous step implied, it may or may not be necessary to create new partitions. However, unless your resizing software is Linux-aware, it is likely that you must delete the partition that was created during the resizing process. 図25.13「最終的なパーティション構成を持つディスクドライブ」, shows this being done.
最終的なパーティション構成を持つディスクドライブ

図25.13 最終的なパーティション構成を持つディスクドライブ

注記

以下の情報は x86 ベースのコンピュータのみに関連します。
お客様への便宜として、parted が提供されています。これは、 パーティションのサイズ変更が出来る公共使用のプログラムです。
parted を使用してハードドライブを再パーティションするように 決心した場合、ディスク収納の慣れていて、コンピュータデータのバックアップを実行できる ことが重要になります。コンピュータ上の全てのデータの二重コピーを作る必要があります。 これらのコピーは外部メディア(テープ、CD-ROM、フロッピィディスクなど)に移動して、 その後、それらが読み込み可能なことを確認して継続します。
parted を使用する決定をした場合、parted の 実行の後には 二つ のパーティションが残ることに注意して下さい。 1つはユーザーがサイズ変更したもので、もう1つは parted が 新しい空き領域から作成したものです。目的がその領域を Red Hat Enterprise Linux にインストール用に 使用するのなら、新しく作成されたパーティションは、現在のオペレーティングシステムの パーティションユーティリティを使用して、又は、インストール時にパーティションを設定することで、 削除する必要があります。

25.1.5. パーティションの命名体系

Linux refers to disk partitions using a combination of letters and numbers which may be confusing, particularly if you are used to the "C drive" way of referring to hard disks and their partitions. In the DOS/Windows world, partitions are named using the following method:
  • Each partition's type is checked to determine if it can be read by DOS/Windows.
  • If the partition's type is compatible, it is assigned a "drive letter." The drive letters start with a "C" and move on to the following letters, depending on the number of partitions to be labeled.
  • このドライブ文字で、パーティションとそのパーティションの中のファイルシステムを参照することができるようになります。
Red Hat Enterprise Linux は他のオペレーティングシステムで使用されているアプローチよりも柔軟であり、より 多くの情報を伝える、命名方式を使います。この命名方式はファイルベースで、/dev/xxyN の形式でファイル名を持ちます。
以下にこの命名体系の解読方法を示します。
/dev/
これは、全てのデバイスファイルが配置してあるディレクトリの名前です。パーティションはハードディスク内に 存在し、ハードディスクはデバイスですから、全ての利用可能なパーティションを示すファイルは /dev/ 内に存在します。
xx
パーティション名の最初の二文字は、パーティションが存在するデバイスのタイプを示します。 これは通常、hd (IDE ディスク用) か sd (SCSI ディスク用) です。
y
この文字はパーティションがあるデバイスを示します。例えば、/dev/hda (最初の IDE ハードディスク) 又は /dev/sdb (二番目の SCSI ディスク)。
N
最後の数字はパーティションそのものを示します。最初の四つ(プライマリか、拡張)の パーティションは、1 から 4 までの 数字がついています。論理パーティションは 5 で始まります。 ですから、例えば、/dev/hda3 とは、最初の IDE ハードディスクの 三番目のプライマリか、拡張パーティションであり、/dev/sdb6 とは、 二番目の SCSI ハードディスク上の二つめの論理パーティションになります。

注記

この命名慣習は、すべてパーティションタイプを基礎にしている訳ではありません。Red Hat Enterprise Linux の基では 全ての パーティションが識別できますが、DOS/Windows とは 異ります。そして、Red Hat Enterprise Linux が全てのタイプのパーティション上のデータにアクセスできると言う 意味ではありません。但し、多くのケースで別のオペレーティングシステム専用のパーティション 上にあるデータにアクセスすることも可能です。
この情報を心に留めておいて下さい。Red Hat Enterprise Linux が必要とするパーティションを設定するときに、 そのステップがより判り易いでしょう。

25.1.6. ディスクパーティションと他の OS

Red Hat Enterprise Linux パーティションが、他のオペレーティングシステムで使用しているパーティションと ハードディスクを共有している場合も、ほとんどの場合、問題はありません。しかし、Linux と 他のオペレーティングシステムとの特殊な組み合わせでは、特別な注意が必要なことがあります。

25.1.7. ディスクパーティションとマウントポイント

One area that many people new to Linux find confusing is the matter of how partitions are used and accessed by the Linux operating system. In DOS/Windows, it is relatively simple: Each partition gets a "drive letter." You then use the correct drive letter to refer to files and directories on its corresponding partition.
これは 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 上ではありません。

25.1.8. パーティションの数

At this point in the process of preparing to install Red Hat Enterprise Linux, you must give some consideration to the number and size of the partitions to be used by your new operating system. The question of "how many partitions" continues to spark debate within the Linux community and, without any end to the debate in sight, it is safe to say that there are probably as many partition layouts as there are people debating the issue.
これを心に留めている状態で、他の方法で実行する理由がない限りは、少くとも 以下のようなパーティションの作成が推奨されます: swap/boot/(又は Itanium システム用に /boot/efi/)、Itanium システム用の /var/ パーティション、 それから / (root)。
For more information, refer to 「パーティション設定に関する推奨」.


[11] Blocks really are consistently sized, unlike our illustrations. Keep in mind, also, that an average disk drive contains thousands of blocks. But for the purposes of this discussion, please ignore these minor discrepancies.