Puede usar parted -lpara determinar el tipo de tabla de particiones. P.ej:
$ 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)
El Partition Tablecampo muestra que estoy usando una msdostabla de partición MBR (la que todavía se usa comúnmente para Linux y Windows) en ambos discos. Desde la manpágina partedpuede crear (y por lo tanto, con suerte, identificar) los siguientes tipos de tabla de partición (o, más ampliamente, "etiqueta de 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
Actualizar
Vale la pena agregar el comando para enumerar una sola partición, ya que esto no es obvio sin algún conocimiento partedy puede ser difícil encontrar los datos que necesita si hay varias unidades. Porque /dev/sdaharías:
Ese es un gran comando, Graeme. Aunque he estado usando Linux durante varios años, nunca lo había notado realmente. ¡Gracias!
Tim
3
parted /dev/sda ptambién lo hará.
sjas
Tuve que hacer "sudo parted -l"
Santropedro
33
En Linux, puede verificar esto a través de la gdiskherramienta que debería estar disponible para cualquier distribución.
gdisk -l /dev/sda
Aquí, /dev/sdaes el nodo del dispositivo de la unidad física , no una partición ( /dev/sda1, /dev/sda2, etc. son particiones).
Si ve algo que incluye:
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Tienes un disco de estilo MBR. No te preocupes, esto no hizo ningún daño.
Si no ve esta advertencia, tiene un disco GPT o un disco GPT / MBR híbrido . Las últimas se utilizan principalmente en máquinas Apple destinadas a versiones de arranque dual de MS Windows que no admiten GPT. gdiskindicará esto con:
Found valid GPT with hybrid MBR; using GPT
También se pueden usar en otras situaciones donde se requiere soporte para ambos estilos.
O lo contrario: intentar usar cfdiskuna partición GPT también generará una advertencia.
orion
Si no está instalado y no está en un gdiskpaquete, se puede encontrar en el gptfdiskpaquete ... al menos en Gentoo.
2
@orion No recomendaría que algunas versiones de herramientas tengan fdisko cfdiskno soporte GPT y, por lo tanto, no muestren un error.
Ricitos
Para mí gdiskdetecta una tabla de particiones GPT + MBR híbrida y da Found valid GPT with hybrid MBR; using GPT.. Este parece ser el único método que detectará una tabla híbrida.
Graeme
@Graeme: Gracias. No estaba al tanto de esto (la referencia híbrida original fue editada por Stephane Chazelas), pero leí un poco y agregué algunos detalles.
Ricitos
17
Como no se especificó el sistema operativo, aquí está la forma de hacer las cosas de FreeBSD .
Todo se hace a través del gpartcomando (abreviatura de partición de GEOM, nada que ver con GNU).
Un simple gpart showle mostrará todas las particiones disponibles de todos los discos, pero puede especificar que el dispositivo tenga una apariencia más precisa en uno:
diseño de partición heredada con MBR (también conocido como "msdos") y esquemas de partición BSD (generalmente se requería una partición de 2 niveles para los sistemas BSD, a menos que se use el 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
Arriba, tengo una unidad con particiones híbridas GPT + MS-DOS. En ese caso, el kernel de Linux ignora el particionamiento de MS-DOS, por lo que udisksestablece UDISKS_PARTITION_TABLE_SCHEME en gpt.
Esa herramienta udisks-part-id se usa para llenar la base de datos udev. Entonces, si tiene udisksinstalado, debería poder consultar esa información incluso como usuario no privilegiado con:
Tenga en cuenta que obtendrá resultados similares independientemente de si hay un GPT + MBR híbrido o no. GPT requiere un MBR falso con una sola partición de disco completa de tipo 0xee. En un híbrido, este es un MBR normal con una 0xeepartición (y es posible que surjan problemas importantes si los datos de MBR no están sincronizados con los datos de GPT).
Graeme
6
Utilizar
$ 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
Ver el tipo de etiqueta de disco: dos . Si muestra dos, eso significa que es un esquema MBR o un esquema GPT
Respuestas:
Puede usar
parted -l
para determinar el tipo de tabla de particiones. P.ej:El
Partition Table
campo muestra que estoy usando unamsdos
tabla de partición MBR (la que todavía se usa comúnmente para Linux y Windows) en ambos discos. Desde laman
páginaparted
puede crear (y por lo tanto, con suerte, identificar) los siguientes tipos de tabla de partición (o, más ampliamente, "etiqueta de disco"):Actualizar
Vale la pena agregar el comando para enumerar una sola partición, ya que esto no es obvio sin algún conocimiento
parted
y puede ser difícil encontrar los datos que necesita si hay varias unidades. Porque/dev/sda
harías:fuente
parted /dev/sda p
también lo hará.En Linux, puede verificar esto a través de la
gdisk
herramienta que debería estar disponible para cualquier distribución.Aquí,
/dev/sda
es el nodo del dispositivo de la unidad física , no una partición (/dev/sda1
,/dev/sda2
, etc. son particiones).Si ve algo que incluye:
Tienes un disco de estilo MBR. No te preocupes, esto no hizo ningún daño.
Si no ve esta advertencia, tiene un disco GPT o un disco GPT / MBR híbrido . Las últimas se utilizan principalmente en máquinas Apple destinadas a versiones de arranque dual de MS Windows que no admiten GPT.
gdisk
indicará esto con:También se pueden usar en otras situaciones donde se requiere soporte para ambos estilos.
fuente
cfdisk
una partición GPT también generará una advertencia.gdisk
paquete, se puede encontrar en elgptfdisk
paquete ... al menos en Gentoo.fdisk
ocfdisk
no soporte GPT y, por lo tanto, no muestren un error.gdisk
detecta una tabla de particiones GPT + MBR híbrida y daFound valid GPT with hybrid MBR; using GPT.
. Este parece ser el único método que detectará una tabla híbrida.Como no se especificó el sistema operativo, aquí está la forma de hacer las cosas de FreeBSD .
Todo se hace a través del
gpart
comando (abreviatura de partición de GEOM, nada que ver con GNU).Un simple
gpart show
le mostrará todas las particiones disponibles de todos los discos, pero puede especificar que el dispositivo tenga una apariencia más precisa en uno:diseño de partición heredada con MBR (también conocido como "msdos") y esquemas de partición BSD (generalmente se requería una partición de 2 niveles para los sistemas BSD, a menos que se use el disco completo):
$
gpart show
diseño de partición moderno con GPT :
$
gpart show /dev/ada2
Para saber más, todo está en el
gpart
manual .fuente
Con
udisks
en Linux:Arriba, tengo una unidad con particiones híbridas GPT + MS-DOS. En ese caso, el kernel de Linux ignora el particionamiento de MS-DOS, por lo que
udisks
establece UDISKS_PARTITION_TABLE_SCHEME en gpt.Esa herramienta udisks-part-id se usa para llenar la base de datos udev. Entonces, si tiene
udisks
instalado, debería poder consultar esa información incluso como usuario no privilegiado con:fuente
0xee
. En un híbrido, este es un MBR normal con una0xee
partición (y es posible que surjan problemas importantes si los datos de MBR no están sincronizados con los datos de GPT).Utilizar
Ver el tipo de etiqueta de disco: dos . Si muestra dos, eso significa que es un esquema MBR o un esquema GPT
fuente
En mis scripts de Alpine Linux Partition uso:
fuente
fdisk -l /dev/sda | grep -i disklabel
no devuelve nada ( GNU Fdisk 1.3.0a ).Puedes usar
blkid
.Ejemplos con salida:
O en un script, con la
-o value
opción:fuente