「パーティショニング」の版間の差分
細 (→GPT か MBR の選択: 修正) |
(表現を少し修正) |
||
(2人の利用者による、間の4版が非表示) | |||
3行目: | 3行目: | ||
[[Category:システムリカバリ]] |
[[Category:システムリカバリ]] |
||
[[de:Partitionierung]] |
[[de:Partitionierung]] |
||
− | [[es:Partitioning]] |
||
[[en:Partitioning]] |
[[en:Partitioning]] |
||
[[fa:پارتیشن بندی]] |
[[fa:پارتیشن بندی]] |
||
[[pt:Partitioning]] |
[[pt:Partitioning]] |
||
[[ru:Partitioning]] |
[[ru:Partitioning]] |
||
+ | [[tr:Partitioning]] |
||
[[zh-hans:Partitioning]] |
[[zh-hans:Partitioning]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
23行目: | 23行目: | ||
パーティショニングとは[[Wikipedia:ja:記憶装置#二次記憶装置|二次記憶装置]]上に1つ、あるいは複数の領域を作成して、それぞれの領域を分離して管理できるようにすることです。 |
パーティショニングとは[[Wikipedia:ja:記憶装置#二次記憶装置|二次記憶装置]]上に1つ、あるいは複数の領域を作成して、それぞれの領域を分離して管理できるようにすることです。 |
||
− | ディスク全体を1つのパーティションに割り当てることもできますし、複数のパーティションに割り当てることもできます(デュアルブートする場合や[[スワップ]]パーティションを作る場合、オーディオファイルやビデオファイルなどのデータを論理的に分けておきたい場合に便利です)。パーティションスキームは、Master Boot Record (MBR) や GUID Partition Table (GPT) などの[[#パーティションテーブル|パーティションテーブル]]に格納されています。 |
+ | ディスク全体を1つのパーティションに割り当てることもできますし、複数のパーティションに割り当てることもできます (デュアルブートする場合や[[スワップ]]パーティションを作る場合、オーディオファイルやビデオファイルなどのデータを論理的に分けておきたい場合に便利です)。パーティションスキームは、Master Boot Record (MBR) や GUID Partition Table (GPT) などの[[#パーティションテーブル|パーティションテーブル]]に格納されています。 |
パーティションテーブルは[[Wikipedia:List of disk partitioning software|パーティショニングツール]]を使うことで作成したり変更したりできます。Arch Linux で利用できるパーティショニングツールは [[#パーティショニングツール]] セクションにリストアップされています。 |
パーティションテーブルは[[Wikipedia:List of disk partitioning software|パーティショニングツール]]を使うことで作成したり変更したりできます。Arch Linux で利用できるパーティショニングツールは [[#パーティショニングツール]] セクションにリストアップされています。 |
||
− | 通常、パーティションには[[ファイルシステム]]が直接含まれています。これは、パーティション上にファイルシステムを作成する(つまり、パーティションを[[フォーマット]]する)ことで可能です。あるいは、パーティションには [[LVM]]、[[保存データ暗号化#ブロックデバイスの暗号化|ブロックデバイス暗号化]]、[[RAID]] を含ませることもでき、最終的にこれらは、ファイルを格納できるデバイスファイルを提供します(あるいは、デバイスをさらに積み重ねることもできます)。 |
+ | 通常、パーティションには[[ファイルシステム]]が直接含まれています。これは、パーティション上にファイルシステムを作成する(つまり、パーティションを[[フォーマット]]する)ことで可能です。あるいは、パーティションには [[LVM]]、[[保存データ暗号化#ブロックデバイスの暗号化|ブロックデバイス暗号化]]、[[RAID]] を含ませることもでき、最終的にこれらは、ファイルを格納できるデバイスファイルを提供します (あるいは、デバイスをさらに積み重ねることもできます)。 |
− | [[ブロックデバイス]](例えば ディスク、パーティション、LUKS デバイス、LVM 論理ボリューム、RAID アレイ)のうち、マウント可能なファイルシステムを直接含んでいるものは、[[Wikipedia:Volume (computing)|ボリューム]]と呼ばれます。 |
+ | [[ブロックデバイス]] (例えば ディスク、パーティション、LUKS デバイス、LVM 論理ボリューム、RAID アレイ) のうち、マウント可能なファイルシステムを直接含んでいるものは、[[Wikipedia:Volume (computing)|ボリューム]]と呼ばれます。 |
== パーティションテーブル == |
== パーティションテーブル == |
||
91行目: | 91行目: | ||
MBR に対する GPT のメリットは: |
MBR に対する GPT のメリットは: |
||
− | * GPT はユニークなディスク GUID と、各パーティションごとにユニークなパーティション GUID([[PARTUUID]])を提供します。これは、パーティションやディスクを参照するための、ファイルシステムに依存しない良い手段です。GUID は、 |
+ | * GPT はユニークなディスク GUID と、各パーティションごとにユニークなパーティション GUID([[PARTUUID]])を提供します。これは、パーティションやディスクを参照するための、ファイルシステムに依存しない良い手段です。GUID は、[https://uapi-group.org/specifications/specs/discoverable_partitions_specification/ Discoverable Partitions Specification] の前提条件であり、Systemd を有効化した initramfs で利用できます。 |
* GPT は、ファイルシステムに依存しないパーティション名を提供します([[PARTLABEL]])。 |
* GPT は、ファイルシステムに依存しないパーティション名を提供します([[PARTLABEL]])。 |
||
* GPT では任意の数のパーティションを作成できます(パーティションテーブルに割り当てられた領域のサイズに依存します)。拡張パーティションや論理パーティションは必要ありません。デフォルトで、GPT には 128 個のパーティションを定義できるスペースが確保されています。パーティションテーブルにより多くのスペースを割り当てることで、より多くのパーティションを定義できるようになります(この機能をサポートしているツールは今の所 [[gdisk]] しか知られていません)。 |
* GPT では任意の数のパーティションを作成できます(パーティションテーブルに割り当てられた領域のサイズに依存します)。拡張パーティションや論理パーティションは必要ありません。デフォルトで、GPT には 128 個のパーティションを定義できるスペースが確保されています。パーティションテーブルにより多くのスペースを割り当てることで、より多くのパーティションを定義できるようになります(この機能をサポートしているツールは今の所 [[gdisk]] しか知られていません)。 |
||
104行目: | 104行目: | ||
=== パーティションレスディスク === |
=== パーティションレスディスク === |
||
− | パーティションレスディスク(別名 [https:// |
+ | パーティションレスディスク(別名 [https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq#superfloppy superfloppy])とは、パーティションテーブルを持たないストレージデバイスのことであり、1つのファイルシステムがストレージデバイス全体を占めます。パーティションレスデバイスに存在するブートセクタは、[[Wikipedia:Volume boot record|volume boot record (VBR)]] と呼ばれます。 |
==== Btrfs パーティショニング ==== |
==== Btrfs パーティショニング ==== |
||
123行目: | 123行目: | ||
=== シングルルートパーティション === |
=== シングルルートパーティション === |
||
− | このスキームが |
+ | このスキームが最もシンプルかつ柔軟であり、消費者グレードのデバイスのストレージサイズが増加していることを鑑みると、ほとんどの場合これで十分です。必要に応じて[[スワップファイル]]を作成することもでき、簡単にそのサイズを変更できます。通常、まず単一の {{ic|/}} パーティションから考え始めて、それから RAID、暗号化、共有メディアパーティションなどのユースケースに合わせてパーティションを分割していくのが道理にかなっています。いくつかの一般的な専用パーティション及び一般的でない専用パーティションの説明は [[#パーティションを分割する]] を参照してください |
+ | |||
+ | {{Warning|[[ブートローダー]]に {{ic|/}} 内の {{ic|/boot}} ディレクトリにアクセスする機能が存在しない場合、[[#/boot|/boot パーティション]]は分割された物理パーティションにする必要があります (つまり、LVM、ソフトウェア RAID、ファイルシステムのサブボリュームなどではなく、ディスク上のメインのパーティションテーブル上に作成する必要があるということ)。よって、カーネルと initramfs のイメージが存在する、ブロックデバイス、スタックされたブロックデバイス (LVM、RAID、dm-crypt、LUKS など)、ファイルシステムに至るまでの全てを、ブートローダーがサポートしていなければならなりません。}} |
||
+ | |||
+ | GPT パーティションは、タイプ GUID {{ic|BC13C2FF-59E6-4262-A352-B275FD6F7172}} ("Linux root (x86-64)", "Linux x86-64 root (/)") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID {{ic|83}} である必要があります。 |
||
=== パーティションを分割する === |
=== パーティションを分割する === |
||
140行目: | 144行目: | ||
{{ic|/}} には伝統的に {{ic|/usr}} ディレクトリが含まれており、インストールされているソフトウェアの量によっては非常に肥大化することがあります。最近のハードディスクでは、ほとんどのユーザにとって 15 から 20 GiB あれば十分でしょう。スワップファイルをここに保存するつもりであれば、パーティションのサイズをもっと大きくする必要があるかもしれません。 |
{{ic|/}} には伝統的に {{ic|/usr}} ディレクトリが含まれており、インストールされているソフトウェアの量によっては非常に肥大化することがあります。最近のハードディスクでは、ほとんどのユーザにとって 15 から 20 GiB あれば十分でしょう。スワップファイルをここに保存するつもりであれば、パーティションのサイズをもっと大きくする必要があるかもしれません。 |
||
+ | |||
+ | GPT パーティションは、タイプ GUID {{ic|BC13C2FF-59E6-4262-A352-B275FD6F7172}} ("Linux root (x86-64)", "Linux x86-64 root (/)") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID {{ic|83}} である必要があります。 |
||
==== /boot ==== |
==== /boot ==== |
||
145行目: | 151行目: | ||
{{ic|/boot}} ディレクトリには、[[カーネル]]や [[initramfs]] イメージ、ブートローダの設定ファイルやブートローダのステージが含まれています。また、このディレクトリには、カーネルがユーザ空間のプログラムを実行し始める前に使用されるデータも格納されています。{{ic|/boot}} は通常のシステム運用では必要ありませんが、ブート時やカーネルのアップグレード(初期 RAM ディスクの生成)の際に必要になります。 |
{{ic|/boot}} ディレクトリには、[[カーネル]]や [[initramfs]] イメージ、ブートローダの設定ファイルやブートローダのステージが含まれています。また、このディレクトリには、カーネルがユーザ空間のプログラムを実行し始める前に使用されるデータも格納されています。{{ic|/boot}} は通常のシステム運用では必要ありませんが、ブート時やカーネルのアップグレード(初期 RAM ディスクの生成)の際に必要になります。 |
||
− | {{ |
+ | {{Warning| |
− | * {{ic|/boot}} |
+ | * [[ブートローダー]]には、{{ic|/boot}} パーティションにアクセスする機能が存在している必要があります。よって、カーネルと initramfs のイメージが存在する、ブロックデバイス、スタックされたブロックデバイス (LVM、RAID、dm-crypt、LUKS など)、ファイルシステムに至るまでの全てを、ブートローダーがサポートしていなければならなりません。 |
+ | * ファイルシステムには、[[ブートローダー]]がまだ対応していない新しい機能が導入されることがあります (例: {{Bug|79857}}、{{Bug|59047}}、{{Bug|58137}}、{{Bug|51879}}、{{Bug|46856}}、{{Bug|38750}}、{{Bug|21733}}、[[fscrypt]] によって暗号化されたディレクトリ)。その場合、[[ブートローダー]]と互換性の無い機能を無効化しない限り、そのファイルシステムを {{ic|/boot}} に対して使用するべきではありません。この問題は [[FAT32]] を使用することで回避することができます。FAT32 は事実上全てのブートローダーによってサポートされており、新しい機能が追加されることもないからです。 |
||
− | * 使用する UEFI [[ブートローダー]]が他のファイルシステム用のドライバを搭載していない場合、[[EFI システムパーティション]]を {{ic|/boot}} にマウントすることが推奨されます。詳細は [[EFI システムパーティション#パーティションのマウント]] を見てください。 |
||
+ | |||
+ | ブートローダーの要件と機能に関する詳細は「[[Arch ブートプロセス#ブートローダー]]」を参照してください。 |
||
}} |
}} |
||
− | [[EFI システムパーティション]]を {{ic|/boot}} と |
+ | {{Note|UEFI システムにおいては、[[EFI システムパーティション]]を {{ic|/boot}} にマウントすることで、別のパーティションを作成する必要がなくなります。詳細は「[[EFI システムパーティション#パーティションのマウント]]」を参照してください。}} |
+ | EFI システムパーティションを {{ic|/boot}} として使用する場合、([[EFI システムパーティション]]の記事で説明されているように) 最小の推奨サイズは 300 MiB であり、適切なパーティションタイプが設定されていなければなりません。 |
||
− | {{Warning|[[ブートローダー]]がまだサポートしていない新しい機能がファイルシステムに追加されることがあります。これにより、互換性のない機能を無効化しない限り、そのファイルシステムが {{ic|/boot}} パーティションに適さなくなってしまいます。}} |
||
+ | |||
+ | EFI システムパーティションを {{ic|/boot}} として使用しない場合、{{ic|/boot}} の推奨サイズは 200 MiB であり、パーティションタイプを [https://uapi-group.org/specifications/specs/boot_loader_specification/#the-partitions Extended Boot Loader (XBOOTLDR) Partition] に設定することが推奨されます (これは、GPT パーティションタイプ GUID {{ic|BC13C2FF-59E6-4262-A352-B275FD6F7172}} ([[gdisk]] ではタイプ {{ic|ea00}})、または MBR パーティションタイプ ID {{ic|ea}} です)。 |
||
+ | |||
+ | {{Note|複数のカーネルをインストールしたい、または将来的に他のカーネルを追加するときに備えておきたい場合、念の為に EFI システムパーティションのサイズを 1 GiB にしておくと良いでしょう。}} |
||
==== /home ==== |
==== /home ==== |
||
162行目: | 174行目: | ||
異なるディストリビューションのユーザー間で home ディレクトリを共有するべきではありません、なぜならソフトウェアのバージョンやパッチによって互換性がないことがあるからです。代わりに、メディアパーティションを共有したり、少なくとも、同じ {{ic|/home}} パーティションにある別の home ディレクトリを使うなどしてください。このパーティションのサイズは様々です。 |
異なるディストリビューションのユーザー間で home ディレクトリを共有するべきではありません、なぜならソフトウェアのバージョンやパッチによって互換性がないことがあるからです。代わりに、メディアパーティションを共有したり、少なくとも、同じ {{ic|/home}} パーティションにある別の home ディレクトリを使うなどしてください。このパーティションのサイズは様々です。 |
||
+ | GPT パーティションは、タイプ GUID {{ic|933AC7E1-2EB4-4F13-B844-0E14E2AEF915}} ("Linux home", "Linux /home") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID {{ic|83}} である必要があります。 |
||
− | ==== /var ==== |
||
+ | ==== スワップ ==== |
||
− | {{ic|/var}} ディレクトリには、スプールディレクトリ・ファイル、管理用のログデータ、[[pacman]] のキャッシュなどの可変データが置かれます。キャッシングやロギングなどに使われるため頻繁に読み書きされます。分割したパーティションに配置することで、ログなどによってディスク容量が不足するのを回避できます。 |
||
+ | [[スワップ]]は、仮想メモリとして使用されるディスク領域を提供するファイル、またはパーティションです。スワップファイルとスワップパーティションのパフォーマンスは同等ですが、スワップファイルのほうが必要に応じてサイズを変更しやすいです。スワップパーティションは''基本的に''オペレーションシステム間で共有することができますが、ハイバネーションが使われる場合はそうでありません。 |
||
− | {{ic|/usr}} を読み込み専用でマウントするための選択肢としても存在します。歴史的に、(インストールやシステムメンテナンスと対照的に)システムオペレーションでは {{ic|/var}} に置かれるものは全て {{ic|/usr}} に書き出されます。 |
||
+ | 歴史的に、スワップパーティションのサイズは物理 RAM のサイズの2倍にするという一般的なルールがありました。しかし、コンピュータがより多くのメモリを搭載するようになってから、このルールは時代遅れになりました。例えば、512 MiB の RAM を搭載する平均的なデスクトップマシンでは、通常「2倍ルール」は適切です。十分な量の RAM (1024 MiB 以上)が利用できる場合は、スワップパーティションを小さくしてもよいでしょう。 |
||
− | {{Note| |
||
− | * {{ic|/var}} には小さいファイルが多く入ります。もしパーティションを分割するなら、ファイルシステムタイプ(下を見て下さい)の選択ではこのことを考えて下さい。 |
||
− | * {{ic|/var}} は頻繁に読み書きされるので、[[パフォーマンスの最大化#HDD でのレイアウト|回転ディスク上でのこのパーティションの配置について考慮する]]ことが推奨されます。 |
||
− | }} |
||
+ | ハイバネート(suspend to disk)する場合、RAM と同じサイズのスワップパーティションを作成することが推奨されます。カーネルは、スワップ領域に収まるように suspend-to-disk イメージを圧縮しようとしますが、スワップ領域のサイズが RAM よりも大幅に小さい場合にハイバネートが成功する保証はありません。詳細は [[サスペンドとハイバネート#ハイバネーション]] を見てください。 |
||
− | {{ic|/var}} には、他のデータに混じって [[pacman]] のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージに[[ダウングレード]]しなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。pacman のキャッシュは、システムが拡張されたりアップデートされたりするたびに大きくなります。しかし、スペースの問題が生じた際には、キャッシュを安全に削除できます。デスクトップのシステムでは、{{ic|/var}} に 8 から 12 GiB 確保すれば十分なはずです(ソフトウェアをどれだけインストールするかに依りますが)。 |
||
+ | GPT パーティションは、タイプ GUID {{ic|0657FD6D-A4AB-43C4-84E5-0933C84B4F4F}} ("Linux swap") である必要があります。MBR パーティションは、タイプ ID {{ic|82}} ("Linux swap") である必要があります。 |
||
− | [[GDM#Wayland とプロプライエタリな NVIDIA ドライバ|NVIDIA、Wayland そして GDM]] を使用しているユーザは、このパーティションの大きさが[[NVIDIA/ヒントとテクニック#サスペンド後にビデオメモリを保持する|ビデオメモリ全体を格納するのに十分である]]場合、このパーティションを使用することを検討してください。 |
||
==== /data ==== |
==== /data ==== |
||
181行目: | 190行目: | ||
「データ」パーティションをマウントして、すべてのユーザが共有する様々なファイルを格納することができます。{{ic|/home}} パーティションをこの用途に使うこともできます。このパーティションのサイズは様々です。 |
「データ」パーティションをマウントして、すべてのユーザが共有する様々なファイルを格納することができます。{{ic|/home}} パーティションをこの用途に使うこともできます。このパーティションのサイズは様々です。 |
||
+ | GPT パーティションは、デフォルトの "Linux filesystem" タイプ GUID {{ic|0FC63DAF-8483-4772-8E79-3D69D8477DE4}} である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID {{ic|83}} である必要があります。 |
||
− | ==== スワップ ==== |
||
+ | ==== /var ==== |
||
− | [[スワップ]]は、仮想メモリとして使用されるディスク領域を提供するファイル、またはパーティションです。スワップファイルとスワップパーティションのパフォーマンスは同等ですが、スワップファイルのほうが必要に応じてサイズを変更しやすいです。スワップパーティションは''基本的に''オペレーションシステム間で共有することができますが、ハイバネーションが使われる場合はそうでありません。 |
||
+ | {{ic|/var}} ディレクトリには、スプールディレクトリ・ファイル、管理用のログデータ、[[pacman]] のキャッシュなどの可変データが置かれます。キャッシングやロギングなどに使われるため頻繁に読み書きされます。分割したパーティションに配置することで、ログなどによってディスク容量が不足するのを回避できます。 |
||
− | 歴史的に、スワップパーティションのサイズは物理 RAM のサイズの2倍にするという一般的なルールがありました。しかし、コンピュータがより多くのメモリを搭載するようになってから、このルールは時代遅れになりました。例えば、512 MiB の RAM を搭載する平均的なデスクトップマシンでは、通常「2倍ルール」は適切です。十分な量の RAM (1024 MiB 以上)が利用できる場合は、スワップパーティションを小さくしてもよいでしょう。 |
||
+ | {{ic|/usr}} を読み込み専用でマウントするための選択肢としても存在します。歴史的に、(インストールやシステムメンテナンスと対照的に)システムオペレーションでは {{ic|/var}} に置かれるものは全て {{ic|/usr}} に書き出されます。 |
||
− | ハイバネート(suspend to disk)する場合、RAM と同じサイズのスワップパーティションを作成することが推奨されます。カーネルは、スワップ領域に収まるように suspend-to-disk イメージを圧縮しようとしますが、スワップ領域のサイズが RAM よりも大幅に小さい場合にハイバネートが成功する保証はありません。詳細は [[サスペンドとハイバネート#ハイバネーション]] を見てください。 |
||
+ | |||
+ | {{Note| |
||
+ | * {{ic|/var}} には小さいファイルが多く入ります。もしパーティションを分割するなら、ファイルシステムタイプ(下を見て下さい)の選択ではこのことを考えて下さい。 |
||
+ | * {{ic|/var}} は頻繁に読み書きされるので、[[パフォーマンスの向上#HDD でのレイアウト|回転ディスク上でのこのパーティションの配置について考慮する]]ことが推奨されます。 |
||
+ | }} |
||
+ | |||
+ | {{ic|/var}} には、他のデータに混じって [[pacman]] のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージに[[ダウングレード]]しなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。Pacman のキャッシュは、システムが拡張されたり更新されたりするたびに大きくなります。しかし、スペースの問題が生じた場合は、キャッシュを安全に[[Pacman#パッケージキャッシュの削除|クリア]]できます。 |
||
+ | |||
+ | デスクトップシステムにおいては 8~12 GiB の {{ic|/var}} があれば十分なはずです。どれだけ多くのソフトウェアをインストールするかにも依りますが。[[GDM#Wayland とプロプライエタリな NVIDIA ドライバ|NVIDIA、Wayland そして GDM]] を使用しているユーザは、[[NVIDIA/ヒントとテクニック#サスペンド後にビデオメモリを保持する|ビデオメモリ全体を格納するのに十分な空き領域]]を持つようにこのパーティションのサイズを設定することを検討してください。 |
||
+ | |||
+ | GPT パーティションは、タイプ GUID {{ic|4D21B016-B534-45C2-A9FB-5C16E091FD2D}} ("Linux variable data", "Linux /var") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID {{ic|83}} である必要があります。 |
||
=== レイアウト例 === |
=== レイアウト例 === |
||
211行目: | 231行目: | ||
| {{ic|C12A7328-F81F-11D2-BA4B-00A0C93EC93B}}: [[EFI システムパーティション]] |
| {{ic|C12A7328-F81F-11D2-BA4B-00A0C93EC93B}}: [[EFI システムパーティション]] |
||
| |
| |
||
+ | | 1 GiB |
||
− | | 少なくとも 300 MiB |
||
|- |
|- |
||
| {{ic|[SWAP]}} |
| {{ic|[SWAP]}} |
||
217行目: | 237行目: | ||
| {{ic|0657FD6D-A4AB-43C4-84E5-0933C84B4F4F}}: Linux [[スワップ]] |
| {{ic|0657FD6D-A4AB-43C4-84E5-0933C84B4F4F}}: Linux [[スワップ]] |
||
| |
| |
||
+ | | 少なくとも 4 GiB。[[電源管理/サスペンドとハイバネート#ハイバネーション|ハイバネーション]]を行う場合は RAM と同じサイズ |
||
− | | 512 MiB 以上 |
||
|- |
|- |
||
| {{ic|/}} |
| {{ic|/}} |
||
223行目: | 243行目: | ||
| {{ic|4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709}}: Linux x86-64 root (/) |
| {{ic|4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709}}: Linux x86-64 root (/) |
||
| |
| |
||
− | | デバイスの残りの領域 |
+ | | デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
|} |
|} |
||
239行目: | 259行目: | ||
| {{ic|82}}: Linux [[スワップ]] |
| {{ic|82}}: Linux [[スワップ]] |
||
| {{No}} |
| {{No}} |
||
+ | | 少なくとも 4 GiB。[[電源管理/サスペンドとハイバネート#ハイバネーション|ハイバネーション]]を行う場合は RAM と同じサイズ |
||
− | | 512 MiB 以上 |
||
|- |
|- |
||
| {{ic|/}} |
| {{ic|/}} |
||
245行目: | 265行目: | ||
| {{ic|83}}: Linux |
| {{ic|83}}: Linux |
||
| {{Yes}} |
| {{Yes}} |
||
− | | デバイスの残りの領域 |
+ | | デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
|- |
|- |
||
| {{Grey|N/A}} |
| {{Grey|N/A}} |
||
273行目: | 293行目: | ||
| {{ic|0657FD6D-A4AB-43C4-84E5-0933C84B4F4F}}: Linux [[スワップ]] |
| {{ic|0657FD6D-A4AB-43C4-84E5-0933C84B4F4F}}: Linux [[スワップ]] |
||
| |
| |
||
+ | | 少なくとも 4 GiB。[[電源管理/サスペンドとハイバネート#ハイバネーション|ハイバネーション]]を行う場合は RAM と同じサイズ |
||
− | | 512 MiB 以上 |
||
|- |
|- |
||
| {{ic|/}} |
| {{ic|/}} |
||
279行目: | 299行目: | ||
| {{ic|4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709}}: Linux x86-64 root (/) |
| {{ic|4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709}}: Linux x86-64 root (/) |
||
| |
| |
||
− | | デバイスの残りの領域 |
+ | | デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
|} |
|} |
||
303行目: | 323行目: | ||
! TUI |
! TUI |
||
! スクリプティングユーティリティ |
! スクリプティングユーティリティ |
||
− | ! GUI |
||
|- |
|- |
||
| [[fdisk]] |
| [[fdisk]] |
||
312行目: | 331行目: | ||
| {{man|8|cfdisk}} |
| {{man|8|cfdisk}} |
||
| {{man|8|sfdisk}} |
| {{man|8|sfdisk}} |
||
− | | {{Pkg|partitionmanager}} |
||
|- |
|- |
||
| [[GPT fdisk]] |
| [[GPT fdisk]] |
||
321行目: | 339行目: | ||
| {{man|8|cgdisk}} |
| {{man|8|cgdisk}} |
||
| {{man|8|sgdisk}} |
| {{man|8|sgdisk}} |
||
− | | {{No}} |
||
|- |
|- |
||
| [[Parted]] |
| [[Parted]] |
||
330行目: | 347行目: | ||
| {{No}} |
| {{No}} |
||
| {{man|8|parted}} |
| {{man|8|parted}} |
||
− | | {{Pkg|gparted}}, {{Pkg|gnome-disk-utility}} |
||
|} |
|} |
||
+ | |||
+ | ==== GUI フロントエンド ==== |
||
+ | |||
+ | * {{App|blivet-gui|ストレージ設定のためのグラフィカルツール。{{AUR|python-blivet}} と {{Pkg|libblockdev}} を介して ''parted'' をバックエンドとして使用します。|https://github.com/storaged-project/blivet-gui|{{AUR|blivet-gui}}}} |
||
+ | * {{App|[[wikipedia:ja:GNOME Disks|GNOME Disks]]|ストレージデバイスを管理するための GNOME ユーティリティ。{{Pkg|udisks2}} と {{Pkg|libblockdev}} を介して ''parted'' をバックエンドとして使用します。{{Grp|gnome}} の一部です。|https://wiki.gnome.org/Apps/Disks|{{Pkg|gnome-disk-utility}}}} |
||
+ | * {{App|GParted|ディスクパーティションをグラフィカルに管理するためのパーティションエディタ。データ損失無しでパーティションをリサイズ、コピー、移動することができます。''parted'' をバックエンドとして使用します。|https://gparted.org/|{{Pkg|gparted}}}} |
||
+ | * {{App|KDE Partition Manager|コンピュータ上のディスク、パーティション、そしてファイルシステムの管理をアシストするユーティリティ。{{Pkg|kpmcore}} を介して ''sgdisk'' をバックエンドとして使用します。{{Grp|kde-system}} の一部です。|https://apps.kde.org/partitionmanager/|{{Pkg|partitionmanager}}}} |
||
=== バックアップ === |
=== バックアップ === |
||
342行目: | 365行目: | ||
* {{App|[[Wikipedia:gpart|gpart]]|破壊された MBR パーティションテーブルの内容を推測するユーティリティ。使用法は {{man|8|gpart}} man ページで説明されています。|https://github.com/baruch/gpart|{{Pkg|gpart}}}} |
* {{App|[[Wikipedia:gpart|gpart]]|破壊された MBR パーティションテーブルの内容を推測するユーティリティ。使用法は {{man|8|gpart}} man ページで説明されています。|https://github.com/baruch/gpart|{{Pkg|gpart}}}} |
||
* {{App|[[GPT fdisk#GPT ヘッダのリカバリ|GPT fdisk]]|(ディスクの先頭にある)プライマリ GPT ヘッダを(ディスクの末尾にある)セカンダリ GPT ヘッダから復元できるパーティショニングツール(その逆も可)。|https://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}} |
* {{App|[[GPT fdisk#GPT ヘッダのリカバリ|GPT fdisk]]|(ディスクの先頭にある)プライマリ GPT ヘッダを(ディスクの末尾にある)セカンダリ GPT ヘッダから復元できるパーティショニングツール(その逆も可)。|https://www.rodsbooks.com/gdisk/|{{Pkg|gptfdisk}}}} |
||
− | * {{App|[[ファイルリカバリ#TestDisk と PhotoRec|TestDisk]]|MBR と GPT の両方の失われたパーティションを復元できるユーティリティ。|https://www.cgsecurity.org/index.html?testdisk.html|{{Pkg|testdisk}}}} |
+ | * {{App|[[ファイルリカバリ#TestDisk と PhotoRec|TestDisk]]|MBR と GPT の両方の失われたパーティションを復元できるユーティリティ。|https://www.cgsecurity.org/index.html?testdisk.html{{Dead link|2023|05|06|status=404}}|{{Pkg|testdisk}}}} |
== パーティションアライメント == |
== パーティションアライメント == |
||
348行目: | 371行目: | ||
経験則として、パーティションの開始位置とサイズをメビバイト単位に揃えるというものがあります。[[Advanced Format#パーティションのアライメント]] を見てください。 |
経験則として、パーティションの開始位置とサイズをメビバイト単位に揃えるというものがあります。[[Advanced Format#パーティションのアライメント]] を見てください。 |
||
− | {{Warning|パーティションのアライメントを誤ると、dm-crypt/LUKS で 4096 バイトのセクタを使用できなくなります。}} |
+ | {{Warning|パーティションのアライメントを誤ると、[[dm-crypt|dm-crypt/LUKS]] で 4096 バイトのセクタを使用できなくなります。}} |
== GPT カーネルサポート == |
== GPT カーネルサポート == |
||
− | カーネル構成の {{ic|CONFIG_EFI_PARTITION}} オプションは、カーネルでの GPT サポートを有効にします(名前は EFI PARTITION ですが)。このオプションはカーネルに組み込まれている必要があり、ロード可能なモジュールとしてコンパイルされてはなりません。このオプションは、GPT ディスクがデータストレージのみに使用され、起動には使用されない場合でも必要です。このオプションは、すべての Arch の [[カーネル#公式サポートカーネル|公式にサポートされているカーネル]] でデフォルトで有効になっています。カスタムカーネルの場合は、{{ic|1=CONFIG_EFI_PARTITION=y}} を実行してこのオプションを有効にします。 |
+ | カーネル構成の {{ic|CONFIG_EFI_PARTITION}} オプションは、カーネルでの GPT サポートを有効にします (名前は [[EFI システムパーティション]]に似た EFI PARTITION ですが)。このオプションはカーネルに組み込まれている必要があり、ロード可能なモジュールとしてコンパイルされてはなりません。このオプションは、GPT ディスクがデータストレージのみに使用され、起動には使用されない場合でも必要です。このオプションは、すべての Arch の [[カーネル#公式サポートカーネル|公式にサポートされているカーネル]] でデフォルトで有効になっています。カスタムカーネルの場合は、{{ic|1=CONFIG_EFI_PARTITION=y}} を実行してこのオプションを有効にします。 |
== トラブルシューティング == |
== トラブルシューティング == |
||
382行目: | 405行目: | ||
}} |
}} |
||
− | === ファームウェアRAIDが有効なときにドライブが表示されない === |
+ | === ファームウェア RAID が有効なときにドライブが表示されない === |
− | SATA や NVMe ドライブがファームウェアセットアップで表示されるのに、Linux (例えば {{ic|fdisk -l}}) |
+ | SATA ドライブや NVMe ドライブがファームウェアのセットアップ画面で表示されるのに、Linux (例えば {{ic|fdisk -l}}) では表示されない場合、コントローラがファームウェア RAID モードになっている可能性があります。 |
− | NVMe の場合、[[journal]] に以下のように表示されるはずです |
+ | NVMe の場合、[[journal]] に以下のように表示されるはずです: |
kernel: ahci 0000:00:17.0: Found 1 remapped NVMe devices. |
kernel: ahci 0000:00:17.0: Found 1 remapped NVMe devices. |
||
kernel: ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them. |
kernel: ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them. |
||
− | 解決方法は、ファームウェアセットアップ画面を開いて [[Wikipedia:ja:Advanced Host Controller Interface#モード|SATA コントローラオペレーションモード]] |
+ | 解決方法は、ファームウェアセットアップ画面を開いて [[Wikipedia:ja:Advanced Host Controller Interface#モード|SATA コントローラオペレーションモード]]を ''RAID'' から ''AHCI'' に変更することです。設定は別の名前 (例: "Intel Rapid Storage Technology"、"Intel RST"、"Intel VMD controller"、"VMD" など) であったり、コントローラごとやポートごとの設定があったりする場合があることに注意してください。 |
− | {{Warning|[[Windows と Arch のデュアルブート|Windows とデュアルブートを |
+ | {{Warning|[[Windows と Arch のデュアルブート|Windows とデュアルブートをする]]場合、コントローラのモードを変更する前に準備が必要です。[https://www.tenforums.com/tutorials/22631-enable-ahci-windows-8-windows-10-after-installation.html How to Enable AHCI in Windows 8 and Windows 10 after Installation] を参照してください。}} |
− | {{Note|1=NVMe |
+ | {{Note|1=一部のファームウェアには専用の NVMe RAID モードの設定がなく、(単語の意味が通りませんが) SATA コントローラのオペレーションモード設定が NVMe コントローラにも適用されます。これらのファームウェアでは、"SATA オペレーションモード" が NVMe コントローラで "AHCI" に設定されている場合、"ファームウェア RAID の無いネイティブなオペレーションモードを使用する" と解釈されます。[https://forums.anandtech.com/threads/nvme-drive-booting-in-ahci-mode.2500796/post-39852218][https://lore.kernel.org/linux-pci/20190620061038.GA20564@lst.de/T/][https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aecec8b60422118b52e3347430ba9382e57d6d76]}} |
− | ==参照== |
+ | == 参照 == |
* [[Wikipedia:ja:パーティション]] |
* [[Wikipedia:ja:パーティション]] |
||
408行目: | 431行目: | ||
* [https://www.thomas-krenn.com/en/wiki/Partition_Alignment Partition Alignment] (例付き) |
* [https://www.thomas-krenn.com/en/wiki/Partition_Alignment Partition Alignment] (例付き) |
||
− | {{TranslationStatus|Partitioning| |
+ | {{TranslationStatus|Partitioning|2023-11-21|792920}} |
2024年10月7日 (月) 19:58時点における最新版
パーティショニングとは二次記憶装置上に1つ、あるいは複数の領域を作成して、それぞれの領域を分離して管理できるようにすることです。
ディスク全体を1つのパーティションに割り当てることもできますし、複数のパーティションに割り当てることもできます (デュアルブートする場合やスワップパーティションを作る場合、オーディオファイルやビデオファイルなどのデータを論理的に分けておきたい場合に便利です)。パーティションスキームは、Master Boot Record (MBR) や GUID Partition Table (GPT) などのパーティションテーブルに格納されています。
パーティションテーブルはパーティショニングツールを使うことで作成したり変更したりできます。Arch Linux で利用できるパーティショニングツールは #パーティショニングツール セクションにリストアップされています。
通常、パーティションにはファイルシステムが直接含まれています。これは、パーティション上にファイルシステムを作成する(つまり、パーティションをフォーマットする)ことで可能です。あるいは、パーティションには LVM、ブロックデバイス暗号化、RAID を含ませることもでき、最終的にこれらは、ファイルを格納できるデバイスファイルを提供します (あるいは、デバイスをさらに積み重ねることもできます)。
ブロックデバイス (例えば ディスク、パーティション、LUKS デバイス、LVM 論理ボリューム、RAID アレイ) のうち、マウント可能なファイルシステムを直接含んでいるものは、ボリュームと呼ばれます。
パーティションテーブル
主に2種類のパーティションテーブルが利用できます。以下の #Master Boot Record (MBR) セクションと #GUID Partition Table (GPT) セクションで、どちらを選択すればよいかについての議論と共に説明されています。3つ目に、あまり一般的でない代替品としてパーティションレスディスクがあり、これも以下のセクションで説明されています。
ブロックデバイスのパーティションテーブルを表示するにはパーティショニングツールを使ってください。
Master Boot Record
Master Boot Record (MBR) は、ストレージデバイスの最初の512バイトです。これには、オペレーティングシステムのブートローダーとストレージデバイスのパーティションテーブルが含まれています。BIOS システムのブートプロセスで重要な役割を果たします。MBR の構造については、Wikipedia:Master boot record#Disk partitioning を参照してください。
Master Boot Record (bootstrap code)
MBR の先頭440バイトは、bootstrap code 領域 です。BIOS システムでは、通常、MBR にブートローダーの最初のステージが含まれています。bootstrap code は、dd を使ってバックアップしたり、バックアップから復元したり、消去したりすることができます。
Master Boot Record (partition table)
MBR パーティションテーブル(またの名を DOS パーティションテーブル、MS-DOS パーティションテーブル)には、3つのパーティションタイプがあります:
- Primary (プライマリ)
- Extended (拡張)
- Logical (論理)
プライマリパーティションは起動可能にすることができ、ディスクや RAID ボリュームごとに4つまで作成できます。MBR パーティションテーブルで5つ以上のパーティションが必要になった場合、プライマリパーティションのうち1つを拡張パーティションに置き換えて、その中に論理パーティションを作成する必要があります。
拡張パーティションは論理パーティションの入れ物と考えることができます。1つのハードディスクには2つ以上の拡張パーティションを格納することはできません。拡張パーティションはプライマリパーティションとしてもカウントされるので、ディスクに1つの拡張パーティションが存在している場合、追加できるプライマリパーティションは3つだけです(つまり、3つのプライマリパーティションと1つの拡張パーティション)。拡張パーティション内に存在できる論理パーティションの数に制限はありません。Windows とデュアルブートするシステムでは、Windows をプライマリパーティションに格納する必要があります。
sda1 から sda3 をプライマリパーティションとし、sda4 を拡張パーティションとするのが慣例です。sda4 上の論理パーティションは、sda5、sda6 などのようになります。
GUID Partition Table
GUID パーティションテーブル (GPT) とは、パーティションスキームの1つであり、Unified Extensible Firmware Interface 規格の一部です。GPT では、パーティションとパーティションタイプを定義するためにグローバル一意識別子(GUID)が使われます(Linux の世界では UUID が使用されます)。GPT は Master Boot Record パーティショニングスキーム方式の後継として設計されました。
GUID Partition Table ディスクの先頭には、GPT を検出できないソフトウェアから保護するための protective Master Boot Record (PMBR) が存在します。通常の MBR のような protective MBR には、bootstrap code 領域が存在し、対応しているブートローダで BIOS/BPT ブートを行うために利用できます。
GPT か MBR の選択
GUID Partition Table (GPT) は新しい、現代的なパーティションスタイルです。古い Master Boot Record (MBR) システムを置き換えることを目指しています。GPT には、MS-DOS が使われていた時代にタイムスリップしてしまったような癖がある MBR に対してメリットがいくつかあります。フォーマッティングツールの最近の開発によって、GPT と MBR はどちらも信頼性、パフォーマンスを同じくらいの簡単さで実現できるようになりました。
GPT か MBR を選択する際に考慮すべきポイントは:
- レガシー BIOS を使って(32ビットと64ビットに関わらず) Windows とデュアルブートする場合、MBR スキームを使用する必要があります。
- BIOS モードではなく UEFI モードで64ビット Windows とデュアルブートする場合、GPT スキームを使用する必要があります。
- 古いハードウェア(特に、古いノートパソコン)上にインストールする場合、MBR を選択することを検討してください。そのハードウェアの BIOS が GPT に対応していないかもしれないからです(しかし、#古い BIOS をだまして GPT から起動させる に解決策があります)。
- 2 TiB よりも大きいディスクをパーティショニングする場合、GPT を使う必要があります。
- UEFI ブートでは常に GPT を使うことが推奨されます。一部の UEFI 実装は UEFI モードでの MBR からの起動をサポートしていないからです。
- 上記のどれにも当てはまらない場合、GPT と MBR から自由に選んでください。GPT のほうがよりモダンなので、この場合、GPT を選ぶことが推奨されます。
MBR に対する GPT のメリットは:
- GPT はユニークなディスク GUID と、各パーティションごとにユニークなパーティション GUID(PARTUUID)を提供します。これは、パーティションやディスクを参照するための、ファイルシステムに依存しない良い手段です。GUID は、Discoverable Partitions Specification の前提条件であり、Systemd を有効化した initramfs で利用できます。
- GPT は、ファイルシステムに依存しないパーティション名を提供します(PARTLABEL)。
- GPT では任意の数のパーティションを作成できます(パーティションテーブルに割り当てられた領域のサイズに依存します)。拡張パーティションや論理パーティションは必要ありません。デフォルトで、GPT には 128 個のパーティションを定義できるスペースが確保されています。パーティションテーブルにより多くのスペースを割り当てることで、より多くのパーティションを定義できるようになります(この機能をサポートしているツールは今の所 gdisk しか知られていません)。
- GPT では、セクタ番号を格納するために64ビットの LBA を使用します(アドレシング可能な最大ディスクサイズは 2 ZiB です)。MBR では、ドライブごとに 2 TiB までしかアドレシングできません。[1]
- GPT では、バックアップのヘッダとパーティションテーブルがディスクの末尾に格納されており、プライマリのヘッダが破損してしまった場合にバックアップを使って復元を試みることができます。
- CRC32 checksum により、ヘッダとパーティションテーブルのエラーと破損を検出します。
#パーティショニングツール のセクションには、GPT や MBR のテーブルを作成/変更するためにどのツールを利用できるかを示す表があります。
パーティションレスディスク
パーティションレスディスク(別名 superfloppy)とは、パーティションテーブルを持たないストレージデバイスのことであり、1つのファイルシステムがストレージデバイス全体を占めます。パーティションレスデバイスに存在するブートセクタは、volume boot record (VBR) と呼ばれます。
Btrfs パーティショニング
Btrfs はデータストレージデバイス全体を占有して、MBR や GPT パーティションスキームを置き換えることができます。詳しい説明は Btrfs#パーティショニング を見て下さい。
パーティションスキーム
ハードドライブをパーティショニングするのに厳格なルールはありませんが、以下に一般的なガイダンスを記します。ディスクのパーティショニングスキームは、使用できるディスク容量の制限のほかに、求められる柔軟性、スピード、セキュリティなどの理由で決定されます。ユーザーの決定はコンピュータを使う癖や条件によって様々なものになりえます。Arch Linux と Windows OS のデュアルブートを考えているのなら、Windows と Arch のデュアルブートを読んでください。
シングルルートパーティション
このスキームが最もシンプルかつ柔軟であり、消費者グレードのデバイスのストレージサイズが増加していることを鑑みると、ほとんどの場合これで十分です。必要に応じてスワップファイルを作成することもでき、簡単にそのサイズを変更できます。通常、まず単一の /
パーティションから考え始めて、それから RAID、暗号化、共有メディアパーティションなどのユースケースに合わせてパーティションを分割していくのが道理にかなっています。いくつかの一般的な専用パーティション及び一般的でない専用パーティションの説明は #パーティションを分割する を参照してください
GPT パーティションは、タイプ GUID BC13C2FF-59E6-4262-A352-B275FD6F7172
("Linux root (x86-64)", "Linux x86-64 root (/)") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID 83
である必要があります。
パーティションを分割する
パーティションをパス毎に分割することで異なるファイルシステムとマウントオプションが使えるようになります。メディアパーティションなどの場合、オペレーティングシステム間で共有できます。
パーティショニングの際に利用できるレイアウト例を以下に挙げています。以下のサブセクションでは、独立したパーティションに配置して /
下のマウントポイントにマウントできるディレクトリのいくつかを詳細に説明しています。これらのディレクトリの内容に関する完全な説明は file-hierarchy(7) を見てください。
/
ルートディレクトリはディレクトリ階層のトップです。このディレクトリでは主要なファイルシステムがマウントされ、他の全てのファイルシステムの幹になります。すべてのファイルとディレクトリはルートディレクトリ /
の下に現れます、それらが異なる物理デバイスに保存されている場合でも同様です。ルートファイルシステムには、システムの起動、修復、回復、修繕に必要なものがなければなりません。そのため、/
下の特定のディレクトリは、分割されたパーティションになりえません。
/
パーティション(ルートパーティション)は必須の、一番重要なパーティションです。このパーティションで他の全てのパーティションを置き換えることができます。
/
には伝統的に /usr
ディレクトリが含まれており、インストールされているソフトウェアの量によっては非常に肥大化することがあります。最近のハードディスクでは、ほとんどのユーザにとって 15 から 20 GiB あれば十分でしょう。スワップファイルをここに保存するつもりであれば、パーティションのサイズをもっと大きくする必要があるかもしれません。
GPT パーティションは、タイプ GUID BC13C2FF-59E6-4262-A352-B275FD6F7172
("Linux root (x86-64)", "Linux x86-64 root (/)") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID 83
である必要があります。
/boot
/boot
ディレクトリには、カーネルや initramfs イメージ、ブートローダの設定ファイルやブートローダのステージが含まれています。また、このディレクトリには、カーネルがユーザ空間のプログラムを実行し始める前に使用されるデータも格納されています。/boot
は通常のシステム運用では必要ありませんが、ブート時やカーネルのアップグレード(初期 RAM ディスクの生成)の際に必要になります。
EFI システムパーティションを /boot
として使用する場合、(EFI システムパーティションの記事で説明されているように) 最小の推奨サイズは 300 MiB であり、適切なパーティションタイプが設定されていなければなりません。
EFI システムパーティションを /boot
として使用しない場合、/boot
の推奨サイズは 200 MiB であり、パーティションタイプを Extended Boot Loader (XBOOTLDR) Partition に設定することが推奨されます (これは、GPT パーティションタイプ GUID BC13C2FF-59E6-4262-A352-B275FD6F7172
(gdisk ではタイプ ea00
)、または MBR パーティションタイプ ID ea
です)。
/home
/home
ディレクトリには、ユーザー固有の設定ファイル、キャッシュ、アプリケーションのデータ、メディアファイルが含まれます。
/home
を分割することで /
を別個にパーティションしなおすことができますが、分割してなくとも /home
に触れずに Arch を再インストールすることはできます - 他のトップレベルディレクトリは削除する必要があり、それから pacstrap を実行することができます。
異なるディストリビューションのユーザー間で home ディレクトリを共有するべきではありません、なぜならソフトウェアのバージョンやパッチによって互換性がないことがあるからです。代わりに、メディアパーティションを共有したり、少なくとも、同じ /home
パーティションにある別の home ディレクトリを使うなどしてください。このパーティションのサイズは様々です。
GPT パーティションは、タイプ GUID 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
("Linux home", "Linux /home") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID 83
である必要があります。
スワップ
スワップは、仮想メモリとして使用されるディスク領域を提供するファイル、またはパーティションです。スワップファイルとスワップパーティションのパフォーマンスは同等ですが、スワップファイルのほうが必要に応じてサイズを変更しやすいです。スワップパーティションは基本的にオペレーションシステム間で共有することができますが、ハイバネーションが使われる場合はそうでありません。
歴史的に、スワップパーティションのサイズは物理 RAM のサイズの2倍にするという一般的なルールがありました。しかし、コンピュータがより多くのメモリを搭載するようになってから、このルールは時代遅れになりました。例えば、512 MiB の RAM を搭載する平均的なデスクトップマシンでは、通常「2倍ルール」は適切です。十分な量の RAM (1024 MiB 以上)が利用できる場合は、スワップパーティションを小さくしてもよいでしょう。
ハイバネート(suspend to disk)する場合、RAM と同じサイズのスワップパーティションを作成することが推奨されます。カーネルは、スワップ領域に収まるように suspend-to-disk イメージを圧縮しようとしますが、スワップ領域のサイズが RAM よりも大幅に小さい場合にハイバネートが成功する保証はありません。詳細は サスペンドとハイバネート#ハイバネーション を見てください。
GPT パーティションは、タイプ GUID 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
("Linux swap") である必要があります。MBR パーティションは、タイプ ID 82
("Linux swap") である必要があります。
/data
「データ」パーティションをマウントして、すべてのユーザが共有する様々なファイルを格納することができます。/home
パーティションをこの用途に使うこともできます。このパーティションのサイズは様々です。
GPT パーティションは、デフォルトの "Linux filesystem" タイプ GUID 0FC63DAF-8483-4772-8E79-3D69D8477DE4
である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID 83
である必要があります。
/var
/var
ディレクトリには、スプールディレクトリ・ファイル、管理用のログデータ、pacman のキャッシュなどの可変データが置かれます。キャッシングやロギングなどに使われるため頻繁に読み書きされます。分割したパーティションに配置することで、ログなどによってディスク容量が不足するのを回避できます。
/usr
を読み込み専用でマウントするための選択肢としても存在します。歴史的に、(インストールやシステムメンテナンスと対照的に)システムオペレーションでは /var
に置かれるものは全て /usr
に書き出されます。
/var
には、他のデータに混じって pacman のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージにダウングレードしなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。Pacman のキャッシュは、システムが拡張されたり更新されたりするたびに大きくなります。しかし、スペースの問題が生じた場合は、キャッシュを安全にクリアできます。
デスクトップシステムにおいては 8~12 GiB の /var
があれば十分なはずです。どれだけ多くのソフトウェアをインストールするかにも依りますが。NVIDIA、Wayland そして GDM を使用しているユーザは、ビデオメモリ全体を格納するのに十分な空き領域を持つようにこのパーティションのサイズを設定することを検討してください。
GPT パーティションは、タイプ GUID 4D21B016-B534-45C2-A9FB-5C16E091FD2D
("Linux variable data", "Linux /var") である必要があります。MBR パーティションは、デフォルトの "Linux" タイプ ID 83
である必要があります。
レイアウト例
以下の例では、/dev/sda
をディスクの例として使い、1番目のパーティションとして /dev/sda1
が存在するとします。パーティショニングするディスクが NVMe ディスク(例えば、/dev/nvme0n1p1
から始まるパーティションを持つ /dev/nvme0n1
)であったり、SD カードや eMMC ディスク(例えば、/dev/mmcblk0p1
から始まるパーティションを持つ /dev/mmcblk0
)であったりすると、ブロックデバイスの命名規則が異なります。詳細は デバイスファイル#ブロックデバイスの名前 を見てください。
UEFI/GPT レイアウト例
インストールされたシステムでのマウントポイント | パーティション | パーティションタイプ GUID | パーティション属性 | 推奨サイズ |
---|---|---|---|---|
/boot または /efi 1
|
/dev/sda1
|
C12A7328-F81F-11D2-BA4B-00A0C93EC93B : EFI システムパーティション
|
1 GiB | |
[SWAP]
|
/dev/sda2
|
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux スワップ
|
少なくとも 4 GiB。ハイバネーションを行う場合は RAM と同じサイズ | |
/
|
/dev/sda3
|
4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 : Linux x86-64 root (/)
|
デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
BIOS/MBR レイアウト例
インストールされたシステムでのマウントポイント | パーティション | パーティションタイプ ID | ブートフラグ | 推奨サイズ |
---|---|---|---|---|
[SWAP]
|
/dev/sda1
|
82 : Linux スワップ
|
No | 少なくとも 4 GiB。ハイバネーションを行う場合は RAM と同じサイズ |
/
|
/dev/sda2
|
83 : Linux
|
Yes | デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
N/A | 未割り当て領域2 | N/A | N/A | ディスクの末尾に少なくとも 16.5 KiB |
BIOS/GPT レイアウト例
インストールされたシステムでのマウントポイント | パーティション | パーティションタイプ GUID | パーティション属性 | 推奨サイズ |
---|---|---|---|---|
なし | /dev/sda1
|
21686148-6449-6E6F-744E-656564454649 : BIOS ブートパーティション3
|
1 MiB | |
[SWAP]
|
/dev/sda2
|
0657FD6D-A4AB-43C4-84E5-0933C84B4F4F : Linux スワップ
|
少なくとも 4 GiB。ハイバネーションを行う場合は RAM と同じサイズ | |
/
|
/dev/sda3
|
4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 : Linux x86-64 root (/)
|
デバイスの残りの領域。少なくとも 23 GiB から 32 GiB |
- ブートローダが、カーネルと initramfs のイメージのある
/efi
のファイルシステム(とそこにあるファイル)にアクセスできる場合、ESP は/efi
にマウントすることができます。詳細は EFI システムパーティション#典型的なマウントポイント と Arch ブートプロセス#ブートローダーセクションにある警告を見てください。 - 512バイトセクタ33個(16.5 KiB)以上のパーティショニングされていない領域をディスクの末尾に作成します。これは、将来的に GPT に変換できるようにするためのものです。この領域は、バックアップ GPT ヘッダのために必要です。すべての MBR ディスクに対してこのようなパーティショニングされていない領域を確保することが推奨されます。
- BIOS ブートパーティションは、GPT ディスクから GRUB を BIOS ブートする場合にのみ必要です。
/boot
とは関係ありません。このパーティションはファイルシステムでフォーマットしてはいけませんし、マウントしてもいけません。
ツール
パーティショニングツール
以下のプログラムは、デバイスのパーティションテーブルとパーティションを作成/操作するために使用されます。使用する正確なコマンドはリンク先の記事を見てください。
この表は、あなたのニーズにあうユーティリティを選ぶ際に役立ちます:
名称 | パッケージ | MBR | GPT | CLI | TUI | スクリプティングユーティリティ |
---|---|---|---|---|---|---|
fdisk | util-linux | Yes | Yes | fdisk(8) | cfdisk(8) | sfdisk(8) |
GPT fdisk | gptfdisk | No | Yes | gdisk(8) | cgdisk(8) | sgdisk(8) |
Parted | parted | Yes | Yes | parted(8) | No | parted(8) |
GUI フロントエンド
- blivet-gui — ストレージ設定のためのグラフィカルツール。python-blivetAUR と libblockdev を介して parted をバックエンドとして使用します。
- GNOME Disks — ストレージデバイスを管理するための GNOME ユーティリティ。udisks2 と libblockdev を介して parted をバックエンドとして使用します。gnome の一部です。
- GParted — ディスクパーティションをグラフィカルに管理するためのパーティションエディタ。データ損失無しでパーティションをリサイズ、コピー、移動することができます。parted をバックエンドとして使用します。
- KDE Partition Manager — コンピュータ上のディスク、パーティション、そしてファイルシステムの管理をアシストするユーティリティ。kpmcore を介して sgdisk をバックエンドとして使用します。kde-system の一部です。
バックアップ
- fdisk はパーティションテーブルのバックアップを作成できます。fdisk#パーティションテーブルのバックアップとリストア を見てください。
- GPT fdisk は、protective MBR、メイン GPT ヘッダ、バックアップ GPT ヘッダ、そしてパーティションテーブルのコピー一つからなるバイナリバックアップを作成できます。GPT fdisk#パーティションテーブルのバックアップとリストア を見てください。
リカバリ
- GPT fdisk — (ディスクの先頭にある)プライマリ GPT ヘッダを(ディスクの末尾にある)セカンダリ GPT ヘッダから復元できるパーティショニングツール(その逆も可)。
- TestDisk — MBR と GPT の両方の失われたパーティションを復元できるユーティリティ。
- https://www.cgsecurity.org/index.html?testdisk.html[リンク切れ 2023-05-06] || testdisk
パーティションアライメント
経験則として、パーティションの開始位置とサイズをメビバイト単位に揃えるというものがあります。Advanced Format#パーティションのアライメント を見てください。
GPT カーネルサポート
カーネル構成の CONFIG_EFI_PARTITION
オプションは、カーネルでの GPT サポートを有効にします (名前は EFI システムパーティションに似た EFI PARTITION ですが)。このオプションはカーネルに組み込まれている必要があり、ロード可能なモジュールとしてコンパイルされてはなりません。このオプションは、GPT ディスクがデータストレージのみに使用され、起動には使用されない場合でも必要です。このオプションは、すべての Arch の 公式にサポートされているカーネル でデフォルトで有効になっています。カスタムカーネルの場合は、CONFIG_EFI_PARTITION=y
を実行してこのオプションを有効にします。
トラブルシューティング
古い BIOS をだまして GPT から起動させる
一部の古い BIOS (2010年以前のもの) は、ブートセクターを解析しようとし、ブート可能な MBR パーティションが含まれていない場合はブートを拒否します。これは、このディスクでGPTを使用する場合に問題になります。これは、 BIOS の観点から、タイプee
の起動不可能な MBR パーティションが1つだけ含まれているためです(つまり、保護 MBR パーティション) fdisk -t mbr /dev/sda
を使用して、保護MBRエントリを起動可能としてマークできます。これは一部の BIOS で機能します。ただし、 UEFI 仕様では、保護 MBR パーティションエントリを起動できないように禁止されており、 UEFI ベースのボードはレガシーブートモードでもこれを考慮します。したがって、これは、最新の UEFI ベースのボードと起動可能な MBR パーティションの検索を要求する古い BIOS の両方で起動することになっている GPT ベースの USB フラッシュドライブを作成する場合に重要です。 fdisk や gdisk などの従来のツールを使用してこの問題を解決することはできませんが、両方の種類の BIOS に適した偽の MBR パーティションエントリをバイトシーケンスとして手動で作成することはできます。
以下のコマンドは、2番目の MBR パーティションスロットを上書きし、タイプ0 (つまり未使用) の起動可能なパーティションを追加して、デバイスの最初のセクターのみをカバーします。 GPT や、通常は保護 MBR パーティションを含む最初の MBR パーティションエントリには干渉しません。
# printf '\200\0\0\0\0\0\0\0\0\0\0\0\001\0\0\0' | dd of=/dev/sda bs=1 seek=462
最終的に次のようになります:
# fdisk -t mbr -l /dev/sda
Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors Disk model: ST3250820AS Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sda1 1 488397167 488397167 232.9G ee GPT /dev/sda2 * 0 0 1 512B 0 Empty Partition table entries are not in disk order.
ファームウェア RAID が有効なときにドライブが表示されない
SATA ドライブや NVMe ドライブがファームウェアのセットアップ画面で表示されるのに、Linux (例えば fdisk -l
) では表示されない場合、コントローラがファームウェア RAID モードになっている可能性があります。
NVMe の場合、journal に以下のように表示されるはずです:
kernel: ahci 0000:00:17.0: Found 1 remapped NVMe devices. kernel: ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them.
解決方法は、ファームウェアセットアップ画面を開いて SATA コントローラオペレーションモードを RAID から AHCI に変更することです。設定は別の名前 (例: "Intel Rapid Storage Technology"、"Intel RST"、"Intel VMD controller"、"VMD" など) であったり、コントローラごとやポートごとの設定があったりする場合があることに注意してください。