b'\n_START_ARTICLE_\nRegistro de arranque principal\n_START_SECTION_\nMBR y arranque del sistema\n_START_PARAGRAPH_\nEn 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 del modo real, el c\xc3\xb3digo del MBR est\xc3\xa1 compuesto de instrucciones de lenguaje m\xc3\xa1quina en modo real. Ese c\xc3\xb3digo pasa, normalmente, el control mediante chain loading al volume boot record de la partici\xc3\xb3n (primaria) activa, aunque algunos gestores de arranque reemplazan ese c\xc3\xb3digo convencional por el suyo. _NEWLINE_El c\xc3\xb3digo 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\xc3\xa9 marcada con active flag. Luego carga y ejecuta el Volume Boot Record para esa partici\xc3\xb3n (as\xc3\xad que el master boot record, como otros sectores de arranque, es un blanco para los virus que infectan el sector de arranque)._NEWLINE_El c\xc3\xb3digo del MBR, modificado por algunos gestores de arranque, puede realizar una serie de tareas que son distintas seg\xc3\xban el gestor de arranque. Por ejemplo, en algunos gestores, ese c\xc3\xb3digo carga el resto del c\xc3\xb3digo del gestor de arranque desde la primera pista del disco (que es espacio libre no asignado a ninguna partici\xc3\xb3n de disco) y lo ejecuta. En otros, usa una tabla de posiciones de disco, que se encuentra en el mismo espacio que el c\xc3\xb3digo, para localizar el c\xc3\xb3digo del resto del gestor de arranque y poder cargarlo y ejecutarlo. Ambas formas tienen problemas. La primera conf\xc3\xada 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 c\xc3\xb3digo._NEWLINE_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 Partici\xc3\xb3n del Sistema. El MBR, por tanto, no interviene en absoluto en el arranque del sistema (excepto indirectamente, en la medida en que podr\xc3\xada contener la tabla de particiones si se ha usado el esquema de la Tabla de Particiones del MBR).\n_START_SECTION_\nMBR e identificaci\xc3\xb3n de los discos\n_START_PARAGRAPH_\nAdem\xc3\xa1s del c\xc3\xb3digo 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 inequ\xc3\xadvocamente el hardware de disco (no confundir con la unidad de disco \xe2\x80\x94 no tienen por qu\xc3\xa9 ser lo mismo en discos duros extra\xc3\xadbles). _NEWLINE_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 n\xc3\xbacleo Linux. Windows NT usa la firma del disco como un \xc3\xadndice en su registro, donde guarda la relaci\xc3\xb3n entre particiones y letras de disco. Tambi\xc3\xa9n lo usa en el fichero boot.ini para indicar las particiones con marca arrancable en Windows NT.\xe2\x80\x8b GNU/Linux usa la firma del disco al arrancar para determinar la posici\xc3\xb3n del volumen de arranque.\n_START_SECTION_\nConsideraciones en la programaci\xc3\xb3n\n_START_PARAGRAPH_\nSe asume que el sistema que se est\xc3\xa1 programando usa un esquema MBR para BIOS, como se ha indicado antes, y la BIOS del sistema localiza un MBR v\xc3\xa1lido en un disco particionado durante la secuencia de arranque (boot sequence). Como se ha visto antes, el c\xc3\xb3digo convencional del MBR carga y ejecuta el c\xc3\xb3digo del volume boot record del sistema operativo (o bootloader) que se encuentra al principio de la partici\xc3\xb3n activa. El MBR puede asumir simplemente que la partici\xc3\xb3n 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\xc3\xa9 partici\xc3\xb3n de disco se arranca y tiene que pasarle el control al MBR de otro disco duro._NEWLINE_La BIOS cargar\xc3\xa1 el primer MBR v\xc3\xa1lido que encuentre hacia la direcci\xc3\xb3n f\xc3\xadsica hexadecimal 0x7C00, y salta a esa direcci\xc3\xb3n. Parte de los 512 bytes del sector se reserva para la tabla de particiones y otra informaci\xc3\xb3n (ver la tabla), as\xc3\xad que el c\xc3\xb3digo del programa debe ser tan peque\xc3\xb1o como para caber en poco m\xc3\xa1s de 400 bytes de memoria. El c\xc3\xb3digo debe comunicarse con el usuario, examinar la tabla de particiones, o realizar tareas de gesti\xc3\xb3n como activar la l\xc3\xadnea A20, o cambiar a modo irreal desde modo real. Eventualmente, el MBR necesitar\xc3\xa1 realizar su tarea y cargar el programa que har\xc3\xa1 la siguiente fase del arranque, usando la llamada de la BIOS INT 13._NEWLINE_Normalmente, el c\xc3\xb3digo del sector de arranque tambi\xc3\xa9n espera ser cargado de la direcci\xc3\xb3n f\xc3\xadsica 0x7C00, incluso cuando toda la memoria de las direcciones f\xc3\xadsicas entre la 0x500 y la 0x9ffff est\xc3\xa1 disponible en modo real (637 Kb y medio). Cuando el MBR ya se est\xc3\xa1 ejecutando desde la posici\xc3\xb3n 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 tama\xc3\xb1o de un sector, lo cual no es un problema pues es f\xc3\xa1cil que el MBR cargue bastante m\xc3\xa1s que s\xc3\xb3lo un sector. Algunos gestores de arranque son m\xc3\xa1s grandes que un sector, as\xc3\xad que cargar m\xc3\xa1s de un sector puede acelerar el proceso de arranque.\n_START_SECTION_\nHacer una copia de seguridad del MBR\n_START_PARAGRAPH_\nEn UNIX y GNU/Linux se puede usar el comando dd para hacer un backup y restaurar el MBR desde una consola._NEWLINE_Para hacer la copia de seguridad (backup):_NEWLINE_dd if=/dev/xxx of=mbr.backup bs=512 count=1_NEWLINE_Para restaurarlo:_NEWLINE_dd if=mbr.backup of=/dev/xxx bs=512 count=1_NEWLINE_Donde xxx es el dispositivo, que puede ser hda, sda, o cualquier otro._NEWLINE_Si se quiere hacer una copia de seguridad del MBR, ser\xc3\xada recomendable copiar los primeros 63 sectores del disco (que equivaldr\xc3\xadan al primer cilindro del disco) y no s\xc3\xb3lo el primero, ya que nuestro sistema podr\xc3\xada tener implementado el sistema GUID, el cual utiliza m\xc3\xa1s sectores para guardar la informaci\xc3\xb3n sobre las particiones del disco duro. La instrucci\xc3\xb3n ser\xc3\xada:_NEWLINE_dd if=/dev/xxx of=mbr_63.backup bs=512 count=63 _NEWLINE_Para borrarlo, si no tenemos una copia de seguridad pero necesitamos eliminar la informaci\xc3\xb3n de este sector, tenemos que poner los 512 bytes a cero:_NEWLINE_dd if=/dev/zero of=/dev/xxx bs=512 count=1_NEWLINE_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 documentaci\xc3\xb3n) reescribir\xc3\xa1 el c\xc3\xb3digo del MBR. En Windows 2000 y posteriores, la consola de recuperaci\xc3\xb3n puede usarse para escribir el nuevo c\xc3\xb3digo del MBR al disco duro. Existen otras utilidades para editar la tabla de particiones del MBR directamente. _NEWLINE_Si se est\xc3\xa1 haciendo un backup del disco duro (lo que en ingl\xc3\xa9s se conoce como ghosting) y da avisos de que no se encuentra el fichero de paginaci\xc3\xb3n, seguramente se pueda solucionar con fdisk /fixmbr (ejecutado desde un disquete, ya que no se podr\xc3\xa1 entrar en Windows)._NEWLINE_En DR-DOS 6 (y posiblemente otras versiones), el programa FDISK tiene una opci\xc3\xb3n para reescribir el MBR (\xe2\x80\x9cRe-write Master Boot Record\xe2\x80\x9d). Cuando se ejecuta con esa opci\xc3\xb3n se guarda el antiguo MBR en OLDMBR.BIN, que puede ser copiado en un disquete para que FDISK intente restaurar el MBR original desde \xc3\xa9l, en caso de necesidad este tipo de backups.'