GNU/Linux >> Tutoriales Linux >  >> Panels >> Webmin

Cargador de arranque GRUB

En esta página, el proceso de arranque de Linux y el cargador de arranque GRUB están cubiertos. Explica cómo ejecutar diferentes sistemas operativos o cargar diferentes núcleos en el momento del arranque.

Contenido

Introducción a los cargadores de arranque

Cuando se inicia un sistema Linux que se ejecuta en hardware de PC, el primer código que se ejecuta es el BIOS (Sistema básico de entrada y salida) que se carga desde la ROM. Una vez que ha terminado de probar la memoria del sistema y de descubrir qué hardware está instalado, intenta pasar el control a un cargador de arranque del sistema operativo para continuar con el proceso de arranque. El gestor de arranque es un pequeño programa que puede solicitar al usuario que elija qué sistema operativo ejecutar y luego carga el resto del kernel del sistema operativo desde un disco duro, un disquete o alguna otra fuente.

En un sistema normal, el BIOS carga el gestor de arranque desde el primer bloque del disco duro principal, llamado registro de arranque maestro o MBR. Sin embargo, el BIOS puede (según su configuración) verificar primero la unidad de disquete o el CD-ROM en busca de un cargador de arranque, de modo que el sistema pueda arrancarse desde un disco extraíble. Por lo general, esto solo se hace cuando se instala un nuevo sistema operativo:para el uso diario normal, casi todos los sistemas se inician desde el disco duro.

Hay varios cargadores de arranque disponibles para Linux, pero los dos más comunes y los dos que se tratarán en este capítulo son LILO y GRUB. Ambos funcionan solo en hardware de PC compatible con x86, por lo que si está ejecutando Linux en un sistema Apple, SPARC o Alpha, este capítulo no le será de mucha utilidad. Cada plataforma de hardware que no es de PC tiene su propio cargador de arranque de Linux especializado, diseñado para hacer frente a las peculiaridades y requisitos particulares de la plataforma.

Otros sistemas operativos (como Windows, FreeBSD y Solaris) tienen sus propios gestores de arranque, que básicamente hacen lo mismo que LILO o GRUB, pero están diseñados para cargar el núcleo de un sistema operativo diferente. Webmin no admite la configuración de ningún cargador de arranque que no sea de Linux, por lo que si está ejecutando una versión diferente de Unix, puede omitir este capítulo.

En un sistema Linux, la responsabilidad principal del cargador de arranque es la carga del kernel. Una vez que el núcleo se ha cargado en la memoria y se le ha transferido el control, el trabajo del cargador de arranque está hecho. Luego, el núcleo monta el sistema de archivos raíz, inicializa los controladores y finalmente ejecuta el programa init para continuar con el proceso de arranque como se explica en el capítulo 9.

El gestor de arranque también puede iniciar el proceso de carga de un sistema operativo totalmente diferente en sistemas que tienen más de uno instalado. Lo hace cargando el cargador de arranque del otro sistema operativo desde el primer bloque de una partición u otro disco duro y luego transfiriéndole el control. El otro sistema operativo se carga exactamente como lo haría si su cargador de arranque fuera ejecutado directamente por el BIOS. Poder decidir qué sistema operativo cargar en el momento del arranque hace que sea práctico tener dos o más instalados en el mismo sistema, como Windows y Linux.

Tanto LILO como GRUB se pueden configurar para mostrar un menú de opciones de arranque cuando se cargan, lo que permite al usuario seleccionar qué kernel en particular cargar u otro sistema operativo cargar. Poder elegir entre varios kernels diferentes puede ser particularmente útil cuando ha instalado uno nuevo y desea tener la opción de iniciar tanto en el nuevo como en el antiguo. Incluso es posible tener varias opciones de arranque que carguen la misma versión del kernel, pero con diferentes opciones de línea de comandos.

Todas las distribuciones de Linux le darán la opción de configurar automáticamente un gestor de arranque en el momento de la instalación. Por lo general, también puede optar por iniciar otros sistemas operativos instalados, por ejemplo, si está agregando Linux a un sistema con Windows ya instalado en una partición diferente. Si esta configuración predeterminada le funciona, tenga mucho cuidado al cambiar la configuración de LILO o GRUB manualmente o a través de Webmin. Un solo error puede hacer que su sistema no pueda iniciarse y requiera el uso de un disco de rescate para recuperarse.

GRUB generalmente usa el archivo de configuración /boot/grub/grub.cfg (anteriormente menu.lst ) y, a diferencia de LILO, comprende el formato de los sistemas de archivos ext2, ext3, ext4 y vfat, por lo que puede leer los archivos menu.lst y kernel sin necesidad de un mapa de bloques. Por esta razón y debido a que GRUB puede cargar un núcleo almacenado en cualquier lugar del disco duro, generalmente se lo considera un cargador de arranque superior y ha superado a LILO en la mayoría de las distribuciones de Linux.

GRUB 2

GRUB2 como se usa en muchas (¿todas?) las distribuciones más nuevas usa archivos de configuración en /etc/grub.d/ .La configuración del módulo podría modificarse, pero aún no funciona.

El módulo del cargador de arranque GRUB

Como sugiere el nombre, este módulo le permite configurar GRUB. Al igual que el módulo LILO, cuando ingresa desde la categoría Hardware, la página principal muestra una lista de iconos, uno para cada opción de tiempo de arranque. Esta captura de pantalla muestra un ejemplo.

El módulo del cargador de arranque GRUB

El ícono del módulo solo aparecerá si Webmin detecta que GRUB está instalado en su sistema. Si no está visible o si se muestra un error al ingresar al módulo, GRUB no está instalado. Si es así, probablemente se esté utilizando LILO en su lugar, por lo que debería utilizar el módulo Linux Boot Loader.

Una peculiaridad de GRUB es que internamente se refiere a todos los discos duros por su número de disco BIOS. hd0 es la primera unidad identificada por el BIOS y hd0,0 es la primera partición en esa unidad. En un sistema con solo discos duros IDE, esta numeración es bastante simple:el disco 0 del BIOS es el maestro principal, o /dev/hda en Linux. El disco 2 (llamado hd1 por GRUB) es el esclavo principal, y así sucesivamente. Sin embargo, en un sistema con unidades SCSI e IDE, las cosas se vuelven más complejas. Los discos IDE generalmente vienen antes que SCSI en el orden del BIOS, pero esto puede ser inverso en algunos sistemas. Afortunadamente, el módulo GRUB en versiones recientes de Webmin puede detectar automáticamente la relación entre los archivos del dispositivo Linux y los números de disco del BIOS.

Arrancar un nuevo kernel de Linux o BSD con GRUB

Si acaba de compilar un nuevo kernel y desea poder usarlo, deberá agregar una nueva opción de arranque de GRUB.

Se debe seguir un proceso similar si tiene Linux y FreeBSD, NetBSD u OpenBSD instalados en su sistema y desea poder elegir uno de ellos en el momento del arranque. Para configurarlo, los pasos a seguir son:

  1. Para iniciar un kernel de Linux, después de compilar, copie su archivo de imagen de kernel comprimido (generalmente se encuentra en el directorio de origen en arch/i386/bzImage) al directorio /boot. Normalmente debería cambiarse el nombre a vmlinuz-_xx.yy.zz_, donde xx.yy.zz es el número de versión del kernel.
  2. En la página principal del cargador de arranque GRUB módulo, haga clic en Agregar una nueva opción de arranque enlace para ir al formulario de creación de opciones.
  3. Ingrese un nombre único para su nuevo kernel en el Título de la opción campo, como linux-xx.yy.zz . Lo que ingrese aparecerá en el menú de GRUB en el momento del arranque.
  4. Establecer la partición de la imagen de arranque campo a Seleccionado y elija la partición que contiene su kernel de la lista al lado. Si la partición no aparece en el menú, deberá elegir Otro en su lugar, ingrese el disco y la partición en el campo junto a él, en el formato hd_X_,_Y_ utilizado por GRUB. Por ejemplo, hd2,1 sería la segunda partición en la unidad BIOS 3.
  5. Para que arranque el sistema operativo , seleccione Núcleo de Linux e ingrese la ruta al archivo de imagen comprimido del kernel en el campo al lado. Para pasar argumentos adicionales al kernel, ingréselos en las Opciones del kernel campo debajo de él. Para FreeBSD, también debe seleccionar kernel de Linux e ingrese /boot/loader en el campo No se permiten argumentos de kernel adicionales. Para NetBSD u OpenBSD, seleccione kernel de Linux también e ingrese type=netbsd /netbsd-elf .
  6. Si el directorio raíz de su sistema está montado desde un dispositivo que no está compilado en el kernel de Linux (como un disco SCSI o un controlador RAID de hardware), deberá crear un disco RAM inicial que contenga los módulos del kernel necesarios para acceder al sistema de archivos raíz. La forma más sencilla de verificar si esto es necesario es mirar otras configuraciones de kernel de arranque existentes. Para crear un archivo de disco RAM inicial en el directorio /boot para la versión del kernel xx.yy.zz , deberá ejecutar un comando como :mkinitrd /boot/initrd-_xx.yy.zz_ xx.yy.zz A continuación, configure el archivo ramdisk inicial campo a la ruta del archivo recién creado.
  7. Finalmente, haga clic en Crear botón. Siempre que no se hayan detectado errores en su entrada, volverá a la página principal del módulo, que ahora contendrá un ícono adicional para el nuevo núcleo.
  8. Para iniciar el nuevo kernel, deberá reiniciar su sistema. Cuando GRUB se carga en el momento del arranque, mostrará un menú de opciones de arranque disponibles, desde el cual puede seleccionar el kernel recién agregado. Asegúrese de observar los mensajes de error y de salida de depuración que muestra el núcleo durante el arranque, de modo que si algo sale mal, pueda diagnosticar el problema. Si hay un problema, es posible que deba reiniciar y seleccionar la opción de kernel anterior, luego use Webmin para corregir la configuración de GRUB.

Una vez que haya creado una nueva opción de arranque del kernel, puede editarla haciendo clic en su icono en la página principal del módulo. En el formulario de edición, se puede editar cualquiera de los campos y guardar los cambios haciendo clic en Guardar o puede eliminar el núcleo haciendo clic en Eliminar en cambio. Siempre tenga cuidado al editar cualquier configuración del kernel que no haya creado usted mismo, ya que un error puede hacer que el sistema no pueda arrancar.

Arrancando otro sistema operativo con GRUB

Si su sistema tiene otro sistema operativo instalado en un disco duro o partición diferente, puede configurar GRUB para que pueda elegirse e iniciarse en el momento del arranque en lugar de Linux. Si desea iniciar FreeBSD, NetBSD u OpenBSD, consulte la sección anterior *Inicio de un nuevo kernel de Linux o BSD*, pero para Windows, UnixWare o cualquier otro sistema operativo, los pasos a seguir son:

  1. En la página principal del módulo, haga clic en Agregar una nueva opción de arranque para que aparezca el formulario de creación de opciones de arranque.
  2. Ingrese un nombre único para en el Título de la opción campo, como ventanas.
  3. Establecer la partición de la imagen de arranque campo a Seleccionado y elija la partición que contiene el otro sistema operativo de la lista al lado. Si la partición no aparece en el menú, deberá elegir Otro en su lugar, ingrese el disco y la partición en el campo junto a él, en el formato hd_X_,_Y_ utilizado por GRUB.
  4. Cambie el Sistema operativo para arrancar a Otro sistema operativo .
  5. Normalmente, GRUB simplemente ejecutará el gestor de arranque en el primer sector de la partición elegida. Sin embargo, es posible que no siempre haya un cargador de arranque allí si, por ejemplo, el sistema operativo normalmente escribe su cargador en el registro de arranque maestro. Si el otro sistema operativo es Windows, seleccione *Desde el archivo chainloader* e ingrese +1 al campo de al lado. También debe marcar la casilla ¿Crear acción de partición raíz? opción. Si inicia SCO UnixWare, también debe seleccionar *Desde el archivo chainloader* e ingresar forzar +1 al campo de al lado. La opción *¿Hacer una acción de partición raíz?* también debe estar seleccionada.
  6. Haga clic en Crear botón para agregar el nuevo sistema operativo. Su navegador volverá a la página principal del módulo, que ahora incluirá un ícono para su nueva opción de inicio.
  7. Para iniciar en el otro sistema operativo, reinicie su sistema y selecciónelo en el menú de GRUB en el momento del inicio.

