InicioLinuxParticionado con GPT en GNU/Linux/Ubuntu

Particionado con GPT en GNU/Linux/Ubuntu

Linux9/13/2012

Nada se compara a la “Libertad” Viva el “Software Libre”

“La Tabla de partición GUID (GPT) es un estándar para la colocación de la tabla de particiones en un disco duro físico. Es parte del estándar Extensible Firmware Interface (EFI) propuesto por Intel para reemplazar la vieja BIOS del PC, heredada del IBM PC original. La GPT sustituye al Master Boot Record (MBR) usado con la BIOS”.
(Wikipedia)

Pregunta de actualidad: ¿ “BIOS MBR o BIOS EFI”?:

¿Cabría preguntarse a esta altura cuál de ellos es el más conveniente. ¿Será uno u otro sistema? Esta es una pregunta que haría alguien que no está al tanto de la realidad. Indudablemente estamos en una etapa de transición en informática las cuales no nos deben extrañar, pues ella está en permanente y constante evolución y cada vez son y serán más seguidas. Cambia y avanza la tecnología muy rápido y por ende los mencionados grandes saltos entre estas etapas son sucesivamente más cercanos en el tiempo. Lo que plantea la pregunta se refiere a una de ellas y esta va a ser muy dura para muchos, especialmente los que no estén bien informados así como para aquellos en los más bajos niveles de conocimientos informáticos.
Esta es la respuesta:
En un futuro muy próximo todas las placas madres serán de “BIOS EFI”, los discos duros que ya son de hasta 3 y 4 TB, lo serán de mucho mayor tamaño y de yapa con sectores de 4 KB. Todo el software será de 64 bit, todos los Ss.Os. y todos los programas, etc. etc.
Este trabajo, pretende ayudar a todos aquellos que en este momento lo estén necesitando, así como en su momento cada uno de nosotros sintió muchas carencias y deficiencias con respecto a estos conocimientos, ya que como todo adelanto es desconocido y siempre nos resulta más cómodo seguir como estamos, pero por todo lo dicho no habrá más que adaptarse adquiriendo los conocimientos necesarios en ese día a día informático.

En la práctica por un lado tenemos, entre varios programas, a Gparted que es el Editor de Particiones de Gnome y sus utilidades consisten en crear, reorganizar y eliminar particiones en discos duros.
Todas estas tareas pueden causar que los datos en el disco duro, si los posee, sean eliminados. Aquella partición que no se desea tocar es conveniente desmontarla previamente, así como es muy recomendable respaldar todos los datos insustituibles.

Pero por otro lado con la aparición del sistema EFI en la mayoría de placas madres que están a la venta, junto a los discos de gran capacidad, siendo algunos de estos de más de 2,19 TB y con sectores de 4KB, es necesario saber utilizar un buen programa particionador como es GPT (gdisk) Especialmente tomando en cuenta la realidad actual del hardware. Ni qué hablar de la futura realidad de dentro de un tiempo, muy corto no más.
Si se intenta utilizar algún programa de los muy habituales hasta ahora, como puede ser el “fdisk”, este no lo permitirá. En el ejemplo en estudio presente, donde se trata de un disco duro de 3 TB, crearía una sola partición grande de poco más de 2 TB. Cuando en realidad no es lo que interesa en muchos casos. Mucho menos no aprovechar bien semejante espacio.
Para realizar un particionado en Linux como el que se desea, se puede utilizar, entre algunas de las herramientas existentes, el programa Gdisk, el cual se ha de utilizar desde el Terminal. No por ser así deja de ser sumamente fácil su uso como se apreciará a lo largo de este desarrollo.
“Gdisk” es una Tabla de Particiones (GPT) de la “Global Unique Identifier” (GUID) y sirve para discos y particiones de más de 2,19 TB, para lo cual no hay otra mejor. Sistema en el que solo existen Particiones Primarias, de la número 1 a la número 128. Para nada existen “Particiones Extendidas” y por supuesto mucho menos “Particiones Lógicas”, como se está acostumbrado hasta el momento y con las limitaciones del clásico sistema MBR. Todos los sistemas operativos Linux, desde el año 2.000 soportan discos GPT, tanto sean de 32 como de 64 bit. No así los sistemas Windows los cuales deberán ser de 64 bit y en modo EFI. Este programa GPT (gdisk) se puede complementar luego de realizadas las particiones, con otros como ser “gparted” o “partition manager” para discos GPT.
Cabe agregar que este programa particionador se aplica a cualquier HDD sin importar su tamaño, no debe necesariamente ser mayor de 2,19 TB para poder utilizarlo, incluso se lo puede aplicar en Pendrives.

