如何检测我的磁盘是否正在使用终端上的GPT或MBR?

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

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

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

如何从Ubuntu中的终端找出我的磁盘是否使用MBRGPT

因此,在创建分区时,这对我来说很容易。

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

 sudo apt-get install gdisk 

然后运行以下命令,

 sudo gdisk -l /dev/sda 
  • 如果上面命令的输出显示如下,那么你有MBR磁盘,

     Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present 
  • 如果输出显示如下,那么你有GPT磁盘,

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

使用parted 分开安装

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

 parted /dev/sda print | grep -i '^Partition Table' 

您可能需要先安装它:

 sudo apt-get install parted 

MBR磁盘的示例输出:

 Partition Table: msdos 

使用gdisk 安装gdisk

首先安装它:

 sudo apt-get install gdisk 

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

 gdisk -l /dev/sda | grep -A4 '^Partition table scan:' 

Mbr磁盘的输出示例:

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

使用fdisk

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

 fdisk -l /dev/sda 

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

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

无需安装任何东西:

 sudo ls # Prevent hang sudo fdisk -l | grep -B 5 Disklabel # Focus 

接受的答案应该更新:

 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 

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

时间fdisk:真正的0m0.004s

时间分手:真正的0m0.413s

分开的速度要快100倍。

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

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

以上是:2.30.2

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

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