Arranque del Sistema: BIOS, Gestor de Arranque y Kernel en Linux

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,35 KB

Arranque del Sistema: BIOS, Gestor de Arranque y Kernel

En este documento, exploraremos los componentes fundamentales del proceso de arranque en sistemas Linux, centrándonos en la interacción entre la BIOS, el gestor de arranque y el kernel.

Componentes Clave del Arranque

  • BIOS (Basic Input/Output System):
    • Programa preinstalado (firmware) en la placa base.
    • Realiza una comprobación inicial del hardware durante el arranque.
    • Inicia el gestor de arranque.
    • Puede ser configurable o no, permitiendo ajustar opciones de arranque.
  • Gestor de Arranque (Bootloader):
    • Permite elegir entre los sistemas operativos instalados (si hay varios).
    • Cargado por la BIOS.
    • Lee el kernel y los parámetros necesarios.
    • Realiza una llamada a /sbin/init (kernel de Linux) con los parámetros adecuados.
    • Ejemplo: GRUB en Linux.
  • Kernel:
    • Núcleo del sistema operativo.
    • Ejecuta los programas necesarios para el funcionamiento del sistema.
    • Lanza el sistema operativo.

Gestión de Procesos en Linux

A continuación, se describen algunos comandos útiles para la gestión de procesos en Linux:

  • ps aux: Muestra todos los procesos en ejecución, incluyendo el PID (identificador de proceso).
  • Ctrl + Z: Suspende el proceso actual y libera la consola.
  • Ctrl + C: Termina el proceso actual.
  • bg: Ejecuta un proceso suspendido en segundo plano, liberando la consola.
  • kill [PID]: Termina el proceso con el PID especificado.
  • killall [nombre_del_proceso]: Termina todos los procesos con el nombre especificado.
  • [comando] &: Ejecuta el comando en segundo plano, dejando la consola libre. Ejemplo: xeyes &

Runlevels en Linux

Los runlevels (niveles de ejecución) definen los diferentes estados de funcionamiento de un sistema Linux. Algunos runlevels importantes son:

  • Runlevel 0: Apaga el sistema.
  • Runlevel 1: Modo monousuario (modo seguro para resolución de problemas).
  • Runlevel 6: Reinicia el sistema.
  • Otros runlevels (2-5): Generalmente son multiusuario y pueden estar configurados de manera similar.

Comandos relacionados con runlevels:

  • init [número]: Cambia al runlevel especificado.
  • runlevel: Muestra el runlevel actual y el anterior.

Configuración de runlevels:

  • /etc/inittab: Contiene el runlevel por defecto. (Nota: En sistemas modernos con systemd, este archivo puede no ser relevante.)
  • ls /etc/rc[número_de_runlevel].d: Muestra los scripts que se ejecutan en un runlevel específico. Ejemplo: ls /etc/rc2.d
  • /etc/rcS.d: Contiene scripts que se ejecutan en todos los runlevels.
  • Los scripts de inicio/parada se encuentran en /etc/init.d/.

Para añadir un programa al inicio en un runlevel específico, se crea un enlace simbólico:

ln -s /etc/init.d/[servicio] /etc/rc[runlevel].d/S[número][servicio]

Ejemplo:

ln -s /etc/init.d/networking /etc/rc2.d/S19networking

  • S: Indica que el servicio debe iniciarse.
  • K: Indica que el servicio debe detenerse.
  • El número después de 'S' o 'K' indica el orden de ejecución.

Recuperación de Contraseña de Root desde GRUB

Pasos para restablecer la contraseña de root modificando las opciones de arranque en GRUB:

  1. Reiniciar el sistema y, en el menú de GRUB, pulsar la tecla E para editar la entrada de arranque.
  2. Buscar la línea que comienza con linux.
  3. Añadir init=/bin/bash al final de esa línea.
  4. Cambiar ro (solo lectura) por rw (lectura y escritura) en la misma línea.
  5. Arrancar el sistema pulsando la combinación de teclas que se indique (normalmente Ctrl+X o F10).
  6. Una vez en la línea de comandos como root, ejecutar passwd para establecer una nueva contraseña.
  7. Reiniciar el sistema con la nueva contraseña (se puede usar exec /sbin/init o la combinación de teclas Ctrl+Alt+Supr).

Creación de una Nueva Opción de Inicio en GRUB (Versiones Antiguas - GRUB Legacy)

Nota: Esta sección se refiere a GRUB Legacy (versión 1), que es menos común en sistemas modernos. La mayoría de los sistemas actuales utilizan GRUB 2.

Para añadir una nueva opción de arranque en GRUB Legacy, se edita el archivo /boot/grub/menu.lst:

  • title: Nombre descriptivo que se muestra en el menú de GRUB.
  • root: Indica la partición donde se encuentra el kernel (en nomenclatura de GRUB). Ejemplo: (hd0,0)
  • kernel: Ruta al archivo del kernel y parámetros de arranque.
  • initrd: Ruta a la imagen initrd (si es necesaria).

Dentro del menú de GRUB, se puede usar la tecla TAB para autocompletar rutas.

Entradas relacionadas: