top of page

Reconstruir una tabla de partición.

Parte 1

Master+Boot+Record+(MBR).jpg
invalid partition.jpg

Una tabla de partición delimita el inicio y final que va a ser usado en un disco duro, todos los sistemas operativos necesitan estos valores para el acceso que se va a tener en el espacio del disco duro, si vamos a tener todo el disco, sólo una parte o en varias partes. Tenemos un limite de 4 particiones primarias, pero dentro de estas podemos tener varias particiones lógicas. La posición de inicio de la tabla de partición son las coordenadas 1B0 columna E.

   El hacer un mantenimiento o una recuperación de un disco duro es trabajo muy especializado que sólo expertos pueden hacer, esto es hacer ciencia, donde ciencia se define como un conjunto de conocimientos ordenados y sistematizados que nos conducen a la verdad.

 

  La reconstrucción de la tabla de partición es un asunto que no cualquier Ingeniero de Soporte Técnico puede realizar, de hecho, sólo personal especializado puede tener acceso a estas partes de los discos duros y tiene que contar con un programa que le permita editar y trabajar a nivel de bytes directamente sobre la posición de cilindro 0, cabeza 0, sector 1 que es la posición física que el BIOS o el UEFI buscan cuando se genera la INT19 inmediatamente después de terminar las pruebas POST y las pruebas SMART.

 El primer valor que busca la INT19 es el AA55 que se encuentra en la posición 1F0 columna E, si lo encuentra entonces seguirá la lectura de las tablas de partición que estaría la ultima  partición (partición 1) en 1B0 columna 0E, si observa este valor en el gráfico está en 00, eso quiere decir que esta partición no es Booteable, y si observa toda esa columna está en ceros, lo que indica claramente que no iniciará el disco, sin embargo, la estructura de las particiones está completa, para que un disco duro sea booteable necesita que alguno de estos valores indique el valor 80, el cual indica que arrancara por esa partición, la cual te conectará con el inicio del sistema operativo, según indique en que cabeza, sector y cilindro se encuentre el inicio, pero eso no es todo, una vez que tenemos indicado el inicio este deberá de tener completo el llamado VBS (Volumen Boot Sector) que básicamente tiene una copia de la tabla de partición y de aquí podemos obtener una serie de valores para la reconstrucción de la tabla de partición, si este sector también se encuentre dañado tenemos la oportunidad de obtenerlo del final del disco que cuando se hace el formateo se genera un respaldo en el último sector del disco, esta técnica es muy especializada y no se debe de intentar por alguien con conocimiento escaso, porque en lugar de recuperar puede agravar más el problema. Existen programas como el Partition Table Doctor que es muy limitado y cuando se usa sólo complica más el rescate por parte de un profesional, existe otro programa que por favor no lo use, se llama, HDD Regenerator, este programa, aparte de tratar de regenerar las tablas de partición escribirá sobre la zona de ingeniería de disco cambiando los algoritmos originales y adaptativos de ese disco duro, volviendo en sí un caso irrecuperable.

 Volvamos al tema, la tabla de partición como ya lo habíamos dicho, delimita de donde a donde tendremos acceso, en este caso, vamos a explicar la primera partición. Nos situamos en la intersección 1B0 columna 0F, en donde  nos indica un valor 01, este valor indica la cabeza de inicio, después nos indica la intersección 1C0, columna 00 otro valor 01, esta posición nos indica el sector de inicio, sigue otro valor a este, que es 00, este nos indica el cilindro de inicio, después viene un valor 07, este es el valor de partición NTFS, con lo cual levantará a memoria el driver para poder comunicarse con una partición NTFS, sigue un valor FE, el cual nos muestra en valores hexadecimales que el disco tiene 255 cabezas, nos brincamos dos posiciones adelante indicando 3F donde si lo convertimos a decimal me indica que tiene 63 sectores, después vienen cuatro valores indicandos cuanto mide la partición en sectores totales de LBA, si alguno de estos valores llega a dañarse será imposible la comunicación al disco duro (en forma lógica).

   Una vez comprendido este artículo explicare el algoritmo para calcular una tabla de partición en la parte 2.

bottom of page