Es muy conveniente leer y descargar los GPT Gdisk Tutorial y demás manuales en esta dirección:

www.rodsbooks.com/gdisk/gdisk.html/

Allí hay manuales para gdisk, sgdisk y fixparts. Lamentablemente están en inglés, lo cual no facilita para nada la lectura y comprensión de los manuales, especialmente a los que no conocen el idioma. Aunque sí se entiende bastante bien para los que tengan alguna base mínima.
GPT fdisk (el cual consiste de los programas gdisk, cgdisk, sgdisk y fixparts) es una serie de herramientas de partición para Linux, FreeBSD, Mac OS X y Windows.
Gdisk, cgdisk y sgdisk son programas que trabajan en discos duros GPT en la tabla de partición GUID así como desde el 2011 lo hacen en la más común y antigua de todas, la MBR (Master Boot Record)

Tomar en cuenta en Sistemas Operativos MSWindows:

Windows no arranca desde un disco duro GPT si el mismo no utiliza arranque EFI y además en versiones anteriores a MSVista no puede trabajar con más de 2,19 TB de tamaño máximo de cada partición.

Gpt sirve además para cambiar automáticamente los discos duros MBR a discos duros GPT. Para efectuar cualquier actividad de este tipo (nada recomendable para los usuarios no expertos) consultar en la página en inglés anteriormente mencionada, el artículo:
“A BIOS to UEFI Transformation”.

Para saber si un equipo GNU/Linux tiene sistema EFI, en lugar del antiguo BIOS MBR, se lo comprueba en terminal con una de las siguientes líneas:

En Linux Ubuntu y con versiones anteriores a la 10.10

zcat /proc/config.gz | grep CONFIG_EFI=

+ Enter

En Linux Ubuntu y con versiones superiores a la 10.10

cat /boot/config-`uname -r` | grep CONFIG_EFI=

Enter

La Terminal debe mostrar la siguiente línea para confirmarlo afirmativamente:

CONFIG_EFI=y

Administrador:

Todo lo que se realice con gdisk se lo debe hacer como Administrador, por lo tanto ha de ser lo primero el uso de “sudo -i” y la correspondiente clave + Enter. (+ Enter significa “dar Enter”) Es más seguro usar esta última, “sudo -i” que “sudo su”.
Es necesario tener al programa cargado en el sistema. Si no es así, se lo carga haciendo lo siguiente, siempre en el Terminal:

$ sudo apt-get install gdisk

+ Enter

Para ver el manual del mismo una vez que esté instalado, bastará pedir

man gdisk + Enter

el cual se desplegará a continuación.
El disco duro al cual se le ha de crear particiones estará en la PC, se supone en el presente ejemplo que es el sdc. Si se tiene alguna duda de cuál es el disco a tomar, se hace un fdisk -l lo cual listará todos los discos del sistema con sus datos. Esto dará la denominación correcta de los mismos, con lo cual no ha de haber dudas ni peligro de dañar datos de algún otro disco de forma irrecuperable. De lo anterior se desprende que la PC debe poseer por lo menos dos discos duros, uno de los cuales tiene el sistema operativo y no es el que se procederá a particionar. En este caso de acuerdo a la nomenclatura posee como mínimo 3 HDD, dev/sda, dev/sdb y dev/sdc, por lo menos. Como en los casos anteriores (de MBR) las particiones de sdc se irán llamando en forma ordenada y sucesiva /sdc1, /sdc2, /sdc3, etc.

Aclaración: El sistema consiste en más de un disco duro de los cuales uno posee S.O. Linux y es desde el cual se ha de ejecutar el programa Gdisk (dev/sda) El disco GPT a crear se supone (en el presente caso) que luego de este proceso ha de ser el que va a quedar como dev/sda con el S.O. y desde el cual se va producir el arranque, por lo tanto especificar en la carga del mismo que así sea.

Entrar entonces en el programa gdisk para empezar con el particionado del disco /sdc.
gdisk /dev/sdc

