Instalar un nuevo sistema utilizando un disco particionado GPT dedicado a una única partición, con formato ext4 , extlinux (versión 4.05) como gestor de arranque, Ubuntu Core versión 13.10 amd64 como rootfs y Ubuntu linux-image-3.11.0-18-generic como kernel, y extlinux-update para generar la configuración del cargador de arranque.
El resultado después del reinicio (aún dentro de una máquina virtual basada en KVM) es un aviso (initramfs) y estos mensajes:
mount: can't read '/etc/fstab': No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
The filesystem doesn't have requested /sbin/init.
No init found. Try passing init= bootarg.
BusyBox es v1.20.2.
Regresión:
- el sistema de archivos ha sido verificado con
fsck.ext4
Verifique la existencia de la raíz
(initramfs) ls -l /dev/[hs]da*
ls: /dev/[hs]da*: No such file or directory
Argumento de arranque de raíz
(initramfs) cat /proc/cmdline
initrd=/boot/initrd.img-3.11.0-18-generic ro quiet BOOT_IMAGE=/boot/vmlinuz-3.11.0-18-generic
Verificar módulos cargados
(initramfs) cat /proc/modules
e1000 145368 0 - Live 0xffffffffa0000000
/ contenido de la carpeta de arranque
$ sudo ls -l boot
-rw------- 1 root root 3296162 Feb 18 22:37 System.map-3.11.0-18-generic
-rw-r--r-- 1 root root 1007681 Feb 18 22:37 abi-3.11.0-18-generic
-rw-r--r-- 1 root root 163258 Feb 18 22:37 config-3.11.0-18-generic
drwxr-xr-x 2 root root 4096 Mar 17 20:13 extlinux
-rw-r--r-- 1 root root 4995000 Mar 16 23:35 initrd.img-3.11.0-18-generic
-rw------- 1 root root 5634192 Feb 18 22:37 vmlinuz-3.11.0-18-generic
¿Cómo hacer que este sistema arranque al bash prompt predeterminado esperado?
Respuestas:
Modifique su parámetro de arranque del kernel configurando la
root=/dev/sdaX
opción.sdaX
Sería tu/
oroot
partición. Al iniciar la próxima vez, verá queinitramfs
intenta montar la partición antes de intentar acceder/etc/fstab
y montar los sistemas de archivos.Consulte la pregunta " ¿initramfs usa / etc / fstab? " Para obtener más detalles.
fuente
root=/dev/sdaX
mejora la situación, ya no hay un mensaje de inicio de sesión(initramfs)
sino unbash
inicio de sesión.root=/dev/sdaX
al arranque del kernel, necesito actualizar/mnt/etc/default/extlinux
y cambiarEXTLINUX_ROOT=""
a lo sugeridoEXTLINUX_ROOT="/dev/sdaX"
y ejecutar deextlinux-update
nuevo.Lo que necesita entender
initramfs
es que es un sistema de archivos. Desde el kernel 2.6 es, básicamente, el único sistema de archivos impuesto por el kernel (dejando de lado VFS, que posiblemente también sea un sistema de archivos) en su máquina. Tuinitramfs image
es una imagen de disco.Dentro de su
initramfs image
archivo habrá los archivos que su distribución decidió que eran lo suficientemente cruciales como para requerir antes de encontrar su disco raíz. Por lo general, eso es Busybox y cualquier módulo del núcleo que necesite para encontrar y montar su dispositivo raíz. Esto no está funcionando para ti.No hay ningún misterio real aquí, considerando todas las cosas. Si puede orientarse por un indicador de terminal, puede navegar por el botón
initramfs.
Pero primero debe desmitificarlo.Primero y ante todo y una vez más, esto es solo
/.
Es la raíz de Linux haciendo cosas de tipo raíz de Linux. De hecho, si está en un archivo separado de su núcleo, en realidad ya es su segundo dispositivo raíz. Cada kernel de Linux contiene básicamente un/
todo vacío que primero se monta antes de extraer suinitramfs.
Lo que es más,
initramfs
es la raíz real . Es donde el kernel de Linux inicializa el espacio de usuario al ejecutarinit
y posteriormente renunciar a toda responsabilidad por cualquier problema que pueda encontrar a partir de entonces. Tuinit
parece ser Busybox, como muchos, lo que significa que controlar sus acciones debería ser tan simple como editar los scripts de shell que lo acompañan.Entonces, ¿por qué el error de no encontrar?
init?
Definitivamente se refiere a un programa llamadoinit
queinit
se ha instruido a su real a través del script de shell para que se ejecute.Lo más sorprendente para mí es que los sistemas de pseudo archivos del núcleo
dev sys proc
- no se montan. Esto es muy preocupante o una muy buena pista. Usted menciona KVM, lo que me lleva a cuestionar las capacidades del kernel, pero antes de ir por ese camino oscuro y lleno de baches, ¿podemos intentar algo más?Me parece que el mensaje de error es repetidamente:
De lo contrario, necesita reconstruir su
initramfs
imagen. Inicie en un disco en vivo para hacerlo y ejecute cualquier herramienta que su distribución proporcione para lograr ese fin. Ah, y asegúrese de que este disco en vivo esté cargado en modo EFI .Así que aquí está lo único verdaderamente fuera de lo común sobre
initramfs - switchroot.
El kernel de Linux proporciona una llamada al sistema muy especial destinada al espacio de usuario temprano y al manejo del traslado desde
initramfs
su dispositivo de disco raíz. Funciona montando primero el disco raíz en un punto de montajeinitramfs
y luego girando el sistema de archivos raíz. Supongo que suinitramfs's
punto de montaje objetivo seroot
basa en la forma en que sigue gimiendo al respecto. ¿Por qué no asegurarse de que esté allí?Para una mayor investigación, necesitará ponerse un poco valiente. Ajuste su gestor de arranque para pasar ...
... como un parámetro del núcleo.
fuente
efibootmgr
en su solicitud en su máquina virtual.Yo tuve el mismo problema. Lo que dijo Alex es correcto. Primero ajusté mi fstab pero eso no ayudó. Entonces, revisé mi comida. Si tiene la posibilidad de acceder al menú de grub.
Eso resolvió mi problema. Después de reiniciar, mi Linux necesitó más tiempo para comenzar a verificar el disco. Pero ahora funciona de nuevo.
Espero que te pueda ayudar.
Saludos
fuente