Handbook:AMD64/Blocks/Disks/ja

パーティションテーブル
Linuxシステムを入れるために、（btrfs RAIDを作成した場合のように）生の、パーティショニングをしていないディスクを使うことも理論上は可能です. しかし実際にはそんなことはめったにせず、ディスク全体のブロックデバイスをより小さく扱いやすいブロックデバイスに分けて使います. システムでは、この分けられたブロックデバイスのことをパーティションと呼びます. 現在主流なパーティショニング技術は、MBRとGPTの2つがあります.

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

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

各パーティションのサイズは（識別子が32ビットなので）2TBまでに制限されます. 加えて、MBR構成はMBRのバックアップを提供しないので、アプリケーションやユーザがMBRを上書きしてしまうと、すべてのパーティション情報が失われます.

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

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

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

GPTとMBRのどちらにすべきか
上の記述から、GPTが常に推奨されるアプローチだと思われたかもしれません. ただし、いくつか注意点があります.

BIOSベースのコンピュータでGPTを使うことはできますが、Microsoft Windowsとデュアルブートを組むことはできません. Microsoft WindowsはGPTパーティションラベルを検出すると、UEFIモードで起動しようとするからです.

BIOS/CSM/レガシーモードでブートするように設定されたマザーボードファームウェアでは、GPTディスクからブートする際に問題が発生するかもしれません. その場合には、保護MBRパーティションにブートフラグもしくはアクティブフラグと呼ばれるフラグを付加することで、この問題を回避できるかもしれません. に オプションを付けると、強制的にMBRフォーマットとしてパーティションテーブルを読み込みます.

を起動して、キーを使ってフラグを立ててください. を押して最初のパーティションを選択し、キーを押してディスクに変更を反映させ、アプリケーションを終了してください.

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

ESPはFAT系列のファイルシステム（Linuxシステムではvfatと表示することもあります）である必要があります. UEFI specification では、UEFIファームウェアは FAT12、16、32 を認識すると書かれている一方で、ESP には FAT32 を推奨しています. ESP を FAT32 としてフォーマットしておきましょう:

btrfs RAID
上で述べた通り、btrfsは複数のデバイスを跨いでファイルシステムを作成することができます. このようにして作成されたbtrfsファイルシステムは、raid0、raid1、raid10、raid5、raid6モードで動作することができます. RAIDモードの5と6はかなり改善されましたが、まだ不安定と考えられています. 複数のデバイスからなるファイルシステムを作成した後でも、新しいデバイスを作成したり、古いデバイスを消去したりといったことがわずかなコマンドでできます. 他のファイルシステムでは初心者には難しいことでも、btrfsファイルシステムではかなり改善されています.

ext4ファイルシステムはbtrfsファイルシステムに変換できます. これはGentooを安定かつよくテストされたファイルシステムにインストールしたい場合に有益です. また実験的にbtrfsを使う時のように、新しいファイルシステムを徐々に学ぶときにも役立つでしょう.

LVM
インストールCDは Logical Volume Manager (LVM) サポートを提供しています. LVMのパーティション構造は、ストレージのより柔軟な管理を可能にします. この後の説明では「ふつう」のパーティションに焦点を当てていますが、LVMが好ましい場合は、それがサポートされていることを知っておいて損はないでしょう. 詳細は LVM の記事をご覧ください. 興味を持たれた方へ: 本ガイドはLVMをサポートしていないことにご注意ください.

デフォルトのパーティション構成
これよりこのハンドブックでは、シンプルな例として以下のパーティション構造を使います.

もし、これで十分かつGPTを使う場合は、すぐに標準: ディスクの分割にpartedを使うに進みましょう. MBRにまだ興味があり(まぁ、そういうこともあるでしょう)、かつ上の例のレイアウトを使う場合は別の選択肢: ディスクの分割にfdiskを使うに進んでください.

とは共にパーティショニングのためのユーティリティです. は有名で、安定した、MBRパーティションレイアウトのためのツールです. 一方、はGPTパーティションをサポートした、最初のLinuxブロックデバイスの管理ツールの一つでした. のユーザーインタフェースが好きな人は、の代わりに (GPT fdisk)を使うこともできます.

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

BIOS ブートパーティションとは
BIOS ブートパーティションはとても小さい（1-2 MB）パーティションで、GRUB2 などのブートローダが、与えられた領域（MBR では数百バイト）に収まらず、他の場所に置くこともできないようなデータを置くためのパーティションです.

