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


19

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

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

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

如何从Ubuntu的终端中查找磁盘是使用MBR还是GPT

这样对我来说创建分区很容易。


最简单的方法是使用blkid。看到这个答案
mivk

Answers:


22

要在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
    

14

使用分手安装分开

您可以使用此命令,/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.

4

无需安装任何东西:

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

1
在ubuntu 18上,这是唯一对我有用的答案-尝试这样做fdisk -l /dev/sda会导致不存在此类目录的错误,即使我可以在/dev/
Caleb Jay

2

接受的答案应更新:

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,而无需解析错误消息。

时间磁盘:真实0m0.004s

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

分开的速度慢100倍。

我正在为需要该数据的另一个应用程序进行研究,因此我只是在更新稍微过时的fdisk信息。同样因为一个程序比另一个程序快100倍,通常通常值得仔细研究一下。

我不知道哪个版本的fdisk带来了此更改。

上面是:2.30.2

我在显示gpt错误的较旧系统中发现了一个错误,版本为2.20.1,但我不知道哪个特定的fdisk版本可以解决此问题。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.