Saltar al contenido

¿Dónde se almacena el cargador de arranque, en ROM, RAM o en otro lugar?

Solución:

La ROM es un chip separado de la RAM. No requiere energía para retener su contenido y originalmente no se podía modificar de ninguna manera, pero venía cableado de fábrica. La PROM posterior, o la memoria programable de sólo lectura reemplazó a la verdadera ROM. Estos chips venían en blanco de fábrica y se podían escribir una vez mediante un procedimiento especial que esencialmente quemaba los bits del chip, lo que provocaba un cambio de estado. Esto luego fue reemplazado por EPROM, o memoria programable borrable. Estos chips tenían una pequeña ventana en ellos y, si se les iluminaba con luz ultravioleta, se podían borrar, lo que les permitía programarlos nuevamente. Estos luego fueron reemplazados por EEPROM, o memoria programable borrable eléctricamente. Estos chips tienen un procedimiento de software especial para borrarlos y poder reprogramarlos. ROM generalmente todavía se usa para referirse a todos estos tipos de manera genérica.

La placa base tiene algún tipo de chip ROM que contiene el firmware, que en el lenguaje de la PC generalmente se llama BIOS, o sistema básico de entrada y salida, aunque está siendo reemplazado en estos días con firmware EFI. Este es el software que la CPU comienza a ejecutar al encenderse. Todo el firmware realiza la inicialización del hardware, generalmente proporciona algún resultado de diagnóstico y proporciona una forma para que el usuario configure el hardware, luego ubica y carga el cargador de arranque, que a su vez ubica y carga el sistema operativo.

Con el BIOS de la PC, simplemente carga y ejecuta el primer sector del disco desde el que decide arrancar, que normalmente es el primer disco duro detectado. Por convención, el primer sector de un disco duro, llamado Master Boot Record, contiene una tabla de particiones DOS que enumera las ubicaciones de las particiones en el disco y deja algo de espacio para el cargador de arranque. Ubuntu usa el cargador de arranque GRUB, que coloca suficiente código en el MBR para cargar y ejecutar /boot/grub/core.img. Normalmente se coloca una copia de este archivo en los sectores que siguen al MBR, pero antes de la primera partición, y eso es en realidad lo que carga el MBR, ya que se encuentra la ubicación de /boot/grub/core.img es demasiado difícil de hacer correctamente en el espacio muy limitado disponible en el MBR.

La imagen del núcleo de grub contiene el código de grub base, además de los módulos necesarios para acceder /boot/grub para que pueda cargar módulos adicionales allí, y el archivo de configuración de grub que describe qué sistemas operativos se pueden arrancar y dónde se pueden encontrar.

El firmware EFI utilizado en Intel Macs y que está disponible como reemplazo del BIOS en las placas base de PC más recientes requiere una partición dedicada que contenga los archivos del cargador de arranque, y el firmware es lo suficientemente inteligente como para encontrar esos archivos y cargar uno en lugar de simplemente cargar y ejecutar lo que sea. está en el primer sector del disco.

La ROM no está en la memoria principal:

La ROM no es parte de la memoria principal. Es un chip separado, que la mayoría de las veces está integrado en un IC más grande. Más ejemplo, su PC puede constar de varias ROM. Están integrados en su placa base.

Generalmente :

  • Las ROM tienen un tamaño de memoria muy pequeño. Esta memoria no es volátil, en el sentido de que el programa almacenado en la ROM no se borra con el apagado.
  • Las ROM se utilizan para almacenar programas permanentes, que son muy esenciales para que su hardware funcione correctamente.
  • Un ejemplo típico de ROM es el chip BIOS. Donde se almacena el programa de arranque de muy bajo nivel e inicialización del hardware

Usted mencionó eso, leyó un artículo donde el autor decía, “La ROM es parte de la memoria principal”. Esto es confuso, porque normalmente la memoria principal se refiere a los tipos de memoria que son volátiles, como la RAM. Pero si, si usas Memoria principal término para todo el espacio de memoria de una PC, entonces ROM es una parte de ese espacio de memoria. Debe tener en cuenta que, en general, la memoria principal excluye la memoria de tipos como ROM.

Dónde se almacena el cargador de arranque:

El sistema moderno utiliza una carga de arranque en dos etapas. En el primer paso, se carga un pequeño programa desde un sector (llamado sector de arranque más a menudo) del disco duro. Este pequeño programa, a su vez, carga un programa desde algún lugar del disco, que se llama cargador de arranque. Y finalmente el cargador de arranque carga el sistema operativo.