Previamente se ha de considerar si el disco es nuevo o por el contrario ya ha sido usado, es decir si ya posee particiones anteriores y estas han sido formateadas.
Si el caso fuera así, con
d + Enter

se elimina la Tabla de particiones anterior ya que lo que se va a hacer es crear una tabla nueva. En este ejercicio se considera que el disco duro es de 3 TB y con sectores de 4 KB, el cual sí necesita ser particionado de esta manera y no de otra.
¿Cuántas particiones será necesario realizar?
En este caso, estimado como uno de los ejemplos más sencillos para un sistema Linux, se harán cuatro particiones que deben seguir el orden presente. Pueden ser muchas más.

Son las siguientes:

1) Partición de Arranque EFI, la Nº1, la cual deberá estar formateada con sistema Fat. (/sdc1 de 500 MB)
2) Partición de Intercambio swap, la Nº2 (/sdc2 de 2 GB)
3) Partición para Archivos Linux, Nº3 (/sdc3 de 30 GB)
4) Partición Linux Data, Nº4 (/sdc4 del resto del espacio del HDD) Puede haber más particiones de este tipo para otros usos específicos.


Así se seguiría numerando particiones si fuera el caso, las cuales en el sistema GPT pueden llegar a ser teóricamente 128. El tamaño de cada partición puede llegar a 9,3 ZB (ZettaByte) también teóricamente, pues por ahora discos duros físicos individuales de tales tamaños no existen a nivel de usuarios comunes. No sé y lo dudo que existan realmente, aunque sean para cualquier otro fin, servidores entre ellos.
Las particiones, desde la 2 inclusive en adelante, conviene que sean luego formateadas con sistema de archivos ext4, aunque lo pueden ser con sistemas ext2 o ext3.
Se ve que es el clásico esquema de particionado para Linux, solo que ahora mucho más moderno al tratarse de discos grandes, arranque EFI, sectores de 4 KB, 64 bit, etc. Se superan de esta manera las limitaciones impuestas por el antiguo sistema de BIOS MBR.


¿Qué tamaño se les dará a cada una de estas particiones?

Datos obtenidos más por experiencia que a través de otras fuentes, entre las cuales se aprecian grandes diferencias. Para empezar la partición de arranque quiero que tenga unos 500 MB, no es raro que a veces tenga hasta 250 MB o más, ocupados con el grub. La partición swap dependerá de la capacidad de la memoria RAM del sistema. Al ser este un sistema de 64 bit (Aclaro: ES MI CASO) debe contar con una buena cantidad de GB de ram (un mínimo de 4 a 6 GB es lo razonable que posea) Por lo tanto se cree habitualmente que es hasta innecesaria la partición “swap”. Pero con 2 GB, que es lo que se va a tomar, es más que suficiente, quizás excesiva. Vale esta cantidad solo para el ejemplo. Por otro lado hay quienes ni siquiera la crean cuando la RAM posee más de 2 GB.
La partición Nº3 es la del “Linux File System” y de acuerdo al número de Ss.Os. que se vayan a instalar en él, así será su tamaño. No está mal tomar unos 10 GB por cada uno, por lo cual en este caso y como ejemplo, se consideran 30 GB, suponiendo que es para dos o hasta tres sistemas operativos Linux diferentes. Se toma en cuenta también que no se instalará ningún sistema Windows, el cual es posible instalar también. Se piden como mínimo unos 6 o 7 GB por sistema operativo, pero contemplando los futuros sistemas que por supuesto habrán de ser mucho mayores, tomamos dicho valor como 10 GB.
Por experiencias propias en la instalación de Ubuntu 12.04 64 bit y aunque al inicio de la misma se pide 4,5 GB de espacio libre, esto no resulta suficiente ya que en una instalación previa en otro disco duro tan solo el Linux File System ha tomado casi 8,2 GB de espacio.
La partición Nº4 es para “Any OS Data” (Linux Data) para la cual se puede tomar el resto del espacio libre del disco duro ya que no se han de crear más particiones.

Pulsando

p + Enter

se obtienen los datos de las particiones ya creadas y del espacio libre sin necesidad de hacer cuentas.

