Por qué GPT es mejor que MBR, sobre todo si usas Linux
La transición de BIOS a UEFI ha traído consigo otro cambio tecnológico: la utilización de GPT (GUID Partition Table) como tabla de particiones por defecto en lugar de MBR (Master Boot Record). Ciñéndonos a los aspectos más fundamentales, la segunda transición ha sido forzada debido a que GPT forma parte del estándar UEFI, si bien MBR lleva años no siendo capaz de saciar todas las necesidades a nivel de almacenamiento.
La utilización de MBR o GPT depende de la época en que se haya comprado el ordenador, pero sobre todo del firmware. Los ordenadores BIOS son tendentes (en casi el 100% de los casos) a usar la tabla de particiones MBR, mientras que todos los equipos UEFI utilizan GPT.
MBR y GPT a nivel de particiones
El formato de la tabla condiciona la cantidad máxima de particiones que se pueden tener. Aquí se tiene que ser especialmente cuidadoso con Windows, que impone bastantes limitaciones sobre dónde y de qué forma tiene que ser instalado para arrancar correctamente. De ahí que se recomiende su instalación en primer lugar si se quiere hacer un arranque dual con Linux, haciendo que el sistema de Microsoft ocupe siempre las dos primeras particiones del primer disco. Por su parte, Linux ofrece aquí mucha más flexibilidad, no importando el orden en que se creen y monten las particiones.
Sobre las diferencias entre MBR y GPT, de cara los usuarios finales lo más importante es la cantidad máxima de particiones soportadas por cada una. MBR solo soporta hasta 4 particiones primarias, aunque para saltarse dicha limitación se puede crear una partición extendida con particiones lógicas. Dicho de manera más práctica, el usuario puede crear 3 particiones primarias más una extendida con particiones lógicas en su interior. Obviamente, también se pueden crear dos particiones primarias para Windows y hacer que la tercera sea extendida para tratar ahí con particiones lógicas, que pueden ser las de Linux.
GPT es mucho más poderoso en este sentido al permitir crear hasta 128 particiones primarias en un solo disco (duro o SSD) en Windows y hasta 256 particiones primarias en Linux, lo que va más que sobrado para cualquier tipo de uso actual y futuro.
Pero no solo en la cantidad de particiones y su formato influye la utilización de la tabla particiones, sino también en el sistema operativo que se puede usar. Por ejemplo, macOS y Windows para x86 requieren de un firmware EFI para arrancar desde GPT, una limitación que no afecta a Linux, si bien para este último es necesario llevar a cabo un sencillo paso en el proceso de particionado para que funcione correctamente.
MBR y GPT a nivel de capacidad
Aunque los SSD han hecho retroceder la capacidad máxima de los ordenadores, sobre todo los portátiles, en la actualidad no es tan raro ver discos duros de 2TB o más de capacidad. A pesar de que los discos duros pueden llegar a ser cuellos de botella bastante molestos en los ordenadores actuales, a día de hoy siguen siendo, al menos de cara a los usuarios finales, una mejor opción para disponer de mucha capacidad, sobre todo porque son más baratos.
En la capacidad está otra de las ventajas de GPT sobre MBR, ya que el segundo solo tiene disponibles 32 bits para representar los sectores lógicos. Esto quiere decir que en un principio solo es capaz de soportar discos de hasta 2TB de almacenamiento, mientras que GPT cuenta aquí con soporte de 64 bits para abarcar discos de hasta 9,4 zettabytes (unos 9,4 billones de gigabytes), muy sobrado para cualquier contexto actual.
MBR y GPT ante los errores
MBR almacena todos los datos de las particiones y el arranque en un mismo lugar. En caso de que dicho lugar acabe corrupto, la situación derivaría en serios problemas y grandes disgustos, cosa que el usuario detectará al ver que el sistema operativo no se inicia. A pesar de que la recuperación de MBR es posible, no es seguro que sea exitosa.
GPT almacena múltiples copias del arranque en varias particiones, al principio y al final de los encabezados de la tabla, por lo que si una partición se corrompe puede apoyarse en otra para recuperarse. Además, cuenta con un código de detección de errores que evalúa la tabla de particiones en el arranque. En caso de detectar errores, GPT intentará repararse a sí mismo.
Compatibilidad de MBR y GPT
La utilización de uno u otro depende del tipo de firmware que use la placa y del sistema operativo. Por ejemplo, en Windows solo se soporta GPT desde UEFI, mientras que Linux puede usar GPT en BIOS a cambio de cumplir una condición.
Estas son las versiones de Windows y la tabla de particiones requerida para cada situación:
- Windows Vista, 7, 8, 8,1 y 10 de 64-bit requieren de una placa base UEFI para arrancar desde un disco con tabla de particiones GPT.
- Windows 8, 8.1 y 10 de 32-bit requieren de una placa base UEFI para arrancar desde un disco con tabla de particiones GPT.
- Windows 7 de 32-bit no puede arrancar si es instalado sobre una tabla de particiones GPT.
- Sin embargo, todo los sistemas Windows mencionados pueden leer y escribir sobre un disco GPT usado para almacenar datos.
En lo que respecta a Linux, y tomando a Ubuntu como referencia, si se quiere usar GPT sobre BIOS hay que crear primero un partición de 1 o 2 megabytes de tipo biosgrub, que adopta el formato FAT32. Lo único que tiene que hacer el usuario es crear la partición en primer lugar, que sea de tipo primaria, que ocupe 1 o 2 megabytes y seleccionar “Área reservada de la BIOS de arranque” como tipo.
En UEFI también se tiene que crear una primera partición de unos 100 megabytes, aunque seleccionando “Partición de sistema EFI” como tipo de partición en la instalación de Ubuntu. En otras distribuciones, como Fedora, posiblemente sea necesario montarla en “/boot/efi”.
Cómo ver la tabla de particiones utilizada en el disco
Comprobar la tabla de particiones en un disco es muy sencillo tanto en Windows como en Linux. En el sistema de Microsoft hay que abrir el “Administrador de discos”, hacer clic con el botón secundario del ratón sobre el disco que se quiere comprobar en el marco inferior (“Disco 0” en el ejemplo que estamos exponiendo), pulsar sobre Propiedades y dirigirse a la pestaña “Volúmenes” en la ventana que aparece.
Por su parte, en Linux se puede recurrir al conocido particionador gráfico GParted. Tras seleccionar el disco que se quiere comprobar (en nuestro caso, /dev/nme0n1), se tiene que ir al menú “Ver” y pulsar sobre “Información del dispositivo”.
Cómo convertir una tabla de particiones MBR a GPT sin perder datos
Esta no es una situación que se dé con frecuencia, si bien puede haber personas que hayan sustituido una placa BIOS por otra UEFI sin cambiar la caja ni los discos montados en ella. Aquí se puede recurrir a MBR2GPT en Windows y a ‘gdisk’ en Linux para llevar a cabo el proceso de conversión sin perder los datos. Pese a todo, antes de iniciar este tipo de acciones recomendamos muy encarecidamente la realización previa de copias de seguridad, porque cualquier error en el proceso puede derivar en la pérdida de los datos.