Sugerencias de Linux: al encontrar rootfs

  
durante el inicio del sistema como administrador de Linux, puede encontrar cosas que no pueden montar rootfs y luego de intentar reiniciar el servidor después de agregar volúmenes de almacenamiento externo o incluso después de instalar un nuevo sistema operativo Linux. Un error de rootfs como el kernel panic. Este artículo proporciona una descripción general del proceso de arranque de Linux en la plataforma x86, muestra por qué ocurre este problema y proporciona cuatro consejos para evitar o solucionar este problema.
Descripción general del problema


El sistema de archivos raíz (denominado rootfs en el mensaje de error de muestra) es el componente más básico de Linux. El sistema de archivos raíz contiene todo lo que necesita para soportar un sistema Linux completo. Contiene todas las aplicaciones, configuraciones, dispositivos, datos y más. Sin un sistema de archivos raíz, su sistema Linux no funcionará.


Después de reiniciar el sistema, es posible que encuentre un error de montaje de rootfs (después de que el host de Linux tenga el problema del kernel). Este problema ocurre a menudo después de agregar algunos volúmenes de almacenamiento desde el almacenamiento externo, o puede ocurrir cuando se completa la copia del archivo y se requiere un reinicio para completar la instalación.


Si esto sucede, su sistema no se reiniciará. Diagnosticar y solucionar este problema lleva tiempo. Los cuatro consejos presentados en este artículo deberían ayudarlo a resolver problemas y ahorrar tiempo.


Otro problema es que el kernel de Linux necesita cargar el sistema de archivos raíz, pero no puede encontrar el dispositivo de destino. En otras palabras, el sistema de archivos raíz no aparece donde debería estar. Por ejemplo, instala el sistema de archivos raíz de Linux en el disco /dev /sda, pero su sistema no puede montarlo cuando se reinicia. Hay dos razones posibles para este problema:


1. Disk /dev /sda no se muestra cuando se reinicia el sistema.

La posible razón de esto es que su host Linux no tiene una unidad crítica para montar el sistema de archivos raíz. Este puede no ser el caso. El instalador de Linux integrará todas las unidades requeridas en la imagen initrd para que el sistema Linux pueda cargar fácilmente los controladores del dispositivo en el momento del arranque. Sin embargo, este error puede ocurrir si ha instalado manualmente el disco.


2. Se muestra el disco /dev /sda, pero no es el sistema de archivos raíz. Después del reinicio, su sistema de archivos raíz ha sido cambiado a /dev /sdb.

Esta es la situación más probable.

Entonces, ¿cómo se cambia el nombre de /dev /sda a /dev /sdb después de reiniciar el sistema? En Linux, /dev /sd * representa un dispositivo SCSI. Linux cambiará los nombres de estos dispositivos de sda ​​a sdz (y sdaa a sdzz, y así sucesivamente). Nombrará el primer dispositivo SCSI /dev /sda, el segundo dispositivo SCSI /dev /sdb, y así sucesivamente.


Si instala un dispositivo en el adaptador utilizando una unidad que se montó antes de la unidad del adaptador de dispositivo del sistema de archivos raíz (inicialmente en /dev /sda), el sistema de archivos raíz se moverá a la siguiente letra de la cadena de comandos (/dev /sdb), y el sistema de archivos raíz no es el primer dispositivo encontrado. Por lo tanto, si no puede encontrar rootfs al principio de la línea, no se cargará.


Esta es una breve descripción de lo que sucedió, pero para agregar más contexto a este escenario, describamos el proceso de arranque de Linux.


Cómo funciona el arranque de Linux


Los siguientes pasos describirán cómo funciona el proceso de arranque de Linux:


1. Cuando se inicia la computadora La primera prueba es la prueba inicial POST (Power On Self Test), que probará varios dispositivos, incluido el procesador, la memoria, la tarjeta gráfica y el teclado. Además, se probarán los medios de arranque (disco duro, disquete y CD-ROM). Después de la POST, el cargador en la ROM cargará el sector de arranque, que luego cargará el sistema operativo desde la partición activa. Puede cambiar el orden de los medios de arranque editando el BIOS del servidor.

2. El sector de arranque está siempre en la misma ubicación: la pista 0, el cilindro 0, la cabeza 0 del dispositivo de arranque. Este sector contiene un programa llamado cargador (generalmente LILO o GRUB para Linux); este programa realmente inicia el sistema operativo. El cargador se instala en el MBR o se instala en el primer sector de la partición primaria activa.

3. Si tiene varios sistemas operativos instalados en su servidor, deberá seleccionar el sistema operativo que desea iniciar desde el menú del cargador de arranque. Si tiene varios kernels instalados, también puede seleccionar qué kernel cargar desde este menú.

4. Luego, el gestor de arranque descomprimirá y cargará el kernel. El kernel primero cargará el módulo del kernel, luego detectará el hardware (disquetera, disco duro, adaptador de red, etc.), verificará la configuración del hardware y luego escaneará y cargará los controladores del dispositivo.

5. En esta etapa, el kernel cargará el sistema de archivos raíz y los archivos del sistema. La ubicación de los archivos del sistema se puede configurar (o por otros programas) durante la recompilación. Si la carga falla, aparecerá el pánico del kernel y el sistema se congelará. Este es el tipo de falla de carga mencionada anteriormente.

6. A continuación, el núcleo iniciará el proceso de inicialización del sistema init, que se convertirá en el primer proceso. A continuación, se iniciará el resto del sistema. El proceso init es el primer proceso en Linux y es el padre de todos los demás procesos. Este proceso es el primero que se ejecuta en cualquier sistema Linux /UNIX ® su PID siempre es 1.

7. Luego, init verificará el archivo /etc /inittab para determinar qué procesos deben iniciarse. Este archivo proporcionará información de inicio sobre el nivel de ejecución y los procesos que deben iniciarse en cada nivel de ejecución. El init buscará la primera línea con la operación sysinit (inicialización del sistema) y luego ejecutará el archivo de comando especificado, como /etc/rc.d/rc.sysinit en Red Hat Linux. Después de ejecutar el script en /etc/rc.d/rc.sysinit, init iniciará el proceso asociado con el nivel de ejecución inicial. Linux le permitirá iniciar sesión cuando se ejecute el script inicial de nivel de ejecución.

Cada solución analizada manejará el paso 5 en esta lista.

Copyright © Conocimiento de Windows All Rights Reserved