なぜMBRとGPTがLegacy BIOSとUEFIに関連付けられているのはなぜですか?
古い BIOS (基本入出力システム)とその最新の代替 UEFI (Unified Extensible Firmware Interface)は、どちらもコンピューターの「ファームウェア」と見なすことができます。
これらはメインボードに直接保存され、コンピューターの電源を入れたときに実行される最初のソフトウェアです。彼らの主な仕事は、接続されているすべてのハードウェアを初期化し、実際のオペレーティングシステム(UbuntuやWindowsなど)のブートローダー(GRUBなど)をハードディスクからロードし、OSを起動することです。
ほとんどのUEFIシステムは、レガシーBIOSインターフェイスをエミュレートするCSM(互換性サポートモジュール)ブートもサポートしています。
レガシーBIOSブートは、ディスクの固定アドレス(マスターブートレコードの一部)からコードを単純かつ愚かに読み取り、実行しますが、UEFIブートはEFIシステムパーティションでEFIブートファイルを検索し、それらの1つを実行します。
古い MBR (マスターブートレコード)および新しい GPT (GUID Partition Table; GUID = Global Unique Identifier)はパーティションテーブル形式です。
ハードディスクは、これらの2つの形式のいずれかでパーティション分割されます。古いMBR形式では、ディスク全体で4つのプライマリパーティションしか使用できません(ただし、そのうちの1つを拡張パーティションとして使用し、多くの論理ボリュームを含めることができます)。GPTにはこの制限がなく、より大きなディスクもサポートします。
GPTパーティションディスクには、UEFIとレガシーBIOSブートモードの両方をサポートするために、ブートコードがEFIファイルをロードできるハイブリッドMBRも含まれる場合があります。
では、なぜBIOSとMBRが相互に関連付けられ、UEFIがGPTと関連付けられているのでしょうか?
さて、BIOS/MBRは今日の最新のUEFI/GPTの祖先である以外に、通常は一緒に使用されます。一部のオペレーティングシステム(Windowsなど)は、BIOSモードでのMBRディスクとUEFIモードでのGPTディスクの起動のみをサポートします。 Linuxシステム(例: GRUBは一般に、どちらの方法でも混合しても問題ありません。
SuperUserには、2012年からのOPの質問に関する 高く評価された投稿 があります。
CSM(レガシー)およびUEFI(ユニバーサル拡張ファームウェアインターフェイス)は、BIOS(基本入出力システム)内で選択する相互排他的なブートオプションです。 BIOSは、レガシー(CSM)ブートよりもはるかに適用されます。
Byte and Raveryが既に素晴らしい回答を投稿しているので、要約します。
MBRがディスクブート方法またはディスクパーティションフォーマットを参照できるという曖昧さを注意することが重要です。
UEFIは多くの場合GPTディスク形式に関連付けられていますが、MBRブートではGPTディスク形式を使用できることに注意することも重要です。
lsblk
を使用すると、EFIパーティションとファイルを確認できます。
$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL
NAME FSTYPE LABEL MOUNTPOINT SIZE MODEL
sda 931.5G HGST HTS721010A9
├─sda4 ntfs WINRETOOLS 450M
├─sda2 128M
├─sda5 ntfs Image 11.4G
├─sda3 ntfs HGST_Win10 /mnt/d 919G
└─sda1 vfat ESP 500M
nvme0n1 477G Samsung SSD 960 PRO 512GB
├─nvme0n1p5 ext4 NVMe_Ubuntu_16.0 / 44.6G
├─nvme0n1p3 16M
├─nvme0n1p1 ntfs 450M
├─nvme0n1p6 swap Linux Swap [SWAP] 7.9G
├─nvme0n1p4 ntfs NVMe_Win10 /mnt/c 414.9G
├─nvme0n1p2 vfat /boot/efi 99M
└─nvme0n1p7 ntfs Shared_WSL+Linux /mnt/e 9G
/boot/efi
には多くのファイルがあり、ls
コマンドを使用して確認できます。 99MBパーティション内のすべてのファイルのサイズを確認するには、次を使用します。
$ du -hs /boot/efi
35M /boot/efi
gdisk
情報この回答を調査しているときに、実行したgdisk
コマンドへのリンクを見つけましたが、Windowsを再度起動すると後悔する可能性があります。これはここにあるので、Windowsデュアルブートの間違いであることが判明した場合は、これを繰り返さないでください。
Sudo gdisk -l /dev/sda
[Sudo] password for rick:
GPT fdisk (gdisk) version 1.0.1
The protective MBR's 0xEE partition is oversized! Auto-repairing.
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8BEC7AEB-4576-42B0-8A8A-D40779A80126
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3437 sectors (1.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.0 MiB EF00 EFI system partition
2 1026048 1288191 128.0 MiB 0C01 Microsoft reserved ...
3 1288192 1928626175 919.0 GiB 0700 Basic data partition
4 1928626176 1929547775 450.0 MiB 2700
5 1929547776 1953523711 11.4 GiB 2700
Windows 10を再起動し、Linux gdisk
がWindowsハードドライブD:
(Linuxセットアップで/dev/sda
)の修復に影響を与えたかどうかを確認します。まだ使用していない元のハードドライブなので心配しませんが、データがある場合は注意が必要です。再起動してテストした後、このセクションを更新します。
MBRは、古いファームウェア(BIOS)で使用されるディスクパーティションスキームです。開発当時は、ドライブは非常に小さかった。ドライブが大きくなると、MBR標準は「パッチ適用」されて対応しました。ただし、多くの制限があります。レガシーブートは、BIOSに組み込まれていないため、GPTパーティションを読み取ることができません。この制限はBIOSにのみ適用されます。ブートローダーに関する以下の注意を参照してください。
EFIの開発に伴い、大容量ドライブをより有効に活用する新しいパーティションスキーム(GPT)も開発しました。 EFIファームウェアは、MBRパーティションディスクを読み取って使用できますが、通常、工場インストールではより優れたGPTパーティションを使用します。
注意: