GUID Partition Table o GPT

GUID Partition Table (GPT) es un nuevo formato de particionado integrante de la especificación Unified Extensible Firmware Interface, que usa un identificador único global para los dispositivos. Es diferente del Master Boot Record (el estilo más comúnmente utilizado de partición) en muchos aspectos y tiene muchas ventajas.

Para entender GPT, es importante entender lo que es MBR y cuáles son sus desventajas.

Para cualquier estilo de particionado, el número de particiones que pueden ser definidas se basa en el espacio total asignado por la tabla de particiones y en el espacio necesario para almacenar la información de una sola partición.

GUID Partition Table

GUID Partition Table (GPT) utiliza GUIDs (o UUIDs en el mundo linux) para definir particiones y sus tipos, de ahí el nombre. La GPT se compone de:

  • Primer sector lógico del disco o Primeros 512 bytes Protective MBR – Igual que un MBR normal, pero el área de 64 bytes contiene una sola Partición Primaria del tipo 0xEE entrada definida sobre el tamaño total del disco o en caso de >2 TiB, hasta un tamaño de partición de 2 TiB.
  • Segundo sector lógico del disco o Siguientes 512 bytes Cabecera GPT Principal – Contiene el Unique Disk GUID (GUID Único del Disco), Ubicación de la Tabla de la Partición Primaria, Número de posibles entradas en la tabla de particiones, las sumas de comprobación CRC32 de sí mismo y de la Tabla de Partición Primaria, Localización de la Segunda Cabecera (o Backup) GPT
  • 16 KiB (por defecto), tras el segundo sector lógico del disco Tabla GPT Principal – 128 entradas de partición (por defecto, aunque puede ser más alto), cada una con una entrada de 128 bytes de tamaño (de ahí el total de 16 Kb para 128 entradas de partición). Los números del sector se almacenan en 64-bit LBA y cada partición tiene un tipo GUID de partición y un único GUID por partición .
  • 16 KiB (por defecto) antes del último sector lógico del disco Tabla GPT Secundaria – Es byte por byte idéntica a la tabla Principal. Se utiliza principalmente para la recuperación en caso de que la tabla de partición principal esté dañada.
  • Último sector lógico del disco o Últimos 512 bytes Cabecera GPT Secundaria – Contiene la GUID Única del Disco, lugar de la tabla de la partición secundaria, el número de entradas posibles en la tabla de particiones, las sumas de comprobación CRC32 de sí mismo y la Tabla de Partición Secundaria, Localización de la Principal Cabecera GPT. Esta cabecera se puede utilizar para recuperar información de la GPT en caso de que la cabecera principal esté dañada.

Ventajas de GPT

  • Utiliza GUID (UUID) para identificar los tipos de particiones – Sin colisiones.
    Proporciona un GUID único de disco y un GUID único de partición para cada partición – Un buen sistema de archivos independiente referenciando a las particiones y discos.
  • Número arbitrarios de particiones -depende del espacio asignado por la tabla de particiones-. No hay necesidad de particiones extendidas y lógicas. Por defecto, la tabla GPT contiene espacio para la definición de 128 particiones. Sin embargo, si el usuario desea definir más particiones, se puede asignar más espacio (actualmente se sabe que solo gdisk soporta esta característica).
  • Utiliza 64-bit LBA para almacenar números del Sector – tamaño máximo del disco manejable es de 2 Zib.
  • Almacena una copia de seguridad del encabezado y de la tabla de particiones al final del disco que ayuda en la recuperación en el caso de que los primeros están dañados.
  • Checksum CRC32 para detectar errores y daños de la cabecera y en la tabla de particiones.

Soporte del Kernel

La opción CONFIG_EFI_PARTITION en la configuración del kernel permite el soporte GPT en el kernel (a pesar del nombre PARTICIÓN EFI). Esta opción debe ser incorporada en el kernel y no compilada como un módulo cargable.

La misma es necesaria incluso si los discos GPT solo se utilizan para el almacenamiento de datos y no para el arranque. Esta opción está activada por defecto en el kernel de Arch linux y linux-lts contenido en el repositorio [core].

Para el caso de un kernel personalizado, esta opción se habilita estableciendo CONFIG_EFI_PARTITION=y.

Soporte del Bootloader

Sistemas UEFI

Todos los gestores de arranque UEFI admiten discos GPT desde el momento en que GPT es una parte de la especificación UEFI y, por lo tanto, obligatorio para el arranque UEFI.

