コンテンツにスキップ

「パーティショニング」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
AshMyzk (トーク | 投稿記録)
同期
AshMyzk (トーク | 投稿記録)
同期
176行目: 176行目:


{{ic|/var}} には、他のデータに混じって [[pacman]] のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージに[[ダウングレード]]しなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。pacman のキャッシュは、システムが拡張されたりアップデートされたりするたびに大きくなります。しかし、スペースの問題が生じた際には、キャッシュを安全に削除できます。デスクトップのシステムでは、{{ic|/var}} に 8 から 12 GiB 確保すれば十分なはずです(ソフトウェアをどれだけインストールするかに依りますが)。
{{ic|/var}} には、他のデータに混じって [[pacman]] のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージに[[ダウングレード]]しなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。pacman のキャッシュは、システムが拡張されたりアップデートされたりするたびに大きくなります。しかし、スペースの問題が生じた際には、キャッシュを安全に削除できます。デスクトップのシステムでは、{{ic|/var}} に 8 から 12 GiB 確保すれば十分なはずです(ソフトウェアをどれだけインストールするかに依りますが)。

[[GDM#Wayland とプロプライエタリな NVIDIA ドライバ|NVIDIA、Wayland そして GDM]] を使用しているユーザは、このパーティションの大きさが[[NVIDIA/ヒントとテクニック#サスペンド後にビデオメモリを保持する|ビデオメモリ全体を格納するのに十分である]]場合、このパーティションを使用することを検討してください。


==== /data ====
==== /data ====
312行目: 314行目:
| {{man|8|cfdisk}}
| {{man|8|cfdisk}}
| {{man|8|sfdisk}}
| {{man|8|sfdisk}}
| {{No}}
| {{Pkg|partitionmanager}}
|-
|-
| [[GPT fdisk]]
| [[GPT fdisk]]
330行目: 332行目:
| {{No}}
| {{No}}
| {{man|8|parted}}
| {{man|8|parted}}
| {{Pkg|gparted}}, {{Pkg|gnome-disk-utility}}, {{Pkg|partitionmanager}}
| {{Pkg|gparted}}, {{Pkg|gnome-disk-utility}}
|}
|}


