コンテンツにスキップ

「GUIDパーティションテーブル」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m →‎パーティションの型を表すGUID: GRUB BIOSブートパーティションの出典のURLリンク先が消滅していたので、マニュアルページに差し替え。さらに仮リンクを追加。
Cewbot (会話 | 投稿記録)
465行目: 465行目:
| {{mono|48465300-0000-11AA-AA11-00306543ECAC}}
| {{mono|48465300-0000-11AA-AA11-00306543ECAC}}
|-
|-
| [[アップル (企業)|Apple]] [[Unix File System|UFS]] 容器
| [[Apple]] [[Unix File System|UFS]] 容器
| {{mono|55465300-0000-11AA-AA11-00306543ECAC}}
| {{mono|55465300-0000-11AA-AA11-00306543ECAC}}
|-
|-

2021年5月20日 (木) 22:22時点における版

GUIDパーティションテーブル (GUID Partition Table, GPT) は、ハードディスクドライブ上のパーティションテーブルの配置に関する標準規格である。これはインテルの提案しているEFI標準の一部であり、旧来のBIOSで使用されているマスターブートレコード (MBR) の置き換えを意図している。従来のMBRパーティションが、テーブルのパラメータから、1セクタ512Byteで定義した場合、最大2TiB迄の領域までしか管理できないのに対し、GPTでは、最大8ZiB迄の領域を定義、管理できる。

2013年頃には、PC用として一般に市販のHDDの大容量化で、2T越えが始まっておりGPT導入は必至の課題であったが、マザーボード上のROM内などのシステムソフトウェアのEFI対応もだいたい進んできていたことで、無事に導入が進んだという状況であった。

GUIDパーティションテーブルのレイアウト。各LBAは512バイト。

機能

MBRがマスターブートコード(ブートローダ:起動できるアクティブパーティションを探してプログラムをそこからロードして実行する機械語コードが入っている)で始まるのに対して、GPTはEFIが持つ拡張機能を使ってその処理を実現している。MBRのエントリがディスクの保護と互換性維持の目的で存在しているのに対して、GPTはパーティションテーブル・ヘッダーとしての役割を担っている。

GPTはLogical Block Addressing (LBA) を使ってディスク内の位置を示す。MBRではCHSによって位置を指定していた。古いMBR情報は LBA 0 に含まれていて、GPTヘッダーは LBA 1 に置かれ、その後にパーティションテーブルが続く。Windowsオペレーティングシステム (OS) では、16,384バイト(32セクター、16KiB)がGPT用に予約されていて、LBA 34 から通常の使い方ができるようになっている。

GPTは冗長性も提供している。GPTヘッダーとパーティションテーブルはディスクの先頭と最後部の両方に書き込まれている。

従来のMBR (LBA 0)

GPTを使用するディスクにもMBRが存在するのは、MBRを前提としたディスクユーティリティを利用した場合の事故の防止のため(誤って何も中身がないと判断されないため)である。MBRにはそのディスク全体がひとつのパーティションになっているという情報が記述されることになっている。GPT自体がBIOSによるMBRパーティションの代替であるため、そのパーティション識別子はシステムIDとして 0xEE が設定され、GPTを使用していることを示すことになっているが、双方のパーティションテーブルに有効な値を定義し、それをハイブリッドMBRと呼称する向きもある。但し、これはGPTの「MBRパーティションに対する置き換え」という目的から標準化、明示的な定義がされていない実装であり、OSによって扱いが異なる。ハイブリッドMBRの構成では多くの場合GUIDパーティションの方が優先されるが、Windowsをベースとするシステムでは、GPTをサポートするものであっても有効なMBRが存在する場合は、そちらを優先して解釈する。また、本来EFIとセットの実装であるが、MBRからGPTを理解するローダへ処理を移すという手段により、比較的最近のLinuxではEFIが実装されていないシステムであっても、GPTからの起動や利用を可能としている[1]