Al igual que con las opciones de arranque para los kernels de Linux, puede editar o eliminar la opción de otro sistema operativo haciendo clic en su icono en la página principal del módulo. Cualquier cambio surtirá efecto de inmediato y se utilizará la próxima vez que se reinicie el sistema.

Edición de opciones globales de GRUB

GRUB tiene varias opciones que se aplican a todos los kernels y sistemas operativos de arranque. Para editar estas opciones globales, los pasos a seguir son:

  1. Haga clic en Editar opciones globales en la página principal del módulo, que lo llevará al formulario de opciones.
  2. Para controlar qué kernel se inicia automáticamente si el usuario no elige uno del menú de GRUB dentro del límite de tiempo configurado, cambie la opción de inicio predeterminada campo. Si la opción que elige no se puede cargar, GRUB recurrirá a lo que esté seleccionado en la opción de arranque alternativa campo.
  3. Para cambiar la cantidad de tiempo que GRUB esperará a que el usuario elija una opción de arranque antes de usar la opción predeterminada, edite el campo *Tiempo de espera antes de usar el *predeterminado.
  4. El menú de inicio de GRUB permite a los usuarios hacer cosas como cambiar los parámetros del kernel y leer archivos arbitrarios en los sistemas de archivos de Linux. Para evitar esto, ingrese una contraseña en la Contraseña de arranque campo. Esto limitará a los usuarios a las opciones de inicio disponibles a menos que se ingrese la contraseña. Además, las opciones de arranque en las que ¿Contraseña está bloqueada? se ha establecido el campo tampoco será seleccionable.
  5. Cuando haya terminado, haga clic en Guardar y volverá a la página principal del módulo.
Añadir opción de arranque

Instalación de GRUB

Si ha estado usando el cargador de arranque LILO y desea cambiar a GRUB, deberá instalarlo en el mismo registro de arranque maestro o partición que LILO está usando actualmente. Esto solo debe hacerse una vez, a diferencia de LILO, que debe reinstalarse efectivamente cada vez que se cambia su configuración.

Para instalar GRUB, los pasos a seguir son:

  1. En la página principal del módulo, haga clic en Editar opciones globales botón.
  2. Desde Instalar GRUB en disco/partición menú, seleccione el disco o la partición en la que desea instalar GRUB. Por lo general, este será el primer disco duro de su sistema.
  3. Haga clic en Guardar botón para volver a la página principal del módulo.
  4. Haga clic en Instalar GRUB para que se escriba en la unidad o partición elegida en el paso 2.
  5. Para que su sistema pueda iniciarse en Linux a partir de ahora, cree las opciones de inicio de kernel necesarias como se explica en la sección *Arranque de un nuevo kernel de Linux o BSD*. Si reinicia antes de hacer esto, ¡será imposible volver a iniciar Linux!

Webmin
  1. ¿Ubuntu Boots para Grub Rescue?

  2. ¿Ubuntu 14.04 no arranca Grub Prompt?

  3. ¿Cómo omitir el menú Grub en un sistema de arranque dual?

  4. ¿Error en el arranque de Grub Uefi Windows?

  5. CentOS / RHEL 5,6:Cómo reinstalar el cargador GRUB desde el modo de rescate

Reparación de arranque de Ubuntu

Cómo reparar tu Grub 2 en Ubuntu

Cómo instalar el cargador de arranque BURG en Ubuntu

Cómo instalar el personalizador de Grub en Ubuntu

Arreglar Grub que no se muestra para el sistema de arranque dual de Windows y Linux

CentOS / RHEL 7:proceso de arranque