Handbook:AMD64/Blocks/Disks/ja

パーティションテーブル
Linux システムを入れるために、（btrfs RAID を作成した場合のように）パーティショニングされていない生のディスクを使うことも理論上は可能ですが、実際にそのようなことを行うことはほとんどありません. 代わりに、ディスク全体のブロックデバイスをより小さく扱いやすいブロックデバイスに分けて使います. システムでは、この分けられたブロックデバイスのことをパーティションと呼びます. 現在主流なパーティショニング技術は、MBR（DOS ディスクラベルとも呼ばれる）と GPT の 2 つがあります. これらは 2 種類のブートプロセスに関連しています: レガシー BIOS ブートと UEFIです.

GUID パーティションテーブル (GPT)
GUID パーティションテーブル (GPT)構成（GPT ディスクラベルとも呼ばれます）は、パーティションの識別子として 64 ビットの値を使います. パーティション情報を格納する領域は MBR パーティションテーブル（DOS ディスクラベル）の 512 バイトよりもずっと大きいため、パーティション数の制限はないようなものです. さらに、パーティションサイズの上限ももっと大きく設定されています（およそ 8 ZiB、そう、ゼビバイトです）.

オペレーティングシステムとファームウェアの間のソフトウェアインターフェースが（BIOS ではなく）UEFI ならば、DOS ディスクラベルでは互換性の問題が発生するので、GPT はほぼ必須となります.

GPTはまたチェックサムと冗長性も備えています. 具体的にはヘッダやパーティションテーブルのエラーを検出するCRC32チェックサムや、ディスクの末尾にバックアップのGPTを持っています. もしディスク先頭にあるプライマリGPTに損害があっても、バックアップのGPTを使って回復できます.

マスターブートレコード (MBR) あるいは DOS ブートセクタ
マスターブートレコードブートセクタ（DOS ブートセクタまたは DOS ディスクラベルとも呼ばれる）は、1983 年に PC DOS 2.x とともに最初に導入されました. MBR はパーティションの識別子として、32 ビットで、開始セクタとパーティションのセクタ数を使い、3種類のパーティションタイプ（プライマリ、拡張、論理）を持っています. プライマリパーティションは、ディスク先頭のとても小さい領域（ふつうは 512 バイト）にある MBR の中に、その情報が格納されます. この小ささのために、たった 4 つのプライマリパーティションしか使うことができません（例えば から  まで）.

より多くのパーティションを使うために、プライマリパーティションのうちのひとつを拡張パーティションとしてマークすることができます. 拡張パーティションは追加の論理パーティションを複数格納することができます（パーティションの中にパーティションが存在することになります）.

ハンドブックの著者たちは、可能であればいつでも、Gentoo をインストールするためには GPT を使うことを提案します.

高度なストレージ
インストールCDは Logical Volume Manager (LVM) サポートを提供しています. LVMのパーティション構造は、ストレージのより柔軟な管理を可能にします. LVM では、パーティションとディスクを組み合わせてボリュームグループを構成し、RAID グループや、低速な HD に対して高速な SSD 上にキャッシュを定義できます. この後の説明では「ふつう」のパーティションに焦点を当てていますが、LVMが好ましい場合は、それがサポートされていることを知っておいて損はないでしょう. 詳細は LVM の記事をご覧ください. 興味を持たれた方へ: 本ガイドはLVMをサポートしていないことにご注意ください.

デフォルトのパーティション構成
これよりこのハンドブックでは、ふたつの場合を考察し説明します: 1) GPT パーティションテーブルと UEFI ブートと、2) MBR パーティションテーブルとレガシー BIOS ブートです. それ以外の組み合わせも可能ではありますが、このマニュアルの対応範囲からは外れます. 上述の通り、現代的なハードウェアに対するインストールは GPT パーティションテーブルと UEFI ブートを使用するべきで、このルールに対する例外として、MBR と BIOSブートが仮想化された (クラウドの) 環境でいまだによく使用されています.

シンプルな例として以下のパーティション構造を使います.

もしこの情報だけで十分なほど熟練した読者は、実際のパーティション作成に進んで構いません.

