¿Cómo funcionan los sectores de arranque y las unidades múltiples?

17

No entiendo completamente el concepto de un sector de arranque, esperaba que alguien pudiera aclarar esto por mí.

Si tiene dos discos duros, con un sistema operativo instalado en cada uno, ¿cada disco tiene su propio sector de arranque? ¿Cada unidad necesita una partición MBR?

Tengo Linux y Windows en dos unidades separadas. He tenido problemas al instalar Linux y grub, y ahora finalmente he decidido usar el gestor de arranque de Windows para iniciar. ¿Windows se habría librado de grub cuando usé / fixmbr o se queda allí en el sector de arranque de la otra unidad?

GiH
fuente

Respuestas:

17

La respuesta de Wil es vagamente correcta, pero no es técnicamente precisa. Sí, una unidad no necesita un MBR. Sin uno, no podrá arrancar desde esa unidad, y no podrá crear particiones en esa unidad. PERO...

El término Registro maestro de arranque a menudo se usa para referirse a dos cosas: es apropiadamente solo el primero, y comúnmente aplicado incorrectamente al segundo:

  1. Una ubicación, específicamente, el primer sector de 512 bytes de un dispositivo de almacenamiento de datos particionados ("LBA Sector 0"). Esta ubicación contiene los primeros 440 bytes del código del cargador de arranque (el cargador de arranque de la primera etapa) y la tabla de partición primaria. Consulte el artículo MBR de Wikipedia para obtener detalles sobre la estructura de un MBR típico.

  2. El código del cargador de arranque almacenado en esa ubicación. En un sistema BIOS, este es el primer código ejecutado cuando el BIOS se inicia desde una unidad. Consulte MBR y arranque del sistema y cargador de arranque de primera etapa : en los sistemas i386, este código carga en cadena el cargador de arranque de la segunda etapa , almacenado en el registro de arranque de volumen de la partición activa, que realiza el arranque real del sistema operativo.

El registro de inicio de volumen o sector de inicio de partición es el primer sector de una partición y es donde un sistema operativo instalado en esa partición almacenará su código de inicio principal. Un VBR también se utiliza en dispositivos de almacenamiento de datos no particionados (disquetes, unidades flash USB o incluso discos duros utilizados en roles no particionados).

Los sistemas de arranque múltiple utilizan un administrador de arranque (por ejemplo, Grub). Un administrador de arranque coloca el código del gestor de arranque en el MBR y proporciona un menú desde el cual el usuario puede elegir un sistema operativo para arrancar. (En términos técnicos, el usuario elige qué gestor de arranque de segunda etapa usar).


Entonces, para responder sus preguntas directamente:

  • Dos discos duros con un sistema operativo instalado en cada uno tendrán su propio MBR .

    • Ambos MBR contendrán al menos una partición.
    • Cada partición en esos discos duros tendrá su propio VBR. Las particiones que contienen instalaciones del sistema operativo almacenarán sus cargadores de arranque de la segunda etapa en esos VBR; cualquier partición que sea solo de datos (probablemente) no tendrá un código de arranque válido en su VBR.
    • Si este sistema arranca, al menos uno de esos MBR contendrá un cargador de arranque válido de primera etapa, pero solo es necesario para la unidad desde la cual el BIOS intenta arrancar.

  • Cuando instaló Linux en su segundo disco, probablemente escribió el cargador de arranque de primera etapa de Grub en el MBR del disco de Windows. Se puede haber también escrito el cargador de arranque de la primera etapa en el MBR de su propia unidad, pero si el BIOS nunca intenta arrancar desde la unidad de Linux, nunca se dará cuenta. De manera similar, cuando usa / fixmbr, Windows reescribe el cargador de arranque de la primera etapa en el MBR de la unidad del sistema.

    • Sinceramente, no sé si la utilidad Bootrec.exe de Win-7 también escribirá en los MBR de otras unidades. Probablemente tiene la capacidad de hacerlo, pero probablemente no sea la acción predeterminada.
    • Tampoco sé si el instalador de Ubuntu 9.04 instalaría Grub en los MBR de ambas unidades por defecto. Es posible hacerlo a mano si lo desea. En algunas situaciones sería bueno: si desconectara la unidad de Windows e intentara arrancar desde la unidad de Linux, no arrancaría si el código de arranque de la primera etapa de Grub no estuviera presente.
