El registro de arranque maestro ( eng. master boot record, MBR ) es el código y los datos necesarios para el arranque posterior del sistema operativo y se encuentra en los primeros sectores físicos (la mayoría de las veces en el primero) en un disco duro u otro dispositivo de almacenamiento. . Usado desde 1983 (comenzando con PC DOS 2.0) hasta la adopción generalizada de UEFI y el esquema GPT en la década de 2010.
El MBR contiene una pequeña pieza de código ejecutable , una tabla de particiones de disco y una firma especial .
La función MBR es una "transición" a esa sección del disco duro desde la cual se debe ejecutar "código adicional" (generalmente para iniciar el sistema operativo). En la "etapa MBR", se selecciona una partición de disco, se carga el código del sistema operativo (ocurre en etapas posteriores del algoritmo).
En el proceso de iniciar la computadora después del final de la prueba inicial ( Autoprueba de encendido - POST), el Sistema básico de entrada / salida (BIOS) carga el "código MBR" en la RAM (en la PC IBM , generalmente desde dirección 0000: 7c00) y transfiere el control al que está en el código de arranque MBR.
Durante el proceso de arranque de una computadora x86 , el BIOS siempre se procesa primero . En esta etapa, además de probar e inicializar el hardware de la computadora, también se puede elegir el dispositivo desde el cual se realizará la carga adicional. Puede ser un disquete, un disco duro, un recurso de red, una ROM integrada o cualquier otro dispositivo (el algoritmo de selección del dispositivo de arranque puede ser diferente y depende de la implementación del BIOS). Después de seleccionar un dispositivo de inicio, el BIOS transfiere completamente el control de todas las cargas adicionales a este dispositivo.
En caso de que el dispositivo tenga una sola partición (como un disquete o arranque de red, por ejemplo), la elección es clara y el arranque continúa inmediatamente desde ese dispositivo. Sin embargo, si el dispositivo contiene varias particiones, cada una de las cuales puede ser potencialmente arrancable (como, por ejemplo, en el caso de los discos duros), entonces hay incertidumbre: desde qué partición arrancar. Para resolver la ambigüedad con respecto a la elección de la partición, se propuso eliminar este problema de la jurisdicción del BIOS y transferir esta elección al propio dispositivo. Surgió la idea de utilizar para ello un pequeño programa grabado en el propio medio, que haría esta elección. Así nació el concepto MBR.
Por lo tanto, la presencia potencial de varias particiones de arranque, entre las cuales es necesario elegir, es un punto clave en la necesidad de aparición y desarrollo del MBR. Para dispositivos con una partición de arranque única (o única), el concepto MBR no tiene sentido y no se utiliza.
A veces, en el MBR, además de la función principal (selección de partición), también se incluyen otras funciones, por ejemplo, autorización. Pero esto ya es una extensión y adición a la función y tarea principal del MBR. Estos sistemas no se utilizan mucho.
Debido al hecho de que otros sistemas utilizan diferentes soluciones arquitectónicas (desde la activación del hardware hasta el inicio del sistema operativo), es posible que el concepto de MBR no se aplique a ellos.
No existe un estándar aprobado para la estructura del MBR; sin embargo, existen "tradiciones establecidas" a las que se adhieren la mayoría de los MBR de diferentes fabricantes.
El formato MBR más común es el de Windows . El registro de inicio comienza con el nombre del sistema de archivos actual (por ejemplo, FAT32 o NTFS ). Lo siguiente contiene información sobre las cuatro particiones del disco , un enlace al gestor de arranque y la firma 0x55AAh. Si no hay un cargador de arranque, por ejemplo, en Windows XP , se muestra el mensaje "Falta NTLDR / está comprimido" (dependiendo de la situación, el cargador de arranque se elimina o se comprime). "Presiona CTRL Alt Del para reiniciar." Además, si el disco es ilegible, aparecerá el mensaje “Se produjo un error de lectura del disco. Presiona CTRL Alt Del para reiniciar". Según el tipo de cargador de arranque, se emiten diferentes mensajes.
Los cargadores de arranque que no sean los cargadores de arranque estándar de Windows pueden usar todo el espacio entre el MBR y la primera partición (alrededor de 32 kB; sectores 1 a 62) para sus propios fines. En tales casos, el MBR se entiende como el código de arranque completo y, para resaltar los primeros 512 bytes, dicen que están ubicados en el MBS (Master Boot Sector), el sector de arranque principal.
Para los sistemas operativos de Microsoft , los conceptos de MBR y MBS son los mismos, ya que todo el MBR está contenido en el MBS, aunque esto no es del todo correcto, ya que MBR significa datos y MBS significa sector físico.
Seleccionar una partición de arranque y verificar la integridad del MBR:
El sector de arranque depende del tipo de sistema de archivos en la partición lógica del disco y contiene código que encuentra y carga el sistema operativo real en este tipo de sistema de archivos.
Parcialidad | Longitud, bytes | Descripción | |
---|---|---|---|
0000h | 446 | Código del cargador | |
01BEh | dieciséis | Sección 1 | tabla de particiones |
01CEh | dieciséis | Sección 2 | |
01DEh | dieciséis | Seccion 3 | |
01EEh | dieciséis | Sección 4 | |
01FEh | 2 | Firma (55h AAh) |
Una vez que se completa el procedimiento POST , el código del cargador de arranque se escribe en la RAM en la dirección física 0x7C00 (los primeros 446 bytes del sector cero del disco), después de lo cual se le transfiere el control. La tarea de este código es analizar la tabla de particiones del disco duro y luego transferir el control al segundo código de arranque, que puede ubicarse al comienzo de la partición activa o en un área especial del disco ( esta área no está ocupada por sistemas de archivos y generalmente es un grupo de sectores # 1-# 62, las particiones en un disco generalmente comienzan en el sector # 63). El segundo cargador ya sabe cómo leer al menos un sistema de archivos y su tarea es transferir el control a los archivos desde el sistema de archivos del sistema operativo para iniciar el sistema operativo.
Ejemplos:
La tabla de particiones almacena información sobre el tipo de partición y su ubicación en el disco duro.
Los dos últimos bytes del MBR se denominan firma. El valor de estos bytes será de 55h AAh. Si este no es el caso, la entrada se considera inválida.
Parcialidad | Longitud | Descripción |
---|---|---|
00h | una | Indicador de actividad de la sección |
01h | una | Comienzo de la sección - cabeza |
02h | una | Inicio de sección - Sector (bits 0-5), Cilindro (bits 6, 7) |
03h | una | El comienzo de la sección es un cilindro (los bits altos 8, 9 se almacenan en el byte del número de sector) |
04h | una | Código de tipo de sección |
05h | una | Fin de sección - cabeza |
06h | una | Fin de sección - Sector (bits 0-5), Cilindro (bits 6, 7) |
07h | una | Fin de sección - cilindro (los bits altos 8, 9 se almacenan en el byte de número de sector) |
08h | cuatro | Compensación del primer sector |
0 canales | cuatro | Número de sectores de partición |
El indicador de actividad de la partición indica si es posible iniciar el sistema operativo desde esta partición. Para cargadores estándar, puede tomar los siguientes valores:
Coordenadas de inicio y final de sección en formato CHS (cilindro, cabeza, sector). CHS no permite direccionar más de 7,8 GB de datos, y el direccionamiento LBA se utiliza para direccionar particiones de más de 7,8 GB .
Código del sistema de archivos utilizado en esta partición.
El código | tipo de partición |
---|---|
00h | Entrada vacía (espacio libre) |
01h | FAT-12 (si es una partición lógica o la partición está ubicada en los primeros 32 megas del disco, de lo contrario se usa el código 06h) |
02h | Raíz XENIX |
03h | usuario xenix |
04h | FAT-16 hasta 32 MB (si la partición es primaria, entonces debe estar en los primeros 32 MB físicos del disco, de lo contrario se usa el código 06h) |
05h | Sección extendida |
06h | FAT-16B, así como FAT-16, no sujeto al código 04h y FAT-12, no sujeto al código 01h |
07h | IFS, HPFS, NTFS , exFAT (y algunos otros; el tipo está determinado por el contenido del registro de arranque) |
08h | AIX |
09h | AIX arrancable |
0 Ah | Administrador de arranque OS/2, OPUS |
0bh | FAT-32 |
0 canales | FAT-32X (FAT-32 con LBA) |
0Dh | Reservado |
0eh | FAT-16X (FAT-16 con LBA) (VFAT) |
0Fh | Sección LBA extendida (igual que 05h, usando LBA) [2] |
10h | OPUS |
11h | FAT oculta (similar al código 01h) |
12h | Compaq, Sección de Servicio |
14h | FAT oculta (similar al código 04h) |
15h | Partición extendida oculta (similar al código 05h) |
16h | FAT oculta (similar al código 06h) |
17h | Partición oculta HPFS/NTFS/IFS/exFAT |
18h | Sueño inteligente AST |
19h | OFS1 |
1Bh | Partición oculta FAT-32 (ver 0Bh) |
1 canal | Partición oculta FAT-32X (ver 0Ch) |
1eh | Partición oculta FAT-16X (VFAT) (Ver 0Eh) |
1Fh | Partición LBA extendida oculta (ver 0Fh) |
20h | OFS1 |
21h | FSo2 |
22h | Partición extendida FS02 |
24h | NEC DOS |
25h | IMGFS de Windows Mobile |
27h | NTFS oculto (partición de recuperación del sistema) |
28h | Reservado para FAT-16+ |
29h | Reservado para FAT-32+ |
2ah | AFS (AthFS) |
35h | JFS |
38h | TEÓS 3.2 |
39h | Plano 9 |
3ah | TEÓS 4 |
3bh | Sección extendida THEOS 4 |
3ch | Magia de partición, NetWare |
3Dh | Partición oculta de NetWare |
40h | Venix 80286, PICK R83 |
41h | Arranque antiguo Linux/Minix, PPC PReP |
42h | Antiguo intercambio de Linux, SFS, partición en un disco dinámico en Windows (disco dinámico) |
43h | viejo linux |
4ah | ALFS |
4 canales | A2 (Aos) |
4Dh | QNX4.x |
4eh | QNX4.x 2da parte |
4Fh | QNX4.x 3ra parte |
50h | OnTrack DM (solo lectura) |
51h | OnTrack DM6 (lectura y escritura) |
52h | PC/M |
53h | OnTrack DM6 Aux3 |
54h | OnTrack DM6 DDO |
55h | unidad EZ |
56h | lazo dorado |
56h | Novell VNDI |
5ch | Príamo Edisk |
61h | SpeedStor |
62h | GNU HURD |
63h | UNIX |
64h - 69h | NetWare |
77h | VNDI, M2FS, M2CS |
78h | XOSL |
7Fh | Este código está reservado para proyectos de investigación o educativos. |
80h | MINIX (antiguo) |
81h | MINIX |
82h | Intercambio de Linux, Sun Solaris (antiguo) |
83h | linux |
85h | Linux extendido (extendido) |
86h | Partición FAT-16 de una matriz de bandas de Windows NT |
87h | Partición NTFS/HPFS de una matriz de bandas de Windows NT |
8eh | partición LVM |
93h | Amoeba, Linux oculto (ver código 83h) |
94h | Ameba BBT |
94h | ISO-9660 |
9eh | ForthOS |
A5h | sección de hibernación |
A5h | NetBSD (antiguo), FreeBSD, BSD/386 |
A6h | OpenBSD |
A7h | Próximo paso |
A8h | Apple Darwin, Mac OS X UFS |
A9h | NetBSD |
AFh | Mac OS X HFS y HFS+, ShangOS |
B1h | QNX6.x |
B2h | QNX6.x |
B3h | QNX6.x |
B6h | Partición maestra duplicada FAT-16 de Windows NT |
B7h | Partición maestra de Windows NT NTFS/HPFS reflejada |
beh | Solaris 8 arrancable |
bff | Solaris |
C2h | linux oculto |
C3h | Intercambio oculto de Linux |
C6h | Partición esclava duplicada de Windows NT FAT-16 |
C7h | Partición esclava duplicada de Windows NT NTFS |
CDh | Volcado de memoria |
D8h | CP/M-86 |
DAh | Los datos no son un sistema de archivos |
DBH | CP/M-86 |
DDh | Volcado de memoria oculta |
DEH | Utilidad de Dell |
EBh | novios |
ECH | Sky OS |
EDh | GPT híbrido |
EEh | GPT |
EFh | Partición del sistema UEFI |
F7h | EFAT, estado sólido |
VMFS | |
FCH | Cambiar VMFS |
feh | Paso de LAN, PS/2 IML |
FFh | XENIX BBT |
En caso de que se utilice una partición extendida, las coordenadas del inicio de la partición apuntan a EBR .
Parcialidad | Longitud | Descripción |
---|---|---|
1BEh | dieciséis | Puntero de sección |
1CEh | dieciséis | Puntero al próximo EBR |
1DEh | 32 | No utilizado (debe rellenarse con ceros) [3] |
1FEh | 2 | Firma (55h AAh) |
El formato del puntero es similar a MBR.
Coordenadas de inicio de sección en coordenadas LBA. Permite direccionar hasta 2 TB de datos.
Si el MBR se perdió de alguna manera, se puede restaurar con utilidades especiales (por ejemplo, TestDisk ), que "verán" todo el medio de almacenamiento y crearán una tabla de particiones.
Un código de ejemplo para crear una copia de seguridad MBR en sistemas tipo Unix para un disco sda:
dd if=/dev/sda of=mbr.bin bs=512 cuenta=1Restauración del gestor de arranque y la tabla de particiones:
dd if=mbr.bin of=/dev/sda bs=512 cuenta=1Restaurando solo el gestor de arranque:
dd if=mbr.bin of=/dev/sda bs=446 cuenta=1de los sistemas operativos | Aspectos|||||
---|---|---|---|---|---|
| |||||
Tipos |
| ||||
Núcleo |
| ||||
Gestión de procesos |
| ||||
Gestión y direccionamiento de memoria | |||||
Herramientas de carga e inicialización | |||||
caparazón | |||||
Otro | |||||
Categoría Wikimedia Commons Wikilibros Wikcionario |