と は共にパーティショニングのためのユーティリティです. は有名で、安定した、MBR パーティションレイアウトのために推奨されるツールです. は GPT パーティションをサポートした、最初期の Linux ブロックデバイスの管理ツールの一つで、代替の選択肢を提供します. ここでは、より優れたテキストベースのユーザーインターフェースを持つ を使用します.

パーティションの生成方法に進む前に、以降の数セッションでパーティション構造がどのように生成されるのかについて、その詳細を述べ、いくつかの共通した落とし穴について触れておきます.

EFI システムパーティション (ESP) とは
オペレーティングシステムを起動するのに (BIOS ではなく) UEFI を使うシステムに Gentoo をインストールするときは、EFI システムパーティションを作成することが重要です. この手順については後述の説明でも述べます. '''BIOS/Legacy モードで起動する場合には、EFI システムパーティションは不要です. '''

ESP は FAT 系列のファイルシステム (Linux システムでは vfat と表示することもあります) である必要があります. UEFI specification では、UEFI ファームウェアは FAT12、16、32 を認識すると書かれている一方で、ESP には FAT32 を推奨しています. パーティションを作成したら、ESP をフォーマットしてください:

BIOS ブートパーティションとは
BIOS ブートパーティションは、GPT パーティションレイアウトを BIOS/Legacy ブートモードで GRUB2 と組み合わせる場合にのみ必要になります. '''EFI/UEFI モードで起動する場合や、MBR テーブルを使用する場合には不要です. '''これはとても小さい (1 - 2 MB) パーティションで、GRUB2 などのブートローダが、与えられた領域に収まらないようなデータを置くためのパーティションです. このガイドでは使用しません.

UEFI 向けに GPT でディスクをパーティショニングする
以降の部分では、 を使って、例示したパーティションレイアウトを GPT / UEFI ブートでのインストール用に作成する方法を説明します. パーティションレイアウトの例は先にも示した通りです:

パーティションレイアウトはお好みで変更してください.

現在のパーティションレイアウトを表示する
は、ディスクをパーティション分割するためのポピュラーでパワフルなツールです. ディスク（我々の例では）に対してを起動しましょう.

キーを使えば、現在のディスクのパーティション構成を表示できます.

このディスクは 2 つの Linux ファイルシステム ("Linux" と書かれているパーティションに対応します) と 1 つの swap パーティション ("Linux swap" と書かれているパーティション) で構成されているようです.

新しいディスクラベルを作成する / すべてのパーティションを削除する
新しい GPT ディスクラベルを作成するには、 を入力してください. この操作は既存のパーティションをすべて削除します.

GPT ディスクラベルがすでに存在する (上の の出力を確認してください) 場合は、代わりに既存のパーティションをひとつずつ削除することを検討してください. パーティションを削除するには と入力します. 例えば を削除するにはこのようにします:

これで指定したパーティションの削除が予約されました. パーティションの一覧 にはもう現れませんが、変更を保存するまで実際の消去は行われないので、間違えて操作してしまった場合は中止することができます. すぐに を入力して  を押せば、パーティションは削除されません.

でパーティションの一覧を表示して とパーティション番号を入力する、という作業を繰り返すと、パーティションテーブルは空っぽになります.

さて、メモリ内のパーティションテーブルが空になり、パーティションを作る準備ができました.

EFI システムパーティション (ESP) を作成する
まずは、/boot としてマウントされることになる小さな EFI システムパーティションを作成します. 新規パーティションを作るので を入力し、 で最初の基本パーティションを選択しましょう. 開始セクタについて聞かれたら、2048 (ブートローダーのために必要になるかもしれません) になっていることを確認して を押しましょう. 終了セクタの指定では、256 MB のパーティションを作るので +256M と入力します:

パーティションを EFI システムパーティションとしてマークしてください:

スワップパーティションを作成する
次に、スワップパーティションを作成したいので、新規パーティション作成の を入力し、 で 2 番目のパーティション、 を選択しましょう. 開始セクタの指定ではそのまま Enter を押します. 終了セクタの指定では、4GB のパーティションを作るので +4G (もしくはお好みのswap領域のサイズ) と入力します.