quijote curandero
fuente
Gracias por esa respuesta muy detallada: -) ... Siempre me preguntaba por qué MBR se estaba utilizando para dos significados diferentes, y ahora sé jaja
GiH
1
@GiH de nada. gracias por hacer esta pregunta; Puede servir como una introducción básica a MBR y cargadores de arranque para futuros lectores.
quack quijote
¿tiene una fuente para "El término Registro maestro de arranque a menudo se usa para referirse a dos cosas? Es propiamente el primero, y comúnmente se aplica mal al segundo:" Estoy seguro de que es correcto, y lo he leído en algún lugar ... pero interesante si tienes una fuente para eso. Además, dado que aquí hay un término para el gestor de arranque, ¿hay algún término para la parte que no es del gestor de arranque del MBR? Y cuando se trata de GPT, ¿incluye GPT el gestor de arranque y la tabla de particiones, y qué terminología distingue entre GPT y la tabla de particiones?
barlop
3

Una unidad no necesita un MBR, sin embargo, sin una, no podrá arrancar desde esa unidad.

Para empezar, la máquina se iniciará en cualquier disco al que se le indique al BIOS. Ese es el único disco que necesita un MBR (esto está en máquinas basadas en BIOS, por ejemplo, la mayoría en el mercado, no EFI).

Tener un MBR básicamente le dirá a la máquina que la unidad es de arranque (y no devolverá el temido "No hay disco o error de disco" o un mensaje similar), el gestor de arranque se cargará.

Cuando se carga el cargador de arranque, básicamente hará lo que se le indica, esto puede ser cargar otros cargadores de arranque (por ejemplo, Grub cargando el cargador de arranque de Windows) o sistemas operativos: por ejemplo, puede elegir la unidad / partición.

Por lo tanto, solo necesita tener el MBR (y el cargador de arranque) en la unidad de arranque real.

William Hilsum
fuente
Ok, pero ¿es posible que mis dos unidades tengan un MBR ya que Grub estaba trabajando antes? Básicamente, lo que estoy tratando de averiguar es si mi unidad Linux está desperdiciando espacio en un MBR porque no estoy usando grub, o cuando instalé el gestor de arranque de Windows, ¿se deshizo de grub y el MBR? Lo siento si mi pregunta es confusa ...
GiH
1
Solo puede tener un MBR, ya que no es tanto un archivo, sino una ubicación: si instaló un sistema operativo diferente en una unidad diferente, es posible que todavía lo tenga en la otra unidad, pero es tan insignificantemente pequeño, Realmente no estaría preocupado (estamos hablando de unos pocos cientos de bytes (creo que max es ~ 500), si eso es así, ¡en una unidad con muchos miles de millones de bytes!). Sin embargo, es posible que todavía tenga los archivos grub, pero, de nuevo, es muy pequeño.
William Hilsum
3
@GiH, re: desperdiciando espacio: no, el MBR también proporciona la tabla de particiones para la unidad, de modo que el espacio está reservado (no utilizado por el sistema operativo), ya sea que contenga un registro de arranque válido o no. puede pensarlo como una pequeña cantidad de sobrecarga para sus sistemas de archivos; en comparación con las capacidades modernas del disco duro, la cantidad de espacio "desperdiciado" es demasiado pequeña para preocuparse.
quack quijote
1

MBR (Master Boot Record) es el primer sector en el que es posible escribir. Tiene una ubicación y un tamaño fijos (muy pequeños), por lo que solo puede tener un MBR por disco.

MBR es el primer sector leído en la secuencia de arranque después de cargar la BIOS. Se puede usar para arrancar un sistema operativo o cargar un cargador de arranque como grub o lilo para elegir qué sistema cargar.


fuente