如何从终端检测我的磁盘是使用 GPT 还是 MBR?

Avi*_*Raj 28 partitioning

我正在运行 Ubuntu 13.10。一些链接显示:

  • 如果使用MS-DOS 分区表(或 MBR),则最多只能有四个主/扩展分区。

  • 如果使用具有默认设置的GUID 分区表(GPT),则最多可以有 128 个分区。

如何从 Ubuntu 的终端确定我的磁盘是使用MBR还是GPT

这样我在创建分区时就很容易了。

Avi*_*Raj 30

要在 ubuntu 中查找您的磁盘是 GPT 还是 MBR,您必须安装gdisk实用程序。

sudo apt-get install gdisk
Run Code Online (Sandbox Code Playgroud)

然后运行下面的命令,

sudo gdisk -l /dev/sda
Run Code Online (Sandbox Code Playgroud)


kir*_*iri 18

使用分开

您可以使用此命令,替换/dev/sda为您的设备:

parted /dev/sda print | grep -i '^Partition Table'
Run Code Online (Sandbox Code Playgroud)

您可能需要先安装它:

sudo apt-get install parted
Run Code Online (Sandbox Code Playgroud)

MBR 磁盘的示例输出:

Partition Table: msdos
Run Code Online (Sandbox Code Playgroud)

使用gdisk

先安装:

sudo apt-get install gdisk
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用此命令,替换/dev/sda为您的设备:

gdisk -l /dev/sda | grep -A4 '^Partition table scan:'
Run Code Online (Sandbox Code Playgroud)

Mbr 磁盘的示例输出:

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present
Run Code Online (Sandbox Code Playgroud)

使用 fdisk

运行此命令,替换/dev/sda为您的设备:

fdisk -l /dev/sda
Run Code Online (Sandbox Code Playgroud)

如果设备使用 GPT,它将显示警告:

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Run Code Online (Sandbox Code Playgroud)


Gri*_*ave 8

无需安装任何东西:

sudo ls                              # Prevent hang
sudo fdisk -l | grep -B 5 Disklabel  # Focus
Run Code Online (Sandbox Code Playgroud)

  • 在 ubuntu 18 上,这是唯一对我有用的答案 - 尝试执行“fdisk -l /dev/sda”会导致有关此类目录不存在的错误,即使我可以在“/dev/”中看到它 (2认同)

Liz*_*rdx 5

应更新接受的答案:

fdisk -l /dev/sdb
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 6C5ED23-xxxxxxx
Run Code Online (Sandbox Code Playgroud)

如您所见,fdisk 现在显示 Disklabel type: gpt 而无需解析错误消息。

时间 fdisk:真实 0m0.004s

分开时间:真实 0m0.413s

分开的速度慢 100 倍。

我正在为另一个需要这些数据的应用程序研究这个,所以我只是更新了稍微过时的 fdisk 信息。也因为当一个程序比另一个程序快 100 倍时,通常值得仔细研究它。

不知道是哪个版本的 fdisk 带来了这个变化。

以上为:2.30.2

我在一个显示 gpt 错误的旧系统中找到了一个,版本 2.20.1,但我不知道哪个特定的 fdisk 版本更正了这个问题。

请注意,gpt 错误将发送到 stderr,因此如果您将错误发送到 2>/dev/null,您将错过该消息。