El conflicto entre lo que usted dice acerca de que el gestor de arranque está en ROM y está en el MBR quizás se deba a que el gestor de arranque se utiliza para cualquier código que resuelva cómo hacer lo mínimo para cargar el código para hacer que la computadora haga algo útil, incluyendo cada estado en un arranque de múltiples etapas.
Entonces, el estado inicial es tener una computadora, que es un dispositivo programable, pero no sabe cómo cargar el software para ejecutarlo porque no tiene ningún software cargado. (Y, por lo tanto, arrancar desde tirar de sus botas ).
Históricamente, había algunas soluciones diferentes para este problema, pero en estos días comenzamos con algún código en ROM (probablemente estrictamente EEPROM), que es suficiente para que vea diferentes dispositivos y los pruebe a su vez hasta que encuentre uno que sea de arranque
(Esta es la razón por la cual muchos sistemas arrancarán desde un CD o DVD si coloca un disco instalador del sistema operativo en y desde el disco duro; de lo contrario, el BIOS [el código en la ROM, incluido el código del que estamos hablando y algunos otros - cosas de nivel que hacen que las cosas comiencen] está configurado para mirar primero la unidad de CD / DVD, luego en un disco duro si no encuentra nada, los tweakers a menudo lo configuran para ignorar la unidad de CD / DVD a menos que se solicite manualmente. no pierde el tiempo girando un disco no arrancable que quedó en la unidad).
Este código en la ROM a veces se denomina cargador de arranque .
Cuando sepa qué unidad mirar, mirará el MBR, que contiene información sobre las particiones primarias: ¿cómo podría mirar luego / o / boot o C: / (en un sistema Windows) si ni siquiera lo hizo? ¿sabe qué parte del disco era qué partición, no importa cómo se montó cada partición? - y algo de código con más instrucciones para ejecutar. (Por cierto, esto explica por qué algunos sistemas operativos, como Windows, solo se pueden instalar en una partición primaria, los detalles de esas particiones están en el MBR y esa es la única información de partición que ha leído su gestor de arranque, y no carga el EBR en aprenda sobre las particiones lógicas, en lo que respecta a esas particiones aún no existen).
Ese código ejecutable, también se llama un gestor de arranque . Cuando queremos distinguir entre esto y lo que viene después, se llama un cargador de arranque primario (porque a menos que estemos haciendo nuestro propio BIOS ignoramos el bit ROM como fuera de nuestro control).
Ese código será muy pequeño ya que solo tiene alrededor de 400 bytes para que entre, por lo que para hacer algo real, cargará más código, que puede ser más grande ya que no tiene que lidiar con esta restricción.
Este código también se conoce como gestor de arranque . Cuando nos importa distinguir entre esto y lo que vino antes, se llama un cargador de arranque secundario .
Ese código quizás podría ser la etapa final del proceso. Lo haría si solo tiene un sistema operativo, o si todos los sistemas operativos de su sistema usan cargadores de arranque compatibles (por ejemplo, dos instalaciones de Linux que usan GRUB, por lo que el GRUB que se actualizó por última vez puede ofrecer iniciar en cualquiera de ellos). presenta menús (si lo desea) se carga en un kernel y pasa el control sobre el sistema operativo.
En el caso de que tenga un sistema operativo que no sea compatible con ese gestor de arranque, puede cargarse en cadena. Por ejemplo, si tiene Windows y Linux en la misma máquina, la opción GRUB para cargar Windows, de hecho, cargará otro gestor de arranque que solo conoce las instalaciones de Windows y lo transferirá. Si bien esta fue una etapa terciaria en el proceso, todavía se llama un cargador de arranque secundario , porque no sabe ni le importa que haya otro cargador de arranque secundario ejecutándose antes. Este también sería el caso con una instalación de Linux que utiliza un tipo diferente de cargador de arranque secundario.
Principalmente cuando hablamos del gestor de arranque en términos de Linux, generalmente no nos referimos al código ROM (no es parte de Linux ni se cambia al instalar Linux). Cuando lo hacemos update-grub
, estamos cambiando el cargador de arranque secundario, que normalmente está en / boot de una instalación en particular. Cuando lo hacemos, install-grub
lo estamos cambiando y también el cargador de arranque primario en el MBR para que tenga suficiente código para saber dónde está / boot (tal vez iniciando un RAID de software a medida que avanza) y lo cargará y ejecutará cuando se ejecute. .
Entonces, en resumen, usted era incorrecto cuando dijo que la ROM era parte de la memoria principal * porque está separada. (De hecho, la RAM se toma como antónimo de ROM) Estuviste en lo correcto al decir que había un gestor de arranque allí y en el MBR, porque son dos pasos del proceso y ambos a veces se llaman por ese nombre. Y la respuesta a "¿Los diferentes sistemas operativos almacenan su gestor de arranque en diferentes lugares?" es "en su mayoría", porque si los cargadores de arranque secundarios son incompatibles, ocultarán otros cargadores de arranque (si instala Windows después de instalar Linux) o cargarán en cadena al otro si así se solicita (si soluciona esa situación o instala Linux después de Windows), pero un sistema operativo puede compartir un cargador de arranque secundario si son compatibles (si instala Linux después de otro Linux que usa el mismo tipo de cargador de arranque secundario y puede ver el otro Linux [a veces RAID de software confunde las cosas y hace necesaria la carga en cadena).
* En los días en que uno utilizaría programáticamente ROM y RAM, esto era diferente. En un ZX Spectrum, por ejemplo, la ROM tendría 16 kB e incluiría un intérprete BÁSICO, además de proporcionarle el punto de partida para cargar algo en su 48 kB o 128 KB (paginado) o RAM (en cuyo caso, se está iniciando esencialmente en ese intérprete BASIC y luego usarlo para arrancar lo que estaba en la cinta), había un montón de funciones del intérprete BASIC que los programas en RAM podrían usar (¿por qué escribir una función trigonométrica cuando la computadora ya tiene una en una posición conocida? especialmente cuando solo tiene 48 KB para que se ejecute todo su propio código). Esta ROM también era visible de la misma manera que la RAM, solo en diferentes direcciones. En tal caso, la ROM era tan parte de la memoria principal como la RAM, pero no escribible.
A small portion of a computer's main memory where the CPU expects to find its initial program is constructed from special nonvolatile memory cells. Such memory is known as read-only memory(ROM)
según él. La memoria principal está compuesta por dos partes, RAM y ROM. Solo quiero saber si el llamado gestor de arranque está instalado en la parte ROM de la memoria principal ... @Sergey