
He estado jugando con Debian últimamente, ya que me pareció el paso más lógico después de comenzar mi andadura en Linux con Ubuntu (realmente no me gusta Unity y además instalar GNOME me molesta, ya que no puedo desinstalar Unity completamente sin estropear gran parte de las funciones restantes del escritorio). Una cosa que siempre me ha molestado durante la instalación es la opción de instalar GRUB.
Me parece que no debería ser necesario y debería simplemente iniciarse directamente en el kernel como lo hacen Ubuntu y Windows en lugar de que yo seleccione uno, y mi elección es siempre la misma: la opción predeterminada.
Durante la instalación, el texto que explica la opción dice algo como "Necesitamos hacer que Debian sea arrancable", lo cual es la razón principal por la que dudo en seleccionar "no". ¡Ciertamente quiero que arranque! Podría tomarme el tiempo y ver qué pasa si selecciono "no", pero creo que sería prudente preguntarles a todos ustedes primero.
¿Es seguro seleccionar "no" para la instalación de GRUB? ¿Debian seguirá arrancando si no está instalado? Si es seguro seleccionar "no", ¿hay alguna desventaja en esta opción?
Respuesta1
Ummm... ¿Cómo lo digo? Debian es una distribución de Linux que se ejecuta en una computadora, pero para llevarla a un estado en el que pueda comenzar a funcionar se requiere un gestor de arranque. La distribución básicamente utiliza GRUB o cualquier otro gestor de arranque hasta que esté listo para ejecutarse. Podrías usar syslinux como alternativa a GRUB.
Respuesta2
Para ampliar la respuesta aceptada...
Cuando se inicia una PC x86, su CPU se ejecuta en modo real de 16 bits y ejecuta el código almacenado en el BIOS. Después de que el BIOS realiza la POST y la configuración inicial, lee los primeros 512 bytes desde el comienzo del disco de arranque y transfiere la ejecución allí; es el código inicial de un cargador de arranque el que se supone que hace el resto.
Ahora considere¿Qué es el descanso? En el caso más simple, el cargador de arranque debería poder localizar y cargar la imagen del kernel y transferir la ejecución allí. El cargador de Linux estándar de facto más antiguo lilo
mantenía un mapa contiguo de todos los sectores en los que estaba almacenado el kernel. Pero el panorama cambió bastante desde entonces: se empezaron a utilizar más sistemas de archivos, se hizo habitual mantener el kernel en un dispositivo RAID o en un disco lógico LVM o en una pila de todos estos. Las computadoras comenzaron a incluir más discos conectables, lo que significa un orden arbitrario de su inicialización y, por lo tanto, problemas con los nombres. Ahora considere que hoy en día, para crear un sistema genérico basado en Linux se requiere cierta disponibilidad temprana.espacio de usuarioherramientas que se guardan en el llamado "initrd" (disco RAM inicial) o "initramfs" (sistema de archivos RAM inicial), por lo que en realidad el gestor de arranque carga no sólo el kernel de Linux sino también un initramfs correspondiente.
Entonces, la tarea del gestor de arranque es:
- Bootstrap en sí: esos 512 bytes, sensatamente, solo pueden encontrar y cargar algo más complicado.
- Descubra e inicialice todas las capas necesarias para acceder al sistema de archivos de arranque (el sistema de archivos que contiene el kernel y sus initramfs).
- Cárguelo todo y luego transfiera el control al kernel.
Ahora considere que a la mayoría de las personas les resulta útil poder visualizar y controlar de alguna manera este proceso, por lo que es necesario que el cargador de arranque pueda presentar un menú de algún tipo y la capacidad de modificar qué se cargará y cómo. La capacidad de cargar un kernel alternativo también podría ser una ventaja (por ejemplo, un nuevo kernel instalado desde el repositorio de actualizaciones de seguridad de Debian nunca elimina el kernel existente; más bien, ese kernel se mantiene a un lado y está disponible para arrancar si se encuentra una regresión). en uno nuevo).
Entonces, como puede verse, a menos que tratemos con algún tipo de sistema integrado con requisitos de memoria/espacio de almacenamiento muy estrictos y en el que nadie controle cómo se carga el kernel, no es razonable poner esta funcionalidad directamente en el kernel. , ya que el gestor de arranque es una pieza de software inherentemente altamente dependiente de la plataforma del hardware. Es por eso que existe el gestor de arranque y por qué en un sistema genérico la necesidad de utilizar uno es ineludible.