「GUIDパーティションテーブル」の版間の差分
m →パーティションの型を表すGUID: GRUB BIOSブートパーティションの出典のURLリンク先が消滅していたので、マニュアルページに差し替え。さらに仮リンクを追加。 |
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼 (Apple) - log |
||
465行目: | 465行目: | ||
| {{mono|48465300-0000-11AA-AA11-00306543ECAC}} |
| {{mono|48465300-0000-11AA-AA11-00306543ECAC}} |
||
|- |
|- |
||
| [[ |
| [[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対応もだいたい進んできていたことで、無事に導入が進んだという状況であった。
機能
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パーティションにアクセス可能。
OS | バージョン | アーキテクチャ | BIOS経由でGPTからの起動 | EFI経由でGPTからの起動 | 備考 |
---|---|---|---|---|---|
FreeBSD | 7.0以降 | x86, x86-64 | Yes | Yes | ハイブリッドMBRの構成ではGUID、MBRパーティションの両方が使われる。 |
Linux | ほとんどのx86 Linuxディストリビューション |
x86-64, IA-64, x86 | Yes | Yes | fdisk等のツールはGPTを扱えない。gdisk[3]、GNU GRUB、grub2などが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 GRUBのBIOSブートパーティション[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ブロックだけバイト順序が入れ替わっている点に注意。
脚注
注釈
出典
- ^ http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html
- ^ https://help.ubuntu.com/community/MacBook
- ^ http://www.rodsbooks.com/gdisk
- ^ http://refit.sourceforge.net/myths/
- ^ a b http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx#ELD
- ^ a b c d e f g h i j http://www.rodsbooks.com/gdisk/hybrid.html
- ^ http://codeidol.com/windows/inside-windows-server-2003/Configuring-Data-Storage/Working-with-GPT-Disks/ Working with GPT Disks
- ^ UEFI と Windows http://www.microsoft.com/japan/whdc/system/platform/firmware/UEFI_Windows.mspx
- ^ “GNU GRUB Manual 2.04: BIOS installation”. 2021年5月8日閲覧。
- ^ “Discoverable Partitions Specification”. systemd. 2021年5月8日閲覧。
- ^ Smith, Rod (2011年6月23日). “Need for a unique Linux GPT GUID type code (PATCH included)”. bug-parted Archives. 2021年5月8日閲覧。
関連項目
外部リンク
- GUID パーティション テーブル マイクロソフト社のWebサイトにある説明