如何确定 PC 是否具有 GPT 磁盘和旧版 BIOS 启动的组合,其中启动代码是从 MBR 读取的?

如何确定 PC 是否具有 GPT 磁盘和旧版 BIOS 启动的组合,其中启动代码是从 MBR 读取的?

在一个评论,约翰写道:

在罕见的 GPT 磁盘 + 传统 BIOS 启动组合中,启动代码以老式方式从 MBR 读取

确定 PC 是否具有上述罕见组合的正确方法是什么?应使用哪些 Windows 和/或 Linux 命令来检查磁盘是否存在这种情况?

答案1

如果您的 PC 上安装了正常运行的 Linux,您可以检查该目录是否/sys/firmware/efi存在。如果它确实存在,则您的计算机具有 EFI 固件并且不处于 BIOS 兼容模式。如果该目录丢失,则计算机将使用旧版 BIOS 启动。

可以使用 检查分区方案fdisk。如果fdisk p命令(“打印分区表”)报告磁盘标签类型为“msdos”,则该磁盘具有老式的 MBR 分区表。如果磁盘标签类型为“gpt”,则您拥有 GPT 磁盘。

答案2

我不知道这是否是一种罕见的情况,这是在旧机器上使用更大磁盘的明智方法之一。或者当系统固件有问题时,例如,在启动软件 RAID 设置时无法正确回退到第二个磁盘。

首先,您需要检查机器是否未使用 EFI 启动。看 ”如何知道我是否使用 UEFI 启动?“ 去检查。

在 Linux 上:

在 Linux 下,如果运行,您应该会看到一些指示器gdisk -l /dev/DISK

  1. 分区表是 GPT(“找到具有保护性 MBR 的有效 GPT;使用 GPT。”)
  2. 有一个 BIOS 启动分区(列为代码 EF02)。这是大多数 GRUB 所在的位置(它取代了传统 MBR 中引导扇区和第一个分区之间的扇区)。

例如,来自我的一张磁盘:

# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          259024   125.5 MiB   8300  Linux filesystem
   2          260096          517135   125.5 MiB   0700  Microsoft basic data
   3          518144      1953524128   931.3 GiB   8300  Linux filesystem
   4      1953525760      3907033263   931.5 GiB   8300  Linux filesystem
   5      3907035136      5860533134   931.5 GiB   8300  Linux filesystem
 128              34            2047   1007.0 KiB  EF02  BIOS boot partition

在 Windows 上:

请注意,这是我为虚拟机快速设置的不同磁盘。

diskpart如果磁盘使用 GPT,则命令会在 GPT 列中显示list diska :*

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           40 GB      0 B
  Disk 1    Online           20 GB      0 B        *

不幸的是,list partition(使用选择磁盘后select disk 1)将两个分区显示为“未知”:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Unknown           4096 KB    17 KB
  Partition 2    Unknown             19 GB  5120 KB

但如果您详细说明它们(在 之后select partition 1),您将获得类型 GUID:

DISKPART> detail partition

Partition 1
Type    : 21686148-6449-6e6f-744e-656564454649
Hidden  : Yes
Required: No
Attrib  : 0000000000000000
Offset in Bytes: 17408

表示21686148-6449-6e6f-744e-656564454649BIOS 启动分区。 (0fc63daf-8483-4772-8e79-3d69d8477de4顺便说一句, 是一个通用的 Linux 分区)。

或者,在“磁盘管理”中,选择磁盘,选择“属性”,然后检查“卷”选项卡。这将告诉您“分区样式”是 MBR 还是 GPT。不幸的是,似乎没有办法从磁盘管理中获取分区类型。

相关内容