Vous êtes sur la page 1sur 5

Master boot record

De Wikipedia, la enciclopedia libre Saltar a navegacin, bsqueda


Almacenamiento de un master boot record estndar

Direccin

Descripcin

0x0000

rea de cdigo

0x01B8

4 bytes; firma del disco (opcional)

0x01BE

Para entradas en la tabla de particiones primarias de 16 bytes (esquema estndar de la tabla de particiones del MBR)

0x01FE

2 bytes; firma del MBR (0xAA55)

Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de datos, como un disco duro. A veces, se emplea para el arranque del sistema operativo con bootstrap, otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa slo para identificar un dispositivo de disco individual, aunque en algunas mquinas esto ltimo no se usa y es ignorado.

Contenido
[ocultar]
y y y y y y y

1 Estructura 2 MBR y arranque del sistema 3 MBR e identificacin de los discos 4 Consideraciones en la programacin 5 Hacer una copia de seguridad del MBR 6 Vase tambin 7 Referencias

8 Enlaces externos

[editar] Estructura
En la prctica, el MBR casi siempre se refiere al sector de arranque de 512 bytes, o el partition sector de una particin para ordenadores compatibles con IBM PC. Debido a la amplia implementacin de ordenadores PC clnicos, este tipo de MBR se usa mucho, hasta el punto de ser incorporado en otros tipos de ordenador y en nuevos estndares multiplataforma para el particionado y el arranque.
Primer sector fsico del disco (pista cero)

446 bytes

Cdigo mquina (gestor de arranque)

64 bytes

Tabla de particiones (4 registros que definen cada una de las particiones primarias)

2 bytes

Firma de unidad arrancable ("55h AAh" en hexadecimal)

Registro de la tabla de particiones - 16 bytes

Offset

Descripcin

0x00 Estado1

0x01

Cabezal, sector y cilindro del primer sector en la particin2

0x04 Tipo de particin

0x05

Cabezal, Sector y Cilindro del ltimo sector de la particin2

0x08

(4 bytes) Logical block address del primer sector de la particin

0x0C

(4 bytes) Longitud de la particin, en sectores

Registro de particin extendida de IBM

Offset

Descripcin

0x00

Bits de estado1 (bit 0 = lista del men del gestor de arranque, el resto son bits reservados)

0x01

Firma de la particin

Cuando un dispositivo de almacenamiento de datos se ha particionado con un esquema de tabla de particiones del MBR (por ejemplo el esquema convencional de particionado de IBM PC), el MBR contiene las entradas primarias en la tabla de particiones. Las entradas de particiones secundarias se almacenan en registros de particiones extendidas, etiquetas de disco BSD, y particiones de metadatos del Logical Disk Manager que son descritas por esas entradas de particiones primarias. Por convencin, hay exactamente cuatro entradas de particiones primarias en el esquema de la Tabla de Particiones, aunque en algunos sistemas (pocos) se ha extendido ese nmero a cinco u ocho.3 Cuando un dispositivo de almacenamiento de datos se ha particionado con Tabla de Particiones GUID, el Master Boot Record no contiene la tabla de particiones (aunque contiene modelos de estructuras de datos, una proteccin del MBR frente a programas que slo entienden el esquema de la Tabla de Particiones del MBR para que no creen particiones en el disco) y se usa poco debido a lo que puede afectar al particionado de disco.

[editar] MBR y arranque del sistema

En los ordenadores compatibles IBM IA-32 que usan el esquema de la Tabla de Particiones del MBR, el firmware para el arranque (bootstrapping) que se encuentra en la memoria de solo lectura del BIOS (actualmente usan memorias flash) carga y ejecuta el master boot record. Como los procesadores del modo real, el cdigo del MBR est compuesto de instrucciones de lenguaje mquina en modo real. Ese cdigo pasa, normalmente, el control mediante chain loading al volume boot record de la particin (primaria) activa, aunque algunos gestores de arranque reemplazan ese cdigo convencional por el suyo. El cdigo convencional del MBR espera que se use el esquema de la tabla de particiones del MBR, y escanea la lista de entradas de particiones (primarias) en la tabla de particiones buscando una que est marcada con active flag. Luego carga y ejecuta el Volume Boot Record para esa particin (as que el master boot record, como otros sectores de arranque, es un blanco para los virus que infectan el sector de arranque). El cdigo del MBR, modificado por algunos gestores de arranque, puede realizar una serie de tareas que son distintas segn el gestor de arranque. Por ejemplo, en algunos gestores, ese cdigo carga el resto del cdigo del gestor de arranque desde la primera pista del disco (que es espacio libre no asignado a ninguna particin de disco) y lo ejecuta. En otros, usa una tabla de posiciones de disco, que se encuentra en el mismo espacio que el cdigo, para localizar el cdigo del resto del gestor de arranque y poder cargarlo y ejecutarlo. Ambas formas tienen problemas. La primera confa en el comportamiento (que no es el mismo en todas) de las utilidades de particionado de disco y la segunda requiere que la tabla de posiciones de disco se actualice una vez se hayan hecho los cambios para localizar el resto del cdigo. En los ordenadores que no usan procesadores IA-32, o en ordenadores que usan el esquema de la Tabla de Particiones GUID, ese esquema no es correcto, y el MBR no se utiliza en el arranque del sistema. En su lugar el firmware es capaz de entender directamente el esquema de particionado GPT y el formato de sistema de ficheros FAT, de modo que carga y ejecuta programas guardados como ficheros en la Particin del Sistema. El MBR, por tanto, no interviene en absoluto en el arranque del sistema (excepto indirectamente, en la medida en que podra contener la tabla de particiones si se ha usado el esquema de la Tabla de Particiones del MBR).

[editar] MBR e identificacin de los discos


Adems del cdigo del arranque y la tabla de particiones, hay un tercer campo que puede estar contenido en un MBR: la firma del disco (de Windows NT). Tiene 32 bits para identificar inequvocamente el hardware de disco (no confundir con la unidad de disco no tienen por qu ser lo mismo en discos duros extrables). La firma del disco fue introducida por Windows NT 3.5, pero actualmente la usan varios sistemas operativos, incluida las versiones de la 2.6 en adelante del kernel Linux. Windows NT usa la firma del disco como un ndice en su registro, donde guarda la relacin entre particiones y letras de disco. Tambin lo usa en el fichero boot.ini para indicar las

particiones con marca bootable en Windows NT.4 GNU/Linux usa la firma del disco al arrancar para determinar la posicin del volumen de arranque.

[editar] Consideraciones en la programacin


Se asume que el sistema que se est programando usa un esquema MBR para BIOS, como se ha indicado antes, y la BIOS del sistema localiza un MBR vlido en un disco particionado durante la secuencia de arranque (boot sequence). Como se ha visto antes, el cdigo convencional del MBR carga y ejecuta el cdigo del Volume Boot Record del sistema operativo (o bootloader) que se encuentra al principio de la particin activa. El MBR puede asumir simplemente que la particin activa del disco actual es desde la que se arranca o, alternativamente, puede programarse como un MBR de arranque dual. Un MBR de arranque dual debe interactuar con el usuario para determinar desde qu particin de disco se arranca y tiene que pasarle el control al MBR de otro disco duro. La BIOS cargar el primer MBR vlido que encuentre hacia la direccin fsica hexadecimal 0x7C00, y salta a esa direccin. Parte de los 512 bytes del sector se reserva para la tabla de particiones y otra informacin (ver la tabla), as que el cdigo del programa debe ser tan pequeo como para caber en poco ms de 400 bytes de memoria. El cdigo debe comunicarse con el usuario, examinar la tabla de particiones, o realizar tareas de gestin como activar la lnea A20, o cambiar a modo irreal desde modo real. Eventualmente, el MBR necesitar realizar su tarea y cargar el programa que har la siguiente fase del arranque, usando la llamada de la BIOS INT 13. Normalmente, el cdigo del sector de arranque tambin espera ser cargado de la direccin fsica 0x7C00, incluso cuando toda la memoria de las direcciones fsicas entre la 0x500 y la 0x9ffff est disponible en modo real (637 Kb y medio). Cuando el MBR ya se est ejecutando desde la posicin 0x7C00, una de sus primeras tareas normalmente es reubicarse en otro lugar de la memoria -- a menudo en la 0x7A00. Un Volume Boot Record tiene solamente el tamao de un sector, lo cual no es un problema pues es fcil que el MBR cargue bastante ms que slo un sector. Algunos gestores de arranque son ms grandes que un sector, as que cargar ms de un sector puede acelerar el proceso de arranque.

[editar] Hacer una copia de seguridad del MBR


En UNIX y GNU/Linux se puede usar el comando dd para hacer un backup y restaurar el MBR desde una consola. Para hacer la copia de seguridad (backup):

Vous aimerez peut-être aussi