このようなパーティションは絶対に必要ということはありませんが、ディスク使用量の削減のため、あるいはパーティショニングの違いに応じて膨大な量のドキュメントを書くことの困難さを考慮しても、BIOS ブートパーティションは作成することを推奨します.

正確に言うと、GPT パーティションレイアウトを GRUB2 と併用する場合、または、MBR パーティションレイアウトを GRUB2 と併用し、最初のパーティションがディスクの最初の 1 MB よりも前から始まる場合には、BIOS ブートパーティションは必要となります.

デフォルト: ディスクの分割にpartedを使う
この章では、説明中で先に示したパーティションレイアウトの例を使います.

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

parted で現在のパーティションレイアウトを表示する
はディスクを分割するためのシンプルなインタフェースを持ち、2TB以上の巨大なパーティションをサポートします. を起動しましょう（上の例のを対象とします）. に最適なパーティションのアライメントを決めさせるとよいでしょう.

アライメントとは、パーティションがディスク上のよく知られた境界から始まることを示し、OSレベルのディスク操作（ディスクからページを集める）が最低限のディスク領域を使えることを保証します. アライメントされていないパーティションでは、OSが１ページのみを必要としていたとしても、2ページにアクセスしなければなりません.

partedがサポートするすべてのオプションを表示するためには、 とタイプし、リターンキーを押してください.

GPTラベルを適用する
もしくはアーキテクチャ上のほとんどのディスクは、msdosラベルを使います. を使用してディスクにGPTラベルをつけるためには、を使います.

MBRレイアウトのディスクを作成する場合は、を使います.

partedですべてのパーティションを削除する
もし、まだパーティションの全消去を実行してない場合（例えば、をした場合や、新しくフォーマットされたディスクの場合）は、最初にすべての既存パーティションを削除しましょう. 現在のパーティションを確認するためにとタイプし、とします. ここで は、消去するパーティションの番号を示します.

同様に、使用しない他のパーティションを消去します. ここで失敗は許されません. partedは変更を即座に反映します. （一方は、変更を保存、もしくはfdiskを終了する前に、それまでの変更を無効にすることができます）

パーティションを作成する
Now will be used to create the partitions with the following settings:


 * 使用するパーティションタイプ. これは通常は"primary"となります. もしmsdosパーティションラベルを使う場合、プライマリパーティションは最大４つまでであることに留意してください.
 * パーティションの開始位置. これはMB、GB、…で指定できます.
 * パーティションの終了位置. これはMB、GB、…で指定できます.

最初に、これから使うサイズの単位がメガバイトであることを指定しましょう. （実際、メガバイトは標準的な記述ではMiBと表記されます. しかしこの文書では、もっともよく使われるMBを使います）

まず、2MBのパーティションを作成します. このパーティションはGRUB2ブートローダが使用します. コマンドを使い、1MBから始まり、3MBで終わるパーティション（2MBのサイズ）を作成します.

同じやり方でブートパーティション（128MB）、スワップパーティション（この例では512MB）、残りのディスクすべてを占めるルートパーティションを作成します. （このパーティションの終わりは-1で指定します. ディスクの最終端の1MB前で、これは取りうる最大のパーティションです）

(BIOSの代わりに)UEFIインタフェースを使う場合、ブートパーティションをEFIシステムパーティションとして設定しなければなりません. partedでは、パーティションに"boot"オプションを付けることで自動的に設定されます.

最終的に、パーティション構成は以下のようになるでしょう.

でpartedを終了します.

別の選択肢: ディスクの分割にfdiskを使う
以降の部分では、 を使って例の通りにパーティションレイアウトを作成する方法を説明します. パーティションレイアウトの例は先にも示した通りです:

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

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

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

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

fdisk ですべてのパーティションを削除する
まずは既存のパーティションを全て削除しましょう. パーティションを削除するには と入力します. 例えば を削除するにはこのようにします:

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

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

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

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

パーティションを UEFI 用にマークする場合:

ブートパーティションを作成する
今度は小さなブートパーティションを作成します. 新規パーティションを作るので を入力し、 で基本パーティションを選択、 で2番目の基本パーティションを選択しましょう. 開始セクタはデフォルトのままでいいので、そのまま Enter を押します. 終了セクタの指定では、128MB のパーティションを作るので +128M と入力します:

ここで を押すと、次のようなパーティション一覧が表示されるはずです:

パーティションのブート可能フラグを設定するために を押して  を選んでください. もう一度 を入力してみると、"Boot" 列に * 印がついていますね.

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

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

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

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

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