ここまでできたら、パーティションタイプを設定するために と入力し、今作成したパーティション  を選択、そしてパーティションタイプ "Linux Swap" を意味する 19 を入力します.

ルートパーティションを作成する
最後に、ルートパーティションを作成します. で新規パーティション作成、3番目のパーティション、 を作成するために を入力、最初のセクタはそのまま  を押します. 最後のセクタを聞かれたら、ディスクの空き領域全てをこのパーティションに割り当てたいのでそのまま を押しましょう. これが終わったら、 で次のようなパーティションテーブルが表示されるはずです:

パーティションのレイアウトを保存する
このパーティションレイアウトを保存して を終了するために、 を入力します.

パーティションが作成できたら、今度はそこにファイルシステムを置きます.

BIOS / legacy ブート向けに MBR でディスクをパーティショニングする
以降の部分では、例示したパーティションレイアウトを MBR / BIOS レガシーブートでのインストール用に作成する方法を説明します. 先にも示したパーティションレイアウトの例は、こちらでは次のようになります:

パーティションレイアウトはお好みで変更してください.

現在のパーティションレイアウトを表示する
ディスク（我々の例では）に対してを起動しましょう.

キーを使えば、現在のディスクのパーティション構成を表示できます.

このディスクは現時点まで、GPT テーブルを使用して、2 つの Linux ファイルシステム ("Linux" と書かれているパーティションに対応します) と 1 つの swap パーティション ("Linux swap" と書かれているパーティション) で構成されているようです.

新しいディスクラベルを作成する / すべてのパーティションを削除する
新しい MBR ディスクラベル (ここでは DOS ディスクラベルとも呼ばれています) を作成するには、 を入力してください. この操作は既存のパーティションをすべて削除します.

DOS ディスクラベルがすでに存在する (上の の出力を確認してください) 場合は、代わりに既存のパーティションをひとつずつ削除することを検討してください. パーティションを削除するには と入力します. 例えば を削除するにはこのようにします:

これで指定したパーティションの削除が予約されました. パーティションの一覧 にはもう現れませんが、変更を保存するまで実際の消去は行われないので、間違えて操作してしまった場合は中止することができます. すぐに を入力して  を押せば、パーティションは削除されません.

でパーティションの一覧を表示して とパーティション番号を入力する、という作業を繰り返すと、パーティションテーブルは空っぽになります.

これでパーティションを作る準備ができました.

ブートパーティションを作成する
まずは、/boot としてマウントされることになる小さなパーティションを作成します. 新規パーティションを作るので を入力し、 で基本パーティションを選択、 で最初の基本パーティションを選択しましょう. 開始セクタについて聞かれたら、2048 (ブートローダーのために必要になるかもしれません) になっていることを確認して を押しましょう. 終了セクタの指定では、256 MB のパーティションを作るので +256M と入力します:

スワップパーティションを作成する
次に、スワップパーティションを作成したいので、新規パーティション作成の を入力し、 で基本パーティションを選択し、  で2番目の基本パーティション、 を選択しましょう. 開始セクタの指定ではそのまま を押します. 終了セクタの指定では、4GB のパーティションを作るので +4G (もしくはお好みのswap領域のサイズ) と入力します.

ここまでできたら、パーティションタイプを設定するために と入力し、今作成したパーティション  を選択、そしてパーティションタイプ "Linux Swap" を意味する 82 を入力します.

ルートパーティションを作成する
最後に、ルートパーティションを作成します. で新規パーティション作成、3番目の基本パーティション、 を作成するために と  を入力、最初のセクタはそのまま  を押します. 最後のセクタを聞かれたら、ディスクの空き領域全てをこのパーティションに割り当てたいのでそのまま を押しましょう. これが終わったら、 で次のようなパーティションテーブルが表示されるはずです:

パーティションのレイアウトを保存する
このパーティションレイアウトを保存して を終了するために、 を入力します.

それでは、パーティション上にファイルシステムを作成していきましょう.