Sistemas BIOS

Nota: Algunos sistemas BIOS no pueden arrancar desde discos GPT.

Véase http://mjg59.dreamwidth.org/8035.html y http://rodsbooks.com/gdisk/bios.html para obtener más información y posibles soluciones.

GRUB(2) requiere de 2 MiB de Partition Boot BIOS (código tipo EF02 en gdisk y el indicador bios_grub en GNU Parted) en los sistemas BIOS para incrustar su archivo core.img debido a la falta de espacio post-MBR para poder insertar discos GPT.

Entre tanto, la compatibilidad GPT en GRUB(2) es proporcionada por el módulo part_gpt. Consulte instrucciones específicas GPT para GRUB para más información.

Syslinux requiere que la partición /boot sea marcada como «Legacy BIOS Bootable» atributo GPT ( indicador legacy_boot en GNU Parted) para identificar la partición que contiene los archivos de arranque Syslinux para su código de arranque MBR gptmbr.bin. Consulte Syslinux: GPT para más información.

GRUB Legacy, presente en AUR como grub-legacy, no admite discos GPT. Fedora tiene modificado GRUB Legacy: grub-legacy-fedora-git, conteniendo parches GPT para Intel (probado en Fedora, aunque no en Arch).

Nota: Los desarrolladores de Fedora han anunciado que después del lanzamiento de Fedora 17, detendrán el desarrollo de grub-legacy-fedora. Fedora ya utiliza GRUB(2) como su gestor de arranque de la BIOS por defecto desde F16. Se recomienda al usuario cambiar a GRUB(2) o Syslinux en su lugar.

Nota: En algunas placas base Intel Desktop Board solo se iniciará un disco GPT si la partición protective MBR tiene establecido el arranque. Esto se puede hacer de manera segura con fdisk/cfdisk sin dañar la GPT (pero de todos modos haga backups y, luego, vuelva a verificar la integridad de la GPT).

LILO no se ha probado su compatibilidad con GPT por lo que no está claro si tiene problemas de arranque en los discos GPT.

Utilidades de Partición

GPT fdisk

GPT fdisk es un conjunto de utilidades en modo texto para la edición de los discos GPT. Éstas consisten en gdisk, sgdisk y cgdisk que son equivalentes a las herramientas respectivas de fdisk desde util-linux (utilizadas para discos MBR). gptfdisk está disponible en el repositorio [extra].

Nota: La utilidades de particionado de fdisk desde util-linux (por ejemplo, fdisk, cfdisk y sfdisk) no admiten GPT, y pueden dañar el encabezado GPT y la tabla de particiones si se utiliza en un disco GPT.

Conversión de MBR a GPT

Una de las mejores características de gdisk (y sgdisk y cgdisk también) es su capacidad para convertir MBR y etiquetas de disco BSD a GPT sin pérdida de datos. Tras la conversión, todas las particiones MBR primarias y las particiones lógicas quedarán convertidas en particiones GPT con los tipos GUID de partición correctos y GUID únicos de partición creados para cada partición.

Sólo tiene que abrir el disco MBR usando gdisk y salir con «w» para escribir los cambios en el disco (similar a fdisk) para convertir el disco MBR a GPT.

¡Cuidado con los errores y de corregirlos antes de escribir cualquier cambio en el disco!, ya que corre el riesgo de perder datos. Consulte http://www.rodsbooks.com/gdisk/mbr2gpt.html para más información.

Después de la conversión, el gestor de arranque tendrá que ser reinstalado para configurarlo a fin de que arranque desde GPT.

Nota: Recuerde que GPT almacena una tabla secundaria al final del disco. Puede que tenga que asegurarse de que tiene 1 MiB al final del disco que no se utiliza por ninguna partición.

Nota: Tenga en cuenta que si el gestor de arranque es Grub, se necesita una BIOS Boot Partition.

Si la configuración del particionado MBR no es demasiado antiguo, es posible que la primera partición comience en el sector 2048 por razones de alineación.

Eso significa que al principio habŕa 1007KiB de espacio vacío donde poder ubicar la partición BIOS de arranque creada.

Para ello, en primer lugar, realice la conversión de mbr->gpt con gdisk como se ha descrito anteriormente.

A continuación, cree una nueva partición con gdisk y especifique su posición entre los sectores 34 a 2047, y establezca el tipo de partición como EF02.