Você pode usar parted -lpara determinar o tipo de tabela de partição. Por exemplo:
$ sudo parted -l
Model: ATA TOSHIBA THNSNS25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 4194kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 256GB 224GB primary ext4
Model: ATA Hitachi HDT72101 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 996GB 964GB primary ext4
3 996GB 1000GB 4295MB primary linux-swap(v1)
O Partition Tablecampo mostra que estou usando uma msdostabela de partição MBR (a que ainda é comumente usada para Linux e Windows) em ambos os discos. A partir da manpágina, é partedpossível criar (e, assim, esperamos identificar) os seguintes tipos de tabela de partição (ou mais amplamente o `label do disco '):
bsd
dvh
gpt - this is a GPT partition table
loop - this is raw disk access without a partition table
mac
msdos - this is a standard MBR partition table
pc98
sun
Atualizar
Vale a pena adicionar o comando para listar uma única partição, pois isso não é óbvio sem conhecimento partede pode ser difícil encontrar os dados necessários se houver várias unidades. Para /dev/sdavocê faria:
Esse é um grande comando, Graeme. Embora eu esteja usando o Linux há vários anos, eu nunca tinha percebido isso. Obrigado!
Tim
3
parted /dev/sda pvai fazer também.
S4 #
eu tive que fazer "sudo parted -l" #
Santropedro 30/10
33
No linux, você pode verificar isso através da gdiskferramenta que deve estar disponível para qualquer distribuição.
gdisk -l /dev/sda
Aqui, /dev/sdaé o nó do dispositivo da unidade física , não uma partição ( /dev/sda1, /dev/sda2, etc. são partições).
Se você vir algo que inclui:
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Você tem um disco no estilo MBR. Não se preocupe, isso não causou nenhum dano.
Se você não vir esse aviso, possui um disco GPT ou um disco híbrido GPT / MBR . Os últimos são usados principalmente em máquinas Apple destinadas a versões de inicialização dupla do MS Windows que não suportam GPT. gdiskindicará isso com:
Found valid GPT with hybrid MBR; using GPT
Eles também podem ser usados em outras situações em que o suporte para ambos os estilos é necessário.
Ou o contrário - tentar usar cfdiskem uma partição GPT também resultará em um aviso.
orion
Se não estiver instalado e não estiver em um gdiskpacote, ele pode ser encontrado no gptfdiskpacote ... pelo menos no Gentoo.
2
@orion Eu não recomendaria isso, pois algumas versões de ferramentas como fdiskou cfdiskpodem suportar GPT e, portanto, não mostram um erro.
precisa
Para mim gdiskdetecta uma tabela de partição híbrida GPT + MBR e dá Found valid GPT with hybrid MBR; using GPT.. Este parece ser o único método que irá detectar uma tabela híbrida.
Graeme
@ Graeme: Obrigado. Eu não sabia disso (a referência híbrida original foi editada por Stephane Chazelas), mas fiz algumas leituras e adicionei alguns detalhes.
Goldilocks
17
Como o sistema operacional não foi especificado, aqui está a maneira do FreeBSD de fazer as coisas.
Tudo é feito através do gpartcomando (abreviação de particionador GEOM - nada a ver com GNU).
Um simples gpart showmostraria todas as partições disponíveis de todos os discos, mas você pode especificar o dispositivo para ter uma aparência mais precisa em um:
layout de partição herdada com esquemas de partição MBR (também conhecido como "msdos") e BSD (geralmente é necessário um particionamento em dois níveis para sistemas BSD, a menos que esteja usando o disco completo):
$ sudo /lib/udev/udisks-part-id /dev/sda
using device_file=/dev/sda syspath=/sys/devices/pci0000:00/0000:00:0b.0/ata1/host0/target0:0:0/0:0:0:0/block/sda, offset=0 ao=0 and number=0 for /dev/sda
Entering MS-DOS parser (offset=0, size=500107862016)
MSDOS_MAGIC found
found partition type 0xee => protective MBR for GPT
Exiting MS-DOS parser
Entering EFI GPT parser
GPT magic found
partition_entry_lba=2
num_entries=128
size_of_entry=128
Leaving EFI GPT parser
EFI GPT partition table detected
UDISKS_PARTITION_TABLE=1
UDISKS_PARTITION_TABLE_SCHEME=gpt
UDISKS_PARTITION_TABLE_COUNT=4
Acima, eu tenho uma unidade com particionamento híbrido GPT + MS-DOS. Nesse caso, o kernel do Linux ignora o particionamento do MS-DOS, e é por isso que udisksdefine UDISKS_PARTITION_TABLE_SCHEME como gpt.
Essa ferramenta udisks-part-id é usada para preencher o banco de dados udev. Portanto, se você tiver udisksinstalado, poderá consultar essas informações mesmo como um usuário não privilegiado com:
Observe que você obterá uma saída semelhante, independentemente de haver ou não um GPT + MBR híbrido. O GPT requer um MBR falso com uma única partição de disco completo do tipo 0xee. Em um híbrido, esse é um MBR normal com uma 0xeepartição (e é possível que haja grandes problemas se os dados do MBR ficarem fora de sincronia com os dados da GPT).
Graeme
6
Usar
$ sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x987c1a05
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 250068991 249067522 118.8G 5 Extended
/dev/sda5 1001472 250068991 249067520 118.8G 8e Linux LVM
Consulte o tipo de rótulo de disco: dos . Se mostrar dos, significa que é o esquema MBR, caso contrário, o esquema GPT
Respostas:
Você pode usar
parted -l
para determinar o tipo de tabela de partição. Por exemplo:O
Partition Table
campo mostra que estou usando umamsdos
tabela de partição MBR (a que ainda é comumente usada para Linux e Windows) em ambos os discos. A partir daman
página, éparted
possível criar (e, assim, esperamos identificar) os seguintes tipos de tabela de partição (ou mais amplamente o `label do disco '):Atualizar
Vale a pena adicionar o comando para listar uma única partição, pois isso não é óbvio sem conhecimento
parted
e pode ser difícil encontrar os dados necessários se houver várias unidades. Para/dev/sda
você faria:fonte
parted /dev/sda p
vai fazer também.No linux, você pode verificar isso através da
gdisk
ferramenta que deve estar disponível para qualquer distribuição.Aqui,
/dev/sda
é o nó do dispositivo da unidade física , não uma partição (/dev/sda1
,/dev/sda2
, etc. são partições).Se você vir algo que inclui:
Você tem um disco no estilo MBR. Não se preocupe, isso não causou nenhum dano.
Se você não vir esse aviso, possui um disco GPT ou um disco híbrido GPT / MBR . Os últimos são usados principalmente em máquinas Apple destinadas a versões de inicialização dupla do MS Windows que não suportam GPT.
gdisk
indicará isso com:Eles também podem ser usados em outras situações em que o suporte para ambos os estilos é necessário.
fonte
cfdisk
em uma partição GPT também resultará em um aviso.gdisk
pacote, ele pode ser encontrado nogptfdisk
pacote ... pelo menos no Gentoo.fdisk
oucfdisk
podem suportar GPT e, portanto, não mostram um erro.gdisk
detecta uma tabela de partição híbrida GPT + MBR e dáFound valid GPT with hybrid MBR; using GPT.
. Este parece ser o único método que irá detectar uma tabela híbrida.Como o sistema operacional não foi especificado, aqui está a maneira do FreeBSD de fazer as coisas.
Tudo é feito através do
gpart
comando (abreviação de particionador GEOM - nada a ver com GNU).Um simples
gpart show
mostraria todas as partições disponíveis de todos os discos, mas você pode especificar o dispositivo para ter uma aparência mais precisa em um:layout de partição herdada com esquemas de partição MBR (também conhecido como "msdos") e BSD (geralmente é necessário um particionamento em dois níveis para sistemas BSD, a menos que esteja usando o disco completo):
$
gpart show
layout de partição moderno usando GPT :
$
gpart show /dev/ada2
Para saber mais, tudo está no
gpart
manual .fonte
Com
udisks
no Linux:Acima, eu tenho uma unidade com particionamento híbrido GPT + MS-DOS. Nesse caso, o kernel do Linux ignora o particionamento do MS-DOS, e é por isso que
udisks
define UDISKS_PARTITION_TABLE_SCHEME como gpt.Essa ferramenta udisks-part-id é usada para preencher o banco de dados udev. Portanto, se você tiver
udisks
instalado, poderá consultar essas informações mesmo como um usuário não privilegiado com:fonte
0xee
. Em um híbrido, esse é um MBR normal com uma0xee
partição (e é possível que haja grandes problemas se os dados do MBR ficarem fora de sincronia com os dados da GPT).Usar
Consulte o tipo de rótulo de disco: dos . Se mostrar dos, significa que é o esquema MBR, caso contrário, o esquema GPT
fonte
Nos meus scripts de partição Alpine Linux, eu uso:
fonte
fdisk -l /dev/sda | grep -i disklabel
não retorna nada, ( GNU Fdisk 1.3.0a ).Você pode usar
blkid
.Exemplos com saída:
Ou em um script, com a
-o value
opção:fonte