Como este tipo de particionado se lo encara en aquellos casos de discos duros mayores a 2,19 TB, los valores anteriormente tomados pueden ser un poco exagerados, más bien generosos ya que no van a disminuir sensiblemente el espacio del disco duro (de 3 TB o más)
Se verá ahora como funciona esto en la práctica y sus procedimientos.
Luego de haber eliminado la tabla de particiones anterior, si es que existía, se crea la primera partición:
1) Para ello es necesario presionar

n + Enter

Con esto se crea la primera partición y el gdisk habrá de pedir algunos datos que se deben suministrarle, como ser el tamaño que se le dará, que ya se vio que le daremos 500 MB, pero además es necesario introducir el código de tipo de partición que será. El manual de gdisk (el cual se vio como desplegarlo) tiene un listado con todos estos códigos.
Para la partición EFI es EF00 (introducir letras en minúsculas, aquí está en mayúsculas para mejor visualización).
Se agrega entonces 500 MB así:
+500M y el código ef00.
Dar Enter al finalizar para crear la partición sdc1.

Unidades de Tamaño consideradas:
K = KB; M = MB; G = GB; T = TB; P = PB.

Veamos como se ve esto en la Terminal:

Partición EFI:

n + Enter +500M

Command (?for help): n
Partition number (1-128 default 1): 1
First sector (34-XXXXXXXX, default=34) or [+-]size[KMGTP]:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use “L” on the experts menu to adjust alignement
Last sector (2048-xxxxxxxx) or [+-]size[KMGTP]: +500M
Current type is “Linux filesystem”

Pulsando L aparecerá la lista de códigos.
Se entra EF00 para crear la EFI

Hex code or GUID (L to show codes, Enter =8300):ef00
Changed system type of partition to “EFI System”

Sigamos con la partición 2

2) Volver ahora a presionar

n + Enter

para crear la segunda partición, la /swap, a la que como vimos se le dará 2 GB siendo generosos ya que el tamaño del disco duro lo permite. Si no es así, no exagerar.
El código de dicho tipo de partición es 8200. Se crea la partición sdc2.
+2G y el código 8200 + Enter

3) Otra vez y para la partición número 3, dar n + Enter y esta vez su tamaño es de 30 GB y su código de tipo de partición es 8300 + Enter. Es creada sdc3 para archivos de Linux.
+30G y el código 8300

4) Queda por último la 4 (sdc4) que es la de Linux Data de unos 2.964 GB suponiendo que el disco duro es de 3 TB. El código ahora es 0700.
En este punto recordar que p + Enter nos da los datos del disco duro y entre ellos el espacio libre que va quedando.

n + Enter

Entrar los datos en forma similar a como se hizo anteriormente y crear con Enter.

Con esto quedan creadas las cuatro particiones para Linux en un disco de 3 TB el cual posee sectores de 4 KB. No habrá problemas de alineación de los sectores ya que de esto se ocupa el programa particionador y lo hace bien. Existen discos duros de más de 2 TB, de 3 y hasta de 4 TB, que poseen sistema de sectores de 512 B, con los cuales menos hay que preocuparse por dicha alineación.
Para ver si todo está bien creado, se pulsa p + Enter y se desplegará el listado de particiones reciente y sus características.
Para guardar todo basta pulsar

w + Enter

Si el disco ya fue usado anteriormente puede aparecer un pedido de sobrescritura de las particiones pre-existentes. Lo cual se hace y pronto.
Se sale del programa gdisk pulsando

q + Enter.

Previamente al formateado es necesario desmontar las particiones creadas. Para lo cual se hace
sudo umount /dev/sdc + Enter


Formatear Particiones


Resta ahora “Formatear” cada una de las particiones creadas. Se empezará con la partición de arranque EFI la cual deberá ser en vfat.
Se tecleará entonces:

mkfs -t vfat /dev/sdc1

+ Enter

Luego sigue la partición /swap la que es la más demorada de hacerlo y que será formateada como sigue:

mkswap /dev/sdc2

Luego hacer

swapon /dev/sdc2

Para comprobar si esta fue bien creada y reconocida, se procede a hacer lo siguiente dando Enter luego por supuesto:

swapon -s

Si es así, ejecutar:

swapoff -a

Resta formatear las otras dos particiones creadas, lo cual se realiza de la siguiente forma:

mkfs -t ext4 /dev/sdc3

+ Enter

mkfs -t ext4 /dev/sdc4

+ Enter