パーティションテーブル・ヘッダー (LBA 1)

パーティションテーブル・ヘッダーでは、ユーザが使用可能なディスクの範囲を定義している。また、パーティションテーブル内のパーティションエントリ数とサイズを定義している。Windowsマシンでは、128エントリであり、それぞれ128バイトである。したがって、最大128個のパーティションを作成できる。

ヘッダーはディスクのGUID (Globally Unique Identifier) を含んでいる。また、ヘッダー自身のサイズと位置(常に LBA 1)と、第二GPTヘッダーのサイズと位置(常にディスクの最後のセクター)を記録している。また重要な点として、自身のCRC32チェックサムを持っているので、専用のユーティリティ以外でGPTを変更するとチェックサムと不整合を起こす。チェックサムが不整合を起こすと、EFIは第二GPTを第一GPTにコピーする。第二GPTのチェックサムも不正だった場合はディスクにアクセスできなくなる。

パーティションエントリ (LBA 2〜33)

パーティションエントリは単純である。最初の16バイトにパーティションの種類を表すGUIDが書き込まれている。たとえば、EFIシステムパーティションのGUIDは {C12A7328-F81F-11D2-BA4B-00A0C93EC93B} である。ただし先頭3項目(8バイト)は項目内でリトルエンディアンなので、実際には先頭から、28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B のように書き込まれている。次の16バイトにはそのパーティション固有のGUIDが書き込まれている。続く8バイトにパーティションの最初のLBA、その次の8バイトにパーティションの最後のLBAがリトルエンディアンで書き込まれている。さらにその後に、パーティション名と属性を書き込めるようになっている。

OSのサポート

表中の注釈

"このバージョンではサポートされない"
データ用としてもサポートされない。MBRにあるパーティションだけがOSからアクセス可能。
"リムーバブルディスクはMBRだけサポート"
ユーザーからはGUIDパーティションにアクセス不可。サードパーティー製のツール経由でだけGUIDパーティションにアクセス可能。

UNIX / Unix系

OS バージョン アーキテクチャ BIOS経由でGPTからの起動 EFI経由でGPTからの起動 備考
FreeBSD 7.0以降 x86, x86-64 Yes Yes ハイブリッドMBRの構成ではGUID、MBRパーティションの両方が使われる。
Linux ほとんどのx86 Linuxディストリビューション

Fedora 8以降、Ubuntu 8.04以降[2]

x86-64, IA-64, x86 Yes Yes fdisk等のツールはGPTを扱えない。gdisk[3]GNU GRUBgrub2などがGPTに対応。
macOS 10.4.0以降
(一部機能は10.4.6以降)[4]
x86, x86-64 No Yes
Solaris Solaris 10 1/06以降 x86, x86-64 Yes Yes Sparc版は非対応。x86/x64版は1/06 (update 2) よりGRUBが標準ブートローダーとなる。よってGPT対応もそれ以降。

Windows(32ビット版)

古いバージョンの32ビット版(x86版)Windowsでは、2TiB以上の容量のディスク、およびGUIDパーティション自体を扱えないという問題がある。これは各ベンダーの32ビット版デバイスドライバーに起因する。

Vista以降では、32ビット版でもこれらの問題は修正されている。2TiB以上のパーティションを扱えないのはMBRパーティションの制限である。

下記の表にない、以前のOS(x86版)ではGPTはサポートされない。x86より以前のアーキテクチャでも同様。

OS バージョン アーキテクチャ BIOS経由でGPTからの起動 EFI経由でGPTからの起動 GPTへのアクセス 備考
Windows XP RTM x86 No No No
Windows Server 2003 RTM x86 No No No
Windows Server 2003 Service Pack 1以降 x86 No No データ用可、起動不可[5] ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows Vista RTM以降 x86 No No データ用可、起動不可 ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows Server 2008 RTM以降 x86 No No データ用可、起動不可 ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows 7 RTM以降 x86 No No データ用可、起動不可 ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows 8 RTM x86 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows 8.1 RTM x86 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows 10 TH1 RTM以降 x86 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]

