No ha proporcionado mucha información con los registros y con qué proceder, pero supongo que lo más probable es que este error que enfrenta se deba a que el núcleo está confundido por una unidad IDE / SATA. Hacer una búsqueda rápida en Google me llevó al enlace 1 , enlace 2 , enlace 3
Probablemente sea uno de los problemas más frecuentes (pero una vez que lo haya resuelto, lo más probable es que nunca lo vuelva a ver):
Unable to mount root fs on unknown-block(0,0)
o
VFS: Cannot open root device "sda3" or unknown-block(8,3)
Please append a correct "root=" boot option; here are the available partitions:
sda driver: sd
sda1 sda2
Los dígitos 0,0
o 8,3
pueden ser diferentes en su caso: se refiere al dispositivo al que el núcleo intenta acceder (y que falla). En términos generales, se puede decir que, si el primer dígito es 0, el núcleo no puede identificar el hardware. Si es otro dígito (como 8), no puede identificar el sistema de archivos (pero puede acceder al hardware).
El problema aquí es que el núcleo que está arrancando no puede traducir el root=/dev/...
parámetro que le dio (dentro de la configuración del cargador de arranque) en un sistema de archivos real y accesible. Varias razones pueden resultar en tal falla:
- faltan controladores en la configuración del kernel para su controlador HDD (casos 1, 4, 5)
- faltan controladores en la configuración del kernel para el bus utilizado por su controlador HDD
- faltan controladores en la configuración del kernel para el sistema de archivos que está utilizando
- el dispositivo está mal identificado en su raíz = parámetro (casos 2, 3)
Resolver el problema es fácil si sabes cuál es el motivo. Lo más probable es que no, así que aquí hay un chequeo rápido.
Abra el asistente de configuración del kernel (la parte make menuconfig ) para que pueda actualizar la configuración del kernel en consecuencia.
- Compruebe si ha incorporado (y no como módulo) soporte para el bus / protocolo que utiliza su controlador de disco duro.
- Lo más probable es que sea soporte PCI, soporte SATA (que está debajo del soporte del dispositivo SCSI), ...
- Compruebe si ha incorporado (y no como módulo) soporte para el controlador HDD que usa. Uno de los casos más frecuentes: seleccionó el soporte para su protocolo de controlador de disco duro (IDE, SATA, SCSI, ...) pero olvidó
seleccionar el controlador del controlador HDD (como Intel PIIX). Intente
ejecutar el siguiente comando lscpi y pegue su salida en
http://kmuto.jp/debian/hcl/ . El sitio le mostrará qué controladores de núcleo debe seleccionar para su sistema. Dentro de la configuración del menú,
puede escribir "/" para abrir la función de búsqueda y escribir el
nombre del controlador para averiguar dónde reside.
# lspci -n
- Compruebe si ha incorporado (y no como módulo) soporte para los sistemas de archivos que usa.
- Supongamos que su sistema de archivos raíz usa btrfs (que definitivamente no recomiendo) pero no lo seleccionó, o lo seleccionó para construirlo como un
módulo, entonces obtendrá el error que verá. Asegúrese de que el
soporte del sistema de archivos esté integrado en el núcleo.
Compruebe si el parámetro del kernel root=
apunta a la partición correcta.
Esto no es tan estúpido como parece. Cuando se inicia con un núcleo, puede enumerar sus discos como / dev / sda mientras que su núcleo (configurado) espera que sea / dev / hda. Esto no se debe a que los núcleos sean inconsistentes entre sí, sino a los controladores utilizados: los controladores más antiguos usan la sintaxis hda, los nuevos sda.
Intente cambiar hda con sda (y hdb con sdb, y ...).
Además, los núcleos recientes ofrecen una descripción general de las particiones que encontraron en el dispositivo indicado. Si lo hace, podría ayudarlo a identificar si seleccionó incorrectamente una partición (en el ejemplo dado al comienzo de esta sección, solo se encuentran dos particiones, mientras que el núcleo recibió instrucciones de iniciar la tercera). Si no es así, lo más probable es que el núcleo no conozca el dispositivo para empezar (por lo que no puede intentar mostrar particiones).
Compruebe si el núcleo que está iniciando el gestor de arranque es el núcleo correcto. He visto personas que, después de construir un primer kernel (que no arranca), olvidan que tienen que montar /boot
antes de sobrescribir el kernel con uno nuevo. Como resultado, copian el kernel al sistema de archivos raíz ( /
) mientras que el gestor de arranque todavía espera que la imagen del kernel esté en la /boot
partición.