我在使用 BIOS 固件的 VMware 虚拟机上运行 Ubuntu。我一直以为 BIOS 系统使用 MBR,但我的磁盘设置了 GPT。这让我有点困惑,所以我有几个问题:
1- 为什么我的基于 BIOS 的虚拟机使用 GPT 分区表?我知道 BIOS 本身并不关心分区表,那么为什么在我的情况下它会使用 GPT 而不是 MBR?
2-GRUB 从哪里加载?BIOS 是否仍从 MBR(磁盘的第一个扇区)加载 GRUB,还是从其他区域(例如 EFI 系统分区)加载 GRUB?
3-分区中的bios-grub/dev/sda1
是什么?这个 1MB 分区中到底存储了什么?
root@linux:~# parted -l /dev/sda
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 64.4GB 64.4GB ext4
我在网上搜索过,甚至在这里读过相关问题,但没有得到令人信服的答案。我真的很感激任何解释。
您创建了虚拟机,因此虚拟磁盘上可能默认使用 GPT 分区表,这就是使用它的原因。
然后以旧 BIOS 模式安装操作系统,其中引导加载程序存储在 MBR 中。使用旧的 msdos 分区表,以下扇区保存 Grub 的核心映像。
使用 GPT 分区表时,引导加载程序仍位于 MBR 中,但以下扇区为分区表条目保留。因此会创建小型 bios-grub 分区来存储核心映像。
请参阅这篇维基百科文章以获得更详细的解释。