Para controlar que todo haya quedado bien, presionar
v + Enter

Ya está todo pronto para cargar el sistema operativo Linux que se desee en el disco duro nuevo o en un remozado disco duro ya usado anteriormente. Se procede para cargarlo, como se ha hecho hasta ahora.
Por supuesto que este será el futuro disco de arranque del sistema y donde estará el GRUB, gestor de arranque instalado. Se lo debe configurar así en el BIOS EFI.

Se listan a continuación las principales Órdenes de Gdisk:

Para usarla escribir la letra correspondiente y dar Enter

m = volver al Menú Principal
d = Eliminar partición
n = Crear partición
p = Imprimir en pantalla la Tabla de Particiones
t = Cambiar el Código de una Partición
c = Cambiar el nombre de una partición
b = Backup de los datos GPT a un archivo
i = Mostrar Información detallada de una partición
o = Crear una nueva tabla de particiones
r = Opciones de Recuperación y transformación (recomendable solo expertos)
s = Sort partitions (tipo de partición)
v = Verificar disco
w = Escribir, Guardar Tabla y Salir
x = Funcionalidad extra (recomendable solo expertos)
? = Imprimir este Menú
Como se ve en este listado, las únicas órdenes que se han utilizado en todo el proceso han sido:
d, n, p, t, v y w
y no han sido necesarias otras.

Al llegar a este punto, nadie podrá decir que esto ha sido difícil, largo y trabajoso.
Dando manos a la obra, se verá que es mucho más sencillo de lo que aparenta al leerlo solamente. Para lo cual conviene imprimir el presente desarrollo y tenerlo bien a mano en dicho momento.

Al pretender arrancar el PC es necesario habilitar el sistema EFI desde el sistema “BIOS”. Lo cual se podrá hacer si el disco duro presente que será el de arranque de aquí en adelante, ya fue particionado y posee una partición de arranque EFI.
Si no es así, el sistema BIOS no lo detecta y no lo habilita quedando en este sistema nomás.

Falta ver el listado de Códigos de Partición los cuales también están en el manual de Gdisk.

Pulsando L (en minúscula) + Enter aparecerá una lista de códigos:
(En negrita se presentan los Códigos de Particiones usados en el presente ejemplo)

l + Enter

0700 Linux basic data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8300 Linux filesystem 8301 Linux reserved
8e00 Linux LVM a500 FreeBSD disklabel a501 FreeBSD boot
a502 FreeBSD swap a503 FreeBSD UFS a504 FreeBSD ZFS
a505 FreeBSD Vinum/RAID a800 Apple UFS a901 NetBSD swap
a902 NetBSD FFS a903 NetBSD LFS a904 NetBSD concatenated
a905 NetBSD encrypted a906 NetBSD RAID ab00 Apple boot
af00 Apple HFS/HFS+ af01 Apple RAID af02 Apple RAID offline
af03 Apple label af04 AppleTV recovery be00 Solaris boot
bf00 Solaris root bf01 Solaris /usr & Mac Z bf02 Solaris swap
bf03 Solaris backup bf04 Solaris /var bf05 Solaris /home
bf06 Solaris alternate se bf07 Solaris Reserved 1 bf08 Solaris Reserved 2
bf09 Solaris Reserved 3 bf0a Solaris Reserved 4 bf0b Solaris Reserved 5
c001 HP-UX data c002 HP-UX service ef00 EFI System
ef01 MBR partition scheme ef02 BIOS boot partition fd00 Linux RAID
Como se ve en este listado de códigos, las particiones que se permite crear son para muchos sistemas operativos diferentes, Linux y no Linux, incluidos los sistemas Apple, MS, etc. así como sistemas para crear RAID, etc.



SIGNIFICADO DE CIERTAS SIGLAS UTILIZADAS EN EL PRESENTE TRABAJO:

GUID = Globally Unique Identifier

GPT = GUID Partition Table

EFI = Extensible Firmware Interface (Su origen se dio en Intel)

UEFI = Fundación creada a los efectos de desarrollar y promocionar el sistema EFI (También por Intel)

ZB = ZettaByte (es equivalente a 1021 Bytes)

Para tener una idea del enorme tamaño de 1 ZB se dirá que equivale a 1 mil millones de TB.
Datos archivados del Taringa! original
5puntos
1,521visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

f
franconet🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.