408行目: 410行目:
* [https://www.thomas-krenn.com/en/wiki/Partition_Alignment Partition Alignment] (例付き)
* [https://www.thomas-krenn.com/en/wiki/Partition_Alignment Partition Alignment] (例付き)


{{TranslationStatus|Partitioning|2022-08-26|743264}}
{{TranslationStatus|Partitioning|2022-08-27|743380}}

2022年8月27日 (土) 08:17時点における版

パーティショニングとは二次記憶装置上に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つ目に、あまり一般的でない代替品としてパーティションレスディスクがあり、これも以下のセクションで説明されています。

ブロックデバイスのパーティションテーブルを表示するにはパーティショニングツールを使ってください。

ヒント SATA ディスクに対しては parted /dev/sdX print か fdisk -l /dev/sdX を実行してください(/dev/sdX の部分は /dev/sda のようなブロックデバイスです)。NVMe ディスクに対しては /dev/nvme0n1、eMMC ディスクに対しては /dev/mmcblk0 です。ブロックデバイスの命名に関する詳細は デバイスファイル#ブロックデバイスの名前 を見てください。

Master Boot Record

Master Boot Record (MBR) は、ストレージデバイスの最初の512バイトです。これには、オペレーティングシステムのブートローダーとストレージデバイスのパーティションテーブルが含まれています。BIOS システムのブートプロセスで重要な役割を果たします。MBR の構造については、Wikipedia:Master boot record#Disk partitioning を参照してください。

ノート
  • MBR はパーティションにありません。これは、デバイスの最初のセクター(物理オフセット0)にあり、最初のパーティションの前にあります。
  • パーティションレスデバイスまたは個々のパーティション内に存在するブートセクターは、代わりに volume boot record (VBR) と呼ばれます。

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 などのようになります。

ヒント MBR ディスクをパーティショニングする際、GPT に変換する時に備えて、少なくとも512バイトセクタ33個分(16.5 KiB)の未割り当て領域をディスクの末尾に確保することを検討してください。この空き領域は、バックアップ GPT ヘッダを格納するために必要になります。

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 でパーティショニングされたディスクから BIOS ベースシステムで GRUB を起動させるには、BIOS ブートパーティションが必要です。

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 は、systemd 対応の initramfs で利用できる Discoverable Partitions Specification の前提条件です。
  • GPT は、ファイルシステムに依存しないパーティション名を提供します(PARTLABEL)。
  • GPT では任意の数のパーティションを作成できます(パーティションテーブルに割り当てられた領域のサイズに依存します)。拡張パーティションや論理パーティションは必要ありません。デフォルトで、GPT には 128 個のパーティションを定義できるスペースが確保されています。パーティションテーブルにより多くのスペースを割り当てることで、より多くのパーティションを定義できるようになります(この機能をサポートしているツールは今の所 gdisk しか知られていません)。
  • GPT では、セクタ番号を格納するために64ビットの LBA を使用します(アドレシング可能な最大ディスクサイズは 2 ZiB です)。MBR では、ドライブごとに 2 TiB までしかアドレシングできません。[1]
  • GPT では、バックアップのヘッダとパーティションテーブルがディスクの末尾に格納されており、プライマリのヘッダが破損してしまった場合にバックアップを使って復元を試みることができます。
  • CRC32 checksum により、ヘッダとパーティションテーブルのエラーと破損を検出します。

#パーティショニングツール のセクションには、GPT や MBR のテーブルを作成/変更するためにどのツールを利用できるかを示す表があります。

ヒント MBR と GPT は互いに変換することが可能です。gdisk#MBR と GPT の変換 を見てください。

パーティションレスディスク

この記事またはセクションは加筆を必要としています。
理由: Explain when one might want to use a partitionless disk (e.g. in VMs) and when not and why. (議論: トーク:パーティショニング#)

パーティションレスディスク(別名 superfloppy)とは、パーティションテーブルを持たないストレージデバイスのことであり、1つのファイルシステムがストレージデバイス全体を占めます。パーティションレスデバイスに存在するブートセクタは、volume boot record (VBR) と呼ばれます。

Btrfs パーティショニング

Btrfs はデータストレージデバイス全体を占有して、MBR や GPT パーティションスキームを置き換えることができます。詳しい説明は Btrfs#パーティショニング を見て下さい。

パーティションスキーム

ハードドライブをパーティショニングするのに厳格なルールはありませんが、以下に一般的なガイダンスを記します。ディスクのパーティショニングスキームは、使用できるディスク容量の制限のほかに、求められる柔軟性、スピード、セキュリティなどの理由で決定されます。ユーザーの決定はコンピュータを使う癖や条件によって様々なものになりえます。Arch Linux と Windows OS のデュアルブートを考えているのなら、Windows と Arch のデュアルブートを読んでください。

ノート
ヒント Btrfs を使用している場合、サブボリュームはパーティションを模倣するために使用できます。Btrfs#サブボリュームをマウントする セクションを見てください。

シングルルートパーティション

このスキームが一番シンプルで、ほとんどの場合これで十分です。必要に応じてスワップファイルを作成することもでき、簡単にサイズを変更できます。一般的に、まず1つのパーティション / で始めて、それから、RAID や暗号化、共有メディアパーティションなどの目的にあわせてパーティションを分割するのは道理にかなっています。

パーティションを分割する

パーティションをパス毎に分割することで異なるファイルシステムとマウントオプションが使えるようになります。メディアパーティションなどの場合、オペレーティングシステム間で共有できます。

パーティショニングの際に利用できるレイアウト例を以下に挙げています。以下のサブセクションでは、独立したパーティションに配置して / 下のマウントポイントにマウントできるディレクトリのいくつかを詳細に説明しています。これらのディレクトリの内容に関する完全な説明は file-hierarchy(7) を見てください。

/

ルートディレクトリはディレクトリ階層のトップです。このディレクトリでは主要なファイルシステムがマウントされ、他の全てのファイルシステムの幹になります。すべてのファイルとディレクトリはルートディレクトリ / の下に現れます、それらが異なる物理デバイスに保存されている場合でも同様です。ルートファイルシステムには、システムの起動、修復、回復、修繕に必要なものがなければなりません。そのため、/ 下の特定のディレクトリは、分割されたパーティションになりえません。

/ パーティション(ルートパーティション)は必須の、一番重要なパーティションです。このパーティションで他の全てのパーティションを置き換えることができます。

警告 (/boot 以外の)起動に必要なディレクトリは必ず / と同じパーティション、あるいは initramfs によって初期ユーザ空間にマウントされるパーティションに配置されなくてはなりません。そのような起動に必須なディレクトリとしては /etc と /usr があります[2]。

/ には伝統的に /usr ディレクトリが含まれており、インストールされているソフトウェアの量によっては非常に肥大化することがあります。最近のハードディスクでは、ほとんどのユーザにとって 15 から 20 GiB あれば十分でしょう。スワップファイルをここに保存するつもりであれば、パーティションのサイズをもっと大きくする必要があるかもしれません。

/boot

/boot ディレクトリには、カーネルや initramfs イメージ、ブートローダの設定ファイルやブートローダのステージが含まれています。また、このディレクトリには、カーネルがユーザ空間のプログラムを実行し始める前に使用されるデータも格納されています。/boot は通常のシステム運用では必要ありませんが、ブート時やカーネルのアップグレード(初期 RAM ディスクの生成)の際に必要になります。

ノート

EFI システムパーティションを /boot として使用していない場合、/boot の推奨サイズは 200 MiB です。EFI システムパーティションを /boot として使用している場合、少なくとも 300 MiB 以上にすることが推奨されます。

警告 ブートローダーがまだサポートしていない新しい機能がファイルシステムに追加されることがあります。これにより、互換性のない機能を無効化しない限り、そのファイルシステムが /boot パーティションに適さなくなってしまいます。

/home

/home ディレクトリには、ユーザー固有の設定ファイル、キャッシュ、アプリケーションのデータ、メディアファイルが含まれます。

/home を分割することで / を別個にパーティションしなおすことができますが、分割してなくとも /home に触れずに Arch を再インストールすることはできます - 他のトップレベルディレクトリは削除する必要があり、それから pacstrap を実行することができます。

異なるディストリビューションのユーザー間で home ディレクトリを共有するべきではありません、なぜならソフトウェアのバージョンやパッチによって互換性がないことがあるからです。代わりに、メディアパーティションを共有したり、少なくとも、同じ /home パーティションにある別の home ディレクトリを使うなどしてください。このパーティションのサイズは様々です。

/var

/var ディレクトリには、スプールディレクトリ・ファイル、管理用のログデータ、pacman のキャッシュなどの可変データが置かれます。キャッシングやロギングなどに使われるため頻繁に読み書きされます。分割したパーティションに配置することで、ログなどによってディスク容量が不足するのを回避できます。

/usr を読み込み専用でマウントするための選択肢としても存在します。歴史的に、(インストールやシステムメンテナンスと対照的に)システムオペレーションでは /var に置かれるものは全て /usr に書き出されます。

ノート

/var には、他のデータに混じって pacman のキャッシュが含まれます。パッケージのアップグレードによってシステムが不安定なった際に、保存されている以前のバージョンのパッケージにダウングレードしなければならなくなった場合に備えて、これらのパッケージを保管しておくと便利です。pacman のキャッシュは、システムが拡張されたりアップデートされたりするたびに大きくなります。しかし、スペースの問題が生じた際には、キャッシュを安全に削除できます。デスクトップのシステムでは、/var に 8 から 12 GiB 確保すれば十分なはずです(ソフトウェアをどれだけインストールするかに依りますが)。

NVIDIA、Wayland そして GDM を使用しているユーザは、このパーティションの大きさがビデオメモリ全体を格納するのに十分である場合、このパーティションを使用することを検討してください。

/data

「データ」パーティションをマウントして、すべてのユーザが共有する様々なファイルを格納することができます。/home パーティションをこの用途に使うこともできます。このパーティションのサイズは様々です。

スワップ

スワップは、仮想メモリとして使用されるディスク領域を提供するファイル、またはパーティションです。スワップファイルとスワップパーティションのパフォーマンスは同等ですが、スワップファイルのほうが必要に応じてサイズを変更しやすいです。スワップパーティションは基本的にオペレーションシステム間で共有することができますが、ハイバネーションが使われる場合はそうでありません。

歴史的に、スワップパーティションのサイズは物理 RAM のサイズの2倍にするという一般的なルールがありました。しかし、コンピュータがより多くのメモリを搭載するようになってから、このルールは時代遅れになりました。例えば、512 MiB の RAM を搭載する平均的なデスクトップマシンでは、通常「2倍ルール」は適切です。十分な量の RAM (1024 MiB 以上)が利用できる場合は、スワップパーティションを小さくしてもよいでしょう。

ハイバネート(suspend to disk)する場合、RAM と同じサイズのスワップパーティションを作成することが推奨されます。カーネルは、スワップ領域に収まるように suspend-to-disk イメージを圧縮しようとしますが、スワップ領域のサイズが RAM よりも大幅に小さい場合にハイバネートが成功する保証はありません。詳細は サスペンドとハイバネート#ハイバネーション を見てください。

レイアウト例

以下の例では、/dev/sda をディスクの例として使い、1番目のパーティションとして /dev/sda1 が存在するとします。パーティショニングするディスクが NVMe ディスク(例えば、/dev/nvme0n1p1 から始まるパーティションを持つ /dev/nvme0n1)であったり、SD カードや eMMC ディスク(例えば、/dev/mmcblk0p1 から始まるパーティションを持つ /dev/mmcblk0)であったりすると、ブロックデバイスの命名規則が異なります。詳細は デバイスファイル#ブロックデバイスの名前 を見てください。

ノート
  • UEFI ブートは "boot" フラグと関係ありません。UEFI ブートは NVRAM 上のブートエントリにのみ依存しています。Parted とそのフロントエンドは、パーティションが EFI システムパーティションであることを示すために GPT 上で "boot" フラグを使用します。
  • すべての必要なパーティションを同一のディスク上に置く必要はありませんし、すべてのディスクで同じ種類のパーティションテーブルを使用する必要もありません。

UEFI/GPT レイアウト例

インストールされたシステムでのマウントポイント パーティション パーティションタイプ GUID パーティション属性 推奨サイズ
/boot または /efi1 /dev/sda1 C12A7328-F81F-11D2-BA4B-00A0C93EC93B: EFI システムパーティション 少なくとも 300 MiB
[SWAP] /dev/sda2 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F: Linux スワップ 512 MiB 以上
/ /dev/sda3 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709: Linux x86-64 root (/) デバイスの残りの領域

BIOS/MBR レイアウト例

インストールされたシステムでのマウントポイント パーティション パーティションタイプ ID ブートフラグ 推奨サイズ
[SWAP] /dev/sda1 82: Linux スワップ No 512 MiB 以上
/ /dev/sda2 83: Linux Yes デバイスの残りの領域
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 スワップ 512 MiB 以上
/ /dev/sda3 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709: Linux x86-64 root (/) デバイスの残りの領域
  1. ブートローダが、カーネルと initramfs のイメージのある /efi のファイルシステム(とそこにあるファイル)にアクセスできる場合、ESP は /efi にマウントすることができます。詳細は EFI システムパーティション#典型的なマウントポイント と Arch ブートプロセス#ブートローダーセクションにある警告を見てください。
  2. 512バイトセクタ33個(16.5 KiB)以上のパーティショニングされていない領域をディスクの末尾に作成します。これは、将来的に GPT に変換できるようにするためのものです。この領域は、バックアップ GPT ヘッダのために必要です。すべての MBR ディスクに対してこのようなパーティショニングされていない領域を確保することが推奨されます。
  3. BIOS ブートパーティションは、GPT ディスクから GRUB を BIOS ブートする場合にのみ必要です。/boot とは関係ありません。このパーティションはファイルシステムでフォーマットしてはいけませんし、マウントしてもいけません。

ツール

パーティショニングツール

以下のプログラムは、デバイスのパーティションテーブルとパーティションを作成/操作するために使用されます。使用する正確なコマンドはリンク先の記事を見てください。

この表は、あなたのニーズにあうユーティリティを選ぶ際に役立ちます:

名称 パッケージ MBR GPT CLI TUI スクリプティングユーティリティ GUI
fdisk util-linux Yes Yes fdisk(8) cfdisk(8) sfdisk(8) partitionmanager
GPT fdisk gptfdisk No Yes gdisk(8) cgdisk(8) sgdisk(8) No
Parted parted Yes Yes parted(8) No parted(8) gparted, gnome-disk-utility

バックアップ

リカバリ

  • gpart — 破壊された MBR パーティションテーブルの内容を推測するユーティリティ。使用法は gpart(8) man ページで説明されています。
https://github.com/baruch/gpart || gpart
  • GPT fdisk — (ディスクの先頭にある)プライマリ GPT ヘッダを(ディスクの末尾にある)セカンダリ GPT ヘッダから復元できるパーティショニングツール(その逆も可)。
https://www.rodsbooks.com/gdisk/ || gptfdisk
  • TestDisk — MBR と GPT の両方の失われたパーティションを復元できるユーティリティ。
https://www.cgsecurity.org/index.html?testdisk.html || testdisk

パーティションアライメント

経験則として、パーティションの開始位置とサイズをメビバイト単位に揃えるというものがあります。Advanced Format#パーティションのアライメント を見てください。

警告 パーティションのアライメントを誤ると、dm-crypt/LUKS で 4096 バイトのセクタを使用できなくなります。

GPT カーネルサポート

カーネル構成の CONFIG_EFI_PARTITION オプションは、カーネルでの GPT サポートを有効にします(名前は 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 に変更することです。設定は異なる名前になっていたり、コントローラごとやポートごとの設定があるかもしれないことに注意してください。

警告 Windows とデュアルブートをしている とき、コントローラのモードを変更する前に準備が必要です。How to Enable AHCI in Windows 8 and Windows 10 after Installation を参照してください。
ノート NVMe では単語の意味が通りませんが、設定は普通 SATA と同じです。製造者は、NVMe コントローラの "SATA オペレーションモード" が "AHCI" にセットされていることを "ファームウェア RAID を使わないネイティブのオペレーティングモードを使う" と単純に解釈します。[3][4][5]

参照

翻訳ステータス: このページは en:Partitioning の翻訳バージョンです。最後の翻訳日は 2022-08-27 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。