viernes, 27 de noviembre de 2020

Serie: Cuadernos forenses - GPT

Ya se ha hablado aquí de la MBR, Master Boot Record, y se ha comentado que su estructura limita el espacio de cada una de las particiones declaradas en la misma a 2 TB.

Tamaño suficiente, ¿no?

Pues tal y como expuse en mi último post, hay veces en la que 2 TB no es suficiente y se necesita un poco más de espacio.

Una posible solución para poder hacer esto es sustituir la MBR por la GPT, tabla de particiones GUID o GUID table partition

-----------------------------------------------------------------------------------------------------------------------------------------------------------

NOTA: GPT es parte del estándar: Unified Extensible Firmware Interface (UEFI), que es una especificación que define la interfaz entre el firmware y los sistemas operativos durante el proceso de arranque.

Fue propuesto por Intel para reemplazar la vieja BIOS del PC, heredada del PC IBM original, es decir, la GPT sustituye al Master Boot Record (MBR) usado por BIOS.

-----------------------------------------------------------------------------------------------------------------------------------------------------------

Pero, ¿cuál es la estructura de la GPT?

GPT usa un modo de direccionamiento lógico por bloques, LBA (logical block addressing / direccionamiento de bloque lógico)  en vez del que utiliza la MBR: CHS (Cilindro-Cabeza-Sector / cylinder-head-sector)

Estos bloques lógicos como mínimo pueden ser de 512 bytes por sector para mantener una compatibilidad hacia atrás. Otros valores pueden ser: 1024, 2048, 4096 bytes o más.

Los bloques se encuentran numerados basándose en un índice que va de 0 a 34,  y de -34 a -1, siendo su estructura a grandes rangos de la siguiente:

1.       LBA 0 o Protective MBR 

2.       LBA 1 o Primary GPT Header.

3.       LBA 2 a 33

4.       LBA 34 o Particiones

5.       LBA -33 a -1Tabla de partición GUID secundaria:.

Visualmente.


El bloque número 0,  contiene una MBR para permitir que el firmware que no detecta GPT pueda detectar el disco. Es más, dicha MBR tiene definida una sola partición de tipo: 0xEE (GPT), por lo que las BIOS antiguas detectaran el disco y la partición aunque la presentarán como inaccesible. Por el contrarío nuestra “BIOS” de tipo EFI/UEFI ignorará la MBR.

Es en definitiva, una manera de garantizar la compatibilidad con los sistemas de arranque basados en BIOS y por tanto en MBR.

El bloque número 1, se conoce como: Cabecera de tabla de particiones o Primary GPT Header, y su estructura es como sigue.

 

 

De la estructura anterior cabe destacar:

 

1.- El CRC32, dicha suma de verificación garantiza la integridad de la cabecera GPT, ya que permiten detectar los sectores defectuosos que la dañan, entre otras cosas.

 

Del byte 16 al 20.

 ----------------------------------------------------------------------------------------------------------------------------------------------------------

NOTA: Las suma de verificación CRC32 es generada automáticamente para la cabecera y las entradas de partición, y  son verificadas por el firmware, el gestor de arranque o el sistema operativo.

-----------------------------------------------------------------------------------------------------------------------------------------------------------

 

2.- La localización de la copia de seguridad de esta misma estructura.

 

Del byte 32 al 40

 

3.- La identificación unívoca del disco duro.

 

Del byte 56 al 72

 

4.- El número y el tamaño de las entradas de las particiones que conforman la tabla de particiones

Del byte 80 al byte 92

Los bloques del número 2 al 33, contienen cada uno la siguiente estructura, que define el tipo de partición y su ubicación en el disco, en términos de LBA.

Como se puede ver cada partición tendrá un identificador unívoco definido desde el byte 16 al byte 32.


El bloque número 34, como se ha visto y se puede intuir, contiene las distintas particiones enumeradas en el GPT y los valiosos datos del usuario/s.

Los bloques del número -33 al -1, contienen la copia de seguridad comentada anteriormente.


Ahora que sabemos un poco más sobre GPT, podemos comparar la estructura de la MBR y de GPT, por supuesto, de manera visual.
 
 
En cualquier caso…  

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.