En términos del sistema Ubuntu, el proceso es el siguiente:

  1. Después de encender su PC, el BIOS (que se almacena en la ROM) se ejecuta e inicializa automáticamente varias partes del hardware de la PC. Luego, busca un sector específico en el primer dispositivo de arranque definido (normalmente el disco duro). Este sector es el sector de arranque, que tiene un tamaño de 512 bytes.

  2. El programa en el sector de arranque se carga en la memoria (primera etapa). Este pequeño programa tiene información sobre qué programas se deben cargar en la memoria a continuación y dónde se encuentra ese programa en el disco o en el dispositivo de arranque. Carga ese programa. En Ubuntu, es /boot/grub/core.img.

  3. En la segunda etapa, The OS-Loader, GRUB, carga Ubuntu cargando el kernel y el disco RAM inicial en la memoria y transfiriendo el control al kernel. Luego, el kernel se ejecuta y carga todos los programas necesarios, como el administrador de pantalla, la interfaz gráfica de usuario, etc.

Entonces, podemos decir claramente, que el cargador de arranque no está almacenado en ROM, ni en RAM, en realidad está almacenado en el disco duro (u otro dispositivo de arranque, como CDROM de arranque, unidades USB, etc.), hablando precisamente del primer sector del disco duro, que tiene un tamaño de 512 bytes y a menudo se denomina sector de arranque. Y este cargador de arranque carga el cargador del sistema operativo (en Ubuntu, es grub) que también reside en el disco duro (es decir, /boot/grub/ carpeta), y su tarea es cargar el sistema operativo (digamos, Ubuntu).

Como prueba, retire el disco duro (y todos los demás dispositivos de arranque) e intente arrancar. Puede subir al paso de BIOS, pero después de ese paso, no puede arrancar nada. Lo más probable es que la BIOS diga “No se encontró ningún dispositivo de arranque” o “No se encontró ningún sistema operativo” o algo similar.

Espero que esta respuesta ayude.


Para obtener más información, puede visitar estos enlaces:

  1. http://en.wikipedia.org/wiki/Read-only_memory
  2. http://en.wikipedia.org/wiki/Random-access_memory

Un procesador compatible con x86 siempre se inicia en el llamado modo “real”, que es un modo de 16 bits con 1 megabyte de memoria direccionable disponible. Desde ese espacio de direcciones, 640K están disponibles para programas, y las direcciones anteriores son mapeado a diferentes dispositivos.

Por ejemplo, las direcciones que comienzan desde 0xA000: 0x0000 se asignan a la RAM de video, por lo tanto, escribir datos allí en realidad escribiría datos en la memoria del adaptador de video mostrando píxeles en la pantalla.

De manera similar, la ROM del BIOS comienza desde 0xF000: 0000, por lo que la CPU, cuando se enciende, simplemente comienza a ejecutar las instrucciones una por una a partir de esa dirección predefinida. La ROM del BIOS contiene el programa inicial que comienza realizando una “autoprueba de encendido” o POST. De Wikipedia:

El software BIOS está integrado en la PC y es el primer código que ejecuta una PC cuando se enciende (‘firmware de arranque’). Cuando se inicia la PC, el primer trabajo para el BIOS es la autoprueba de encendido, que inicializa e identifica los dispositivos del sistema como la CPU, la RAM, la tarjeta de visualización de video, el teclado y el mouse, la unidad de disco duro, la unidad de disco óptico y otro hardware. Luego, el BIOS ubica el software del cargador de arranque que se encuentra en un dispositivo periférico (designado como ‘dispositivo de arranque’), como un disco duro o un CD / DVD, y carga y ejecuta ese software, dándole el control de la PC.2 Este proceso se conoce como arrancar o arrancar, que es la abreviatura de bootstrapping.

El firmware del BIOS es responsable de leer el primer sector del disco en la memoria y pasar el control a un pequeño programa que, nuevamente, se encuentra en una dirección específica allí. El cargador de arranque MBR puede comenzar a cargar el sistema operativo directamente (como fue el caso con MS-DOS) o cargar la “segunda etapa”, que no se limita a los confines de un solo sector de disco.

Los cargadores de arranque que utilizan el enfoque de varias etapas pueden ser bastante complejos con una interfaz gráfica o de texto que permite al usuario seleccionar desde qué disco o partición cargar un sistema operativo.

Entonces, si, como sugiere Uri, está interesado en si el cargador de arranque de Windows y GRUB pueden coexistir juntos, la respuesta es: el MBR real solo puede contener un único cargador de arranque de primera etapa (vamos, todo el sector tiene solo 512 bytes) , pero la segunda etapa de un cargador de arranque puede ser capaz de “cargar en cadena” sistemas operativos desde diferentes particiones. El cargador de arranque de Windows solo puede reconocer y cargar Windows, mientras que GRUB puede cargar Linux o pasar el control a otro cargador de arranque almacenado en un registro de arranque de volumen de una de las particiones, lo que permite arrancar Windows u otro sistema operativo. El último proceso se llama carga en cadena.

Cuando instale Ubuntu en una computadora que tenga Windows, GRUB se instalará en MBR y podrá iniciar tanto Ubuntu como Windows.

Sin embargo, si Windows se instala después de Ubuntu, GRUB se reemplazará con el cargador de arranque de Windows y deberá volver a instalar GRUB para poder iniciar Ubuntu nuevamente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *