Registro de arranque principal para niños
Un Registro de Arranque Principal, conocido como MBR (por sus siglas en inglés Master Boot Record), es una parte muy importante de un disco duro o de cualquier otro dispositivo de almacenamiento. Imagina que es como el primer sector de un libro, donde se guarda la información clave para saber cómo está organizado el resto del libro.
El MBR tiene varias funciones:
- Ayuda a iniciar el sistema operativo de tu computadora, como Windows o Linux.
- Guarda una tabla de particiones, que es como un mapa que le dice a la computadora cómo está dividido el disco duro en diferentes secciones (particiones).
- A veces, sirve para identificar cada disco duro de forma única.
En los discos duros más antiguos, como los que usaban el sistema DOS, se podían tener varias particiones. Por ejemplo, tres particiones principales y una extendida, o hasta cuatro particiones principales. Solo una de estas particiones se marcaba como "activa" para que el sistema operativo pudiera arrancar desde ella.
Contenido
¿Cómo está organizado el MBR?
El MBR es un sector muy pequeño, de solo 512 bytes. Es como un mini-programa que se carga al encender la computadora. Este tipo de MBR es muy común, especialmente en computadoras compatibles con IBM PC, y su diseño se ha usado en muchos otros sistemas.
Aquí te mostramos cómo se divide el espacio dentro de esos 512 bytes:
446 bytes | Contienen un pequeño programa que ayuda a iniciar el sistema. |
64 bytes | Aquí se guarda la tabla de particiones, que describe cómo está dividido el disco en hasta 4 secciones principales. |
2 bytes | Es una "firma" especial (0x55AA) que indica que este es un MBR válido. |
Cada una de las 4 entradas en la tabla de particiones (de 16 bytes cada una) contiene información importante sobre cada sección del disco:
Offset | Descripción |
---|---|
0x00 | Indica si la partición está activa o no. |
0x01 | La ubicación de inicio de la partición (Cilindro, Cabezal, Sector). |
0x04 | El tipo de partición (por ejemplo, si es para Windows, Linux, etc.). |
0x05 | La ubicación final de la partición (Cilindro, Cabezal, Sector). |
0x08 | La dirección del primer sector de la partición (LBA). |
0x0C | El tamaño total de la partición, en sectores. |
Cuando un disco duro está dividido usando el esquema MBR, el MBR contiene las entradas de las particiones principales. Si hay particiones extendidas (que son como "contenedores" para más particiones), su información se guarda en otros lugares, pero el MBR las "apunta".
Normalmente, hay cuatro entradas para particiones principales en el MBR, aunque en algunos sistemas muy específicos se pueden encontrar más.
Existe un sistema más moderno para organizar discos duros llamado GPT. Cuando un disco usa GPT, el MBR no contiene la tabla de particiones principal. En su lugar, el MBR actúa como una "protección" para que los programas antiguos que solo entienden el MBR no intenten modificar el disco de forma incorrecta.
¿Cómo ayuda el MBR a iniciar tu sistema?
Cuando enciendes una computadora compatible con IBM que usa MBR, el programa de inicio (llamado BIOS) que está en la memoria de la placa base, busca y carga el MBR. El código del MBR se ejecuta y, por lo general, le pasa el control a otro programa llamado volume boot record (VBR) que se encuentra en la partición principal que está marcada como "activa". Es como si el MBR fuera el director de orquesta que le dice al siguiente músico cuándo empezar a tocar.
El código del MBR busca en la tabla de particiones cuál está marcada como activa. Una vez que la encuentra, carga y ejecuta el VBR de esa partición. Por eso, el MBR y otros sectores de arranque son a veces el objetivo de programas maliciosos que intentan tomar el control del inicio de la computadora.
Algunos programas especiales para iniciar sistemas (llamados gestores de arranque) pueden modificar el código del MBR para hacer cosas diferentes. Por ejemplo, pueden cargar más partes del gestor de arranque desde otras áreas del disco o permitirte elegir qué sistema operativo iniciar si tienes varios instalados.
En los sistemas más modernos que usan GPT en lugar de MBR, el proceso de arranque es diferente. El programa de inicio de la computadora (firmware) puede entender directamente el esquema GPT y cargar los programas de inicio desde archivos guardados en una partición especial del sistema.
¿Cómo se identifican los discos con el MBR?
Desde Windows NT 3.5, Microsoft añadió una "firma del disco" (Disk ID o Disk Signature) en el MBR. Esta firma es un número único que ayuda a los sistemas operativos, como Windows y Linux (desde la versión 2.6 del kernel), a identificar cada disco duro.
Windows usa esta firma para saber qué letra de unidad corresponde a cada partición. Linux la usa al arrancar para encontrar dónde está el volumen de inicio. Es importante no confundir esta firma del disco con la "firma de arranque" (0x55AA) que está al final del MBR y solo indica que es un sector de arranque válido.
Hay otra parte en el MBR (en la posición 0x1B8) que sirve como un identificador para todo el disco físico. Este identificador es crucial para el sistema operativo durante el arranque. Si se cambia, el sistema podría dejar de funcionar correctamente.
Consejos para programar con MBR
Si alguien está programando un sistema que usa MBR y BIOS, debe saber que la BIOS cargará el primer MBR válido que encuentre en una dirección de memoria específica (0x7C00). El código del MBR debe ser muy pequeño, ya que solo tiene unos 400 bytes disponibles después de reservar espacio para la tabla de particiones y otra información.
El MBR debe poder comunicarse con el usuario, revisar la tabla de particiones y, en algún momento, cargar el siguiente programa que continuará el proceso de arranque. A menudo, el MBR se mueve a otra ubicación en la memoria (como 0x7A00) después de cargarse para dejar espacio.
¿Cómo hacer una copia de seguridad del MBR?
Es muy importante hacer una copia de seguridad del MBR, ya que contiene información vital para que tu sistema operativo arranque.
En sistemas como UNIX y GNU/Linux, puedes usar el comando `dd` en la consola para guardar y restaurar el MBR.
- Para hacer una copia de seguridad:
`dd if=/dev/xxx of=mbr.backup bs=512 count=1` (Donde `xxx` es el nombre de tu disco, como `hda` o `sda`).
- Para restaurarlo:
`dd if=mbr.backup of=/dev/xxx bs=512 count=1`
Si tu disco usa el sistema GPT, es mejor copiar los primeros 63 sectores del disco, no solo el primero, porque GPT usa más espacio para la información de las particiones. `dd if=/dev/xxx of=mbr_63.backup bs=512 count=63`
En sistemas operativos de Microsoft, no hay un acceso directo al MBR. En DOS o Windows 9x, el programa `fdisk` con la opción `/mbr` puede reescribir el código del MBR. En Windows 2000 y versiones posteriores, puedes usar la consola de recuperación para escribir un nuevo código MBR. También existen herramientas de terceros para editar la tabla de particiones del MBR.
Límites de tamaño con MBR
Los discos duros que usan MBR tienen un límite en el tamaño de almacenamiento que pueden manejar. Esto se debe a cómo se guardan las direcciones de los sectores en la tabla de particiones.
El MBR usa 32 bits para guardar el número de sector de inicio y el tamaño de las particiones. Esto significa que puede manejar un máximo de 4.294.967.296 sectores.
- Con sectores de 512 bytes: Si cada sector es de 512 bytes, el límite máximo de un disco MBR es de 2 tebibytes (aproximadamente 2 billones de bytes).
- Con sectores de 4096 bytes: Los discos duros más nuevos a veces usan sectores físicos de 4 KiB (4096 bytes). Si el disco informa un sector lógico de 4096 bytes, el límite de espacio para MBR aumenta a 16 tebibytes. Sin embargo, muchos de estos discos "emulan" sectores de 512 bytes para ser compatibles con sistemas antiguos, lo que los limita de nuevo a 2 TiB.
- Con sectores de 65536 bytes: En teoría, con sectores aún más grandes, el límite podría ser de 256 tebibytes.
Estos límites son importantes para formatos de archivos como FAT32, NTFS y exFAT en Windows.
Véase también
En inglés: Master boot record Facts for Kids