
Por error borré uno de los vmlinuz
archivos de mi /boot
directorio. Sin embargo, hice una copia de seguridad del /boot
interior /tmp
, sólo para estar seguro.
En consecuencia, no puedo iniciar porque aparece el error de archivo vmlinuz que falta. Entonces inicié usando un USB activo, pero cuando entré al /boot
directorio de mi disco duro (sda5), estaba completamente vacío. Si copio los archivos /tmp/boot
a ese /boot
directorio, todavía no puedo iniciar.
¿Cómo puedo restaurar esos archivos en el directorio apropiado?
Respuesta1
vmlinuz
es la imagen del kernel de Linux en sí (la z indica que está comprimida).
Reinstalar el paquete del kernel al que actualmente hace referenciaimagen-genérica-de-linux(o tunúcleo HWE) y probablementelinux-imagen-grabada-genéricaen entornos de arranque seguro UEFI debería resolver su problema.
Reinstalar un kernel desde un chroot
Preferiblemente inicie live media de la misma versión y monte la partición de su instalación (puede hacerlo con Nautilus, será algo así /media/ubuntu/…
) o su /boot
partición (esto será un poco más complejo). Esto estará ${my_installation}
en las siguientes instrucciones.
Busque /lib/modules/
en su instalación ( ${my_installation}/lib/modules/
) las versiones particulares del kernel que se instalaron y elija el número de versión más reciente que pueda encontrar; se hace referencia a esto ${kernel_ver}
en las siguientes instrucciones; en mi máquina virtual de prueba era 3.16.0-46.
Como dije en un comentario anterior, el procedimiento es muy similar a reinstalar Grub en chroot, así que permítanme citaresta respuestacon algunas ligeras modificaciones:
Vincular montar algunas otras cosas necesarias:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "${my_installation}$i"; done
chroot
en su instalación de Ubuntu:sudo chroot ${my_installation}
En este punto, estás en tu instalación, no en la sesión en vivo, y estás ejecutándolo como root. …
Ahora reinstale su kernel (elsigned
El paquete es para arranque seguro UEFI):
apt-get install --reinstall linux-image-${kernel_ver}-generic linux-signed-image-${kernel_ver}-generic
Verifique el /boot
directorio si initrd
aún falta el archivo para este kernel. Para generarlo manualmente ejecute:
mkinitramfs -o /boot/initrd.img-${kernel_ver}-generic ${kernel_ver}-generic
Mi ejemplo:
mkinitramfs -o /boot/initrd.img-3.16.0-46-generic 3.16.0-46-generic
Luego ejecute update-grub
como en la respuesta citada para estar seguro de que el "nuevo" kernel y el initrd están incluidos.
Si también necesita reinstalar Grub, puede seguir los pasos restantes. Recuerde que estas instrucciones fueron escritas para MBR, si tiene UEFI (donde los cargadores de arranque de diferentes sistemas operativos no deben sobrescribirse entre sí), debe verificar que grub-efi-amd64-bin
esté instalado antes de reinstalar Grub.