Windows(64ビット版)

IA-64版とx86-64版を列挙している。下記の表にないOS(64ビット版)ではGPTはサポートされない。

IA-64アーキテクチャのOSでは当初から、EFI[要曖昧さ回避]とGPTからの起動をサポートしている。

OS バージョン アーキテクチャ BIOS経由でGPTからの起動 EFI経由でGPTからの起動 GPTへのアクセス 備考
Windows XP 64-bit Edition, RTM IA-64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。リムーバブルディスクはMBRだけサポート。
Windows XP 64-bit Edition, Version 2003 IA-64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。リムーバブルディスクはMBRだけサポート。
Windows Server 2003 RTM IA-64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。起動ディスクはGPTが必須[7]
Windows Server 2003 x64, Service Pack 1 x64 No No データ用可、起動不可 ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows XP x64 Edition x64 No No データ用可、起動不可[5] ハイブリッドMBRの構成でMBRパーティションの方が優先される。リムーバブルディスクはMBRだけサポート。
Windows Vista RTM x64 No No データ用可、起動不可[8] ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows Vista Service Pack 1 x64 No VGAだけ要CSM Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows Server 2008 RTM x64, IA-64 No VGAだけ要CSM Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows 7 RTM x64 No VGAだけ要CSM Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows Server 2008 R2 RTM x64, IA-64 No VGAだけ要CSM Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される。
Windows 8 RTM x64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows 8.1 RTM x64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows Server 2012 RTM x64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows Server 2012 R2 RTM x64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]
Windows 10 TH1 RTM以降 x64 No Yes Yes ハイブリッドMBRの構成でMBRパーティションの方が優先される[6]

パーティションの型を表すGUID

対応OS パーティション・タイプ Globally-Unique Identifier (GUID)
(None) 未使用エントリ 00000000-0000-0000-0000-000000000000
MBRパーティション形式 024DEE41-33E7-11D3-9D69-0008C781F39F
EFIシステムパーティション C12A7328-F81F-11D2-BA4B-00A0C93EC93B
GNU GRUBBIOSブートパーティション英語版[9] 21686148-6449-6E6F-744E-656564454649
Windows 予約されたパーティション E3C9E316-0B5C-4DB8-817D-F92DF00215AE
データパーティション(FATまたはNTFS) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
ダイナミックボリューム (LDM) メタデータ・パーティション 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
ダイナミックボリューム (LDM) データ・パーティション AF9B60A0-1431-4F62-BC68-3311714A69AD
HP-UX データパーティション 75894C1E-3AEB-11D3-B7C1-7B03A0000000
サービスパーティション E2A1E728-32E3-11D6-A682-7B03A0000000
Linux[10] データパーティション[注釈 1] 0FC63DAF-8483-4772-8E79-3D69D8477DE4
RAIDパーティション A19D880F-05FC-4D3B-A006-743F0F84911E
スワップパーティション 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
LVMパーティション E6D6D379-F507-44C2-A23C-238F2A3DF928
ルートパーティション (x86) 44479540-F297-41B2-9AF7-D131D5F0458A
ルートパーティション (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709
ルートパーティション (ARM 32ビット) 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3
ルートパーティション (ARM 64ビット) B921B045-1DF0-41C3-AF44-4C6F280D3FAE
ルートパーティション (IA-64) 993D8D3D-F80E-4225-855A-9DAF8ED7EA97
ルートパーティション (RISC-V 32ビット) 60D5A7FE-8E7D-435C-B714-3DD8162144E1
ルートパーティション (RISC-V 64ビット) 72EC70A6-CF74-40E6-BD49-4BDA08E8F224
ルートベリファイパーティション (x86)[注釈 2] D13C5D3B-B5D1-422A-B29F-9454FDC89D76
ルートベリファイパーティション (x86-64)[注釈 2] 2C7357ED-EBD2-46D9-AEC1-23D437EC2BF5
ルートベリファイパーティション (ARM 32ビット)[注釈 2] 7386CDF2-203C-47A9-A498-F2ECCE45A2D6
ルートベリファイパーティション (ARM 64ビット)[注釈 2] DF3300CE-D69F-4C92-978C-9BFB0F38D820
ルートベリファイパーティション (IA-64)[注釈 2] 86ED10D5-B607-45BB-8957-D350F23D0571
ルートベリファイパーティション (RISC-V 32ビット)[注釈 2] AE0253BE-1167-4007-AC68-43926C14C5DE
ルートベリファイパーティション (RISC-V 64ビット)[注釈 2] B6ED5582-440B-4209-B8DA-5FF7C419EA3D
/usr/パーティション (x86) 75250D76-8CC6-458E-BD66-BD47CC81A812
/usr/パーティション (x86-64) 8484680C-9521-48C6-9C11-B0720656F69E
/usr/パーティション (ARM 32ビット) 7D0359A3-02B3-4F0A-865C-654403E70625
/usr/パーティション (ARM 64ビット) B0E01050-EE5F-4390-949A-9101B17104E9
/usr/パーティション (IA-64) 4301D2A6-4E3B-4B2A-BB94-9E0B2C4225EA
/usr/パーティション (RISC-V 32ビット) B933FB22-5C3F-4F91-AF90-E2BB0FA50702
/usr/パーティション (RISC-V 64ビット) BEAEC34B-8442-439B-A40B-984381ED097D
/usr/ベリファイパーティション (x86)[注釈 2] 8F461B0D-14EE-4E81-9AA9-049B6FB97ABD
/usr/ベリファイパーティション (x86-64)[注釈 2] 77FF5F63-E7B6-4633-ACF4-1565B864C0E6
/usr/ベリファイパーティション (ARM 32ビット)[注釈 2] C215D751-7BCD-4649-BE90-6627490A4C05
/usr/ベリファイパーティション (ARM 64ビット)[注釈 2] 6E11A4E7-FBCA-4DED-B9E9-E1A512BB664E
/usr/ベリファイパーティション (IA-64)[注釈 2] 6A491E03-3BE7-4545-8E38-83320E0EA880
/usr/ベリファイパーティション (RISC-V 32ビット)[注釈 2] CB1EE4E3-8CD0-4136-A0A4-AA61A32E8730
/usr/ベリファイパーティション (RISC-V 64ビット)[注釈 2] 8F1056BE-9B05-47C4-81D6-BE53128E5B54
ホームパーティション (/home/) 933AC7E1-2EB4-4F13-B844-0E14E2AEF915
サーバーデータパーティション (/srv/) 3B8F8425-20E0-4F3B-907F-1A25A76F98E8
バリアブルデータパーティション (/var/) 4D21B016-B534-45C2-A9FB-5C16E091FD2D
一時データパーティション (/var/tmp/) 7EC6F557-3BC5-4ACA-B293-16EF5DF639D1
拡張ブートローダーパーティション (/boot/) BC13C2FF-59E6-4262-A352-B275FD6F7172
予約済み 8DA63339-0007-60C0-C436-083AC8230908
FreeBSD データパーティション 516E7CB4-6ECF-11D6-8FF8-00022D09712B
スワップパーティション 516E7CB5-6ECF-11D6-8FF8-00022D09712B
UFSパーティション 516E7CB6-6ECF-11D6-8FF8-00022D09712B
Vinum Volume Managerパーティション 516E7CB8-6ECF-11D6-8FF8-00022D09712B
macOS
Darwin
HFS (HFS+) パーティション 48465300-0000-11AA-AA11-00306543ECAC
Apple UFS 容器 55465300-0000-11AA-AA11-00306543ECAC
APFS 容器、
APFS 用 FileVault パーティションの容器
7C3457EF-0000-11AA-AA11-00306543ECAC
ZFS[注釈 3] 6A898CC3-1DD2-11B2-99A6-080020736631
Apple RAID パーティション 52414944-0000-11AA-AA11-00306543ECAC
Apple RAID 、オフライン 52414944-5F4F-11AA-AA11-00306543ECAC
Apple ブートパーティション (回復モード) 426F6F74-0000-11AA-AA11-00306543ECAC
Apple ラベル 4C616265-6C00-11AA-AA11-00306543ECAC
Apple TV リカバリパーティション 5265636F-7665-11AA-AA11-00306543ECAC
Apple Core Storage 容器、
HFS+ 用 FileVault パーティションの容器
53746F72-6167-11AA-AA11-00306543ECAC
SoftRAID_Status B6FA30DA-92D2-4A9A-96F1-871EC6486200
SoftRAID_Scratch 2E313465-19B9-463F-8126-8A7993773801
SoftRAID_Volume FA709C7E-65B1-4593-BFD5-E71D61DE9B02
SoftRAID_Cache BBBA6DF5-F46F-4A89-8F59-8765B2727503
Solaris ブートパーティション 6A82CB45-1DD2-11B2-99A6-080020736631
Rootパーティション 6A85CF4D-1DD2-11B2-99A6-080020736631
スワップパーティション 6A87C46F-1DD2-11B2-99A6-080020736631
バックアップパーティション 6A8B642B-1DD2-11B2-99A6-080020736631
/usrパーティション 6A898CC3-1DD2-11B2-99A6-080020736631
/varパーティション 6A8EF2E9-1DD2-11B2-99A6-080020736631
/homeパーティション 6A90BA39-1DD2-11B2-99A6-080020736631
EFI_ALTSCTR 6A9283A5-1DD2-11B2-99A6-080020736631
予約済みパーティション 6A945A3B-1DD2-11B2-99A6-080020736631
6A9630D1-1DD2-11B2-99A6-080020736631
6A980767-1DD2-11B2-99A6-080020736631
6A96237F-1DD2-11B2-99A6-080020736631
6A8D2AC7-1DD2-11B2-99A6-080020736631

注意:この表にあるGUIDはリトルエンディアンで表記されている。例えば、EFIシステムパーティションのGUIDは C12A7328-F81F-11D2-BA4B-00A0C93EC93B となっているが、これは次のような16バイトの並びである: 28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B。先頭3ブロックだけバイト順序が入れ替わっている点に注意。

脚注

注釈

  1. ^ 当初はWindowsのデータパーティションと同じ値を使用していた。のちに変更が提案され、現在に至る[11]
  2. ^ a b c d e f g h i j k l m n dm-verifyの検証データの保存用
  3. ^ Solaris の/usrのGUIDは、macOSでZFS通用GUIDとも使われている。

出典

  1. ^ http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html
  2. ^ https://help.ubuntu.com/community/MacBook
  3. ^ http://www.rodsbooks.com/gdisk
  4. ^ http://refit.sourceforge.net/myths/
  5. ^ a b http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx#ELD
  6. ^ a b c d e f g h i j http://www.rodsbooks.com/gdisk/hybrid.html
  7. ^ http://codeidol.com/windows/inside-windows-server-2003/Configuring-Data-Storage/Working-with-GPT-Disks/ Working with GPT Disks
  8. ^ UEFI と Windows http://www.microsoft.com/japan/whdc/system/platform/firmware/UEFI_Windows.mspx
  9. ^ GNU GRUB Manual 2.04: BIOS installation”. 2021年5月8日閲覧。
  10. ^ Discoverable Partitions Specification”. systemd. 2021年5月8日閲覧。
  11. ^ Smith, Rod (2011年6月23日). “Need for a unique Linux GPT GUID type code (PATCH included)”. bug-parted Archives. 2021年5月8日閲覧。

関連項目

外部リンク