LINUX

Cómo arreglar una imagen de Initrd rota en Linux

Hoy, le mostraremos cómo puede reparar su Imagen Initrd rota o borrada accidentalmente, es decir. Imagen del kernel de Linux y GRUB Loader en su máquina instalada con Ubuntu. También debería funcionar para derivados de Ubuntu, así como para otras distribuciones.

Initrd es un esquema para cargar un sistema de archivos raíz temporal en la memoria en el proceso de arranque del kernel de Linux. Es un archivo cpio del sistema de archivos inicial que se carga en la memoria durante el proceso de inicio de Linux. El Kernel lo monta como sistema de archivos raíz e inicia el proceso de inicio desde él.

La imagen de Initrd puede estar rota o dañada si el kernel que instaló está dañado o debido a algunas modificaciones realizadas en el kernel del sistema o en el proceso de arranque que, como resultado, el sistema se bloquea 🙁

pánico

initrd-error

Como sabemos, «Cuando hay voluntad, hay camino». Sí, podemos reparar o reconstruir la imagen initrd. En mi caso, les mostraré mi sistema operativo Ubuntu 13.10.

A continuación, se muestran sencillos pasos paso a paso con capturas de pantalla que nos ayudarán a reconstruir nuestra imagen de kernel dañada (Initrd)

1. Arranque su máquina con Live Media

Puede usar su CD / DVD de Ubuntu o una memoria USB para arrancar en vivo en su máquina. Si no tiene uno, hay muchas formas de crear dispositivos de arranque. Puede descargar la última Ubuntu Distribución desde su sitio oficial, es decir. http://ubuntu.com/ y grabe la imagen en un DVD en blanco o utilice unetbootin para crear su memoria USB de arranque.

2. Abra una consola de terminal y obtenga la ruta de las particiones

Puede ejecutar fácilmente una consola de terminal presionando Ctrl + Alt + T en Ubuntu o puede cambiar a tty1 presionando Ctrl + Alt + f1. Lo que tenemos que hacer es montar nuestro sistema de archivos desde nuestro disco duro. Para eso, necesitamos conocer la ruta del dispositivo. Para obtener la ruta del dispositivo, debe ejecutar:

$ sudo fdisk -l

fdisk-l

Aquí, del resultado anterior, en mi caso, sda1 es el que necesito montar.

3. Monte los sistemas de archivos

El sistema de archivos necesitamos montar las particiones del disco duro como / (root), / boot, / var y deberíamos montar bind / sys, / proc y / dev en un directorio / mnt. Entonces, eso se puede hacer siguiendo los pasos a continuación:

$ sudo mount /dev/sdaX /mnt

montar

Nota: Aquí en / dev / sdaX, X se refiere a la partición número 1 en mi caso, que obtuvimos del paso 2.

$ sudo mount --bind /dev /mnt/dev

$ sudo mount --bind /proc /mnt/proc

$ sudo mount --bind /sys /mnt/sys

4. Chroot / mnt y creación de una copia de seguridad de la imagen initrd

Ahora, necesitamos chroot / mnt para poder configurar el entorno chrooted para la partición del disco duro.

$ sudo chroot /mnt

chroot

Una vez que haya terminado Chroot, realizaremos una copia de seguridad del archivo de imagen de initrd, puede ver los archivos de imagen en / boot.

# ls /boot/*initrd*

or
# ls /lib/modules/

módulo-kernel

Podrá obtener la versión del kernel que tiene actualmente en el sistema con el comando anterior.

Considere reemplazar la versión 3.11.0.12-generic con la propia que obtuvo del comando anterior.

# mv /boot/initrd.img-3.11.0.12-generic /boot/old-initrd.img-3.11.0.12-generic-old

Nota: el formato de archivo de la imagen initrd puede diferir de Ubuntu a los sistemas basados ​​en Fedora.

Si su imagen initrd ha sido eliminada, no podrá ejecutar el comando anterior, por lo tanto, no podrá crear su copia de seguridad.

5. Creación de la imagen inicial

Ahora, lo real está aquí. Vamos a construir la imagen del kernel initrd aquí usando el siguiente comando:

# mkinitrd /boot/initrd.img-3.11.0.12-generic 3.11.0.12-generic-old

El comando anterior funciona para las otras distribuciones como CentOS, Fedora, Hat, etc.no para Ubuntu

Para distribución basada en Ubuntu:

# update-initramfs -c -k 3.11.0.12-generic

update-initramfs

6. Finalización de Grub Loader y desmontaje

Iremos a desmontar el camino montado como:

Si su sistema tiene Fedora, RHEL, CentOS instalado, intente esto:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Si su sistema tiene Ubuntu y su derivado instalado:

# update-grub

# exit

grub-update

Ahora, hemos salido con éxito de nuestro entorno Chroot.

$ sudo umount /dev

$ sudo umount /proc

$ sudo umount /sys

$ sudo umount /mnt

desmontar

Hurra, ahora reinicia tu máquina y expulsa tu dispositivo de arranque. Lo hemos hecho con éxito, reinicie su sistema a la normalidad y disfrute de la Computación Linux.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar