Sunteți pe pagina 1din 4

Un registro de arranque principal, conocido tambin como registro de arranque

maestro (por su nombre en ingls 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 operativocon 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.

Estructura[editar]
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.

MBR y arranque del sistema[editar]


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
registro de arranque maestro. Como los procesadores delmodo 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).

MBR e identificacin de los discos[editar]


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 ncleo 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.

Consideraciones en la programacin[editar]
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 delvolume 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 amodo 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.

Hacer una copia de seguridad del MBR[editar]


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):
dd if=/dev/xxx of=mbr.backup bs=512 count=1
Para restaurarlo:
dd if=mbr.backup of=/dev/xxx bs=512 count=1
Donde xxx es el dispositivo, que puede ser hda, sda, o cualquier otro.
Si se quiere hacer una copia de seguridad del MBR, sera recomendable copiar los
primeros 63 sectores del disco (que equivaldran al primer cilindro del disco) y no slo el
primero, ya que nuestro sistema podra tener implementado el sistema GUID, el cual utiliza
ms sectores para guardar la informacin sobre las particiones del disco duro. La
instruccin sera:
dd if=/dev/xxx of=mbr_63.backup bs=512 count=63
Para borrarlo, si no tenemos una copia de seguridad pero necesitamos eliminar la
informacin de este sector, tenemos que poner los 512 bytes a cero:
dd if=/dev/zero of=/dev/xxx bs=512 count=1
En los sistemas operativos de Microsoft no hay acceso directo al MBR. En DOS o
Windows 9x, el programa de DOS fdisk junto con fdisk /mbr (del que no hay
documentacin) reescribir el cdigo del MBR. En Windows 2000 y posteriores, la consola
de recuperacin puede usarse para escribir el nuevo cdigo del MBR al disco duro. Existen
otras utilidades para editar la tabla de particiones del MBR directamente.

Si se est haciendo un backup del disco duro (lo que en ingls se conoce como ghosting) y
da avisos de que no se encuentra el fichero de paginacin, seguramente se pueda
solucionar con fdisk /fixmbr (ejecutado desde un disquete, ya que no se podr entrar en
Windows).
En DR-DOS 6 (y posiblemente otras versiones), el programa FDISK tiene una opcin para
reescribir el MBR (Re-write Master Boot Record). Cuando se ejecuta con esa opcin se
guarda el antiguo MBR en OLDMBR.BIN, que puede ser copiado en un disquete para que
FDISK intente restaurar el MBR original desde l, en caso de necesidad este tipo de
backups.

S-ar putea să vă placă și