Yo uso Lubuntu 20.04, que arranca desde un SSD.
Hoy permití que el sistema realizara actualizaciones y posteriormente recibí un mensaje de error que decía que update-initramfs falló. Busqué en Google el mensaje de error y encontré esto.enlacelo que sugirió que el problema podría resolverse liberando algo de espacio en /boot y reinstalando un paquete. Creo que cometí un error al intentar hacer ambas correcciones en un solo procedimiento.
Hice:
sudo apt remove initramfs-tools
sudo apt-get auto-remove
sudo apt-get clean
sudo apt install initramfs-tools
sudo apt-get update
Todo parecía estar arreglado hasta que reinicié la máquina. La máquina no pudo reiniciarse automáticamente, pero entré al menú de inicio y elegí un kernel más antiguo. Eso funciono. Al inspeccionar los comandos de arranque rotos y en funcionamiento, creo que ya no estoy arrancando desde el SSD (también podría estar equivocado).
La opción de arranque rota (que solía funcionar) es:
menuentry 'Ubuntu, with Linux 5.4.0-86-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-86-generic ...'
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
}
... y la opción de trabajo es:
menuentry 'Ubuntu, with Linux 5.4.0-84-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /initrd.img-5.4.0-84-generic
}
¿Hay alguna manera de reparar el daño y hacer que Lubuntu vuelva a arrancar desde el SSD? Ahora creo que la operación de eliminación automática puede haber destruido información vital en el SSD.
La opción de arranque roto produce este resultado antes de fallar:
Si uso la opción de arranque funcional, ahora obtengo la siguiente respuesta de df (/boot parece estar en el SSD, por lo que parece que mi idea de que esta opción arrancaba a través del disco duro probablemente sea incorrecta).
df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.2G 2.1M 3.2G 1% /run
/dev/nvme0n1p3 468G 121G 324G 28% /
tmpfs 16G 92M 16G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
tmpfs 16G 11M 16G 1% /tmp
/dev/loop1 128K 128K 0 100% /snap/bare/5
/dev/loop3 62M 62M 0 100% /snap/core20/1081
/dev/loop2 56M 56M 0 100% /snap/core18/2128
/dev/loop4 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop5 243M 243M 0 100% /snap/gnome-3-38-2004/76
/dev/loop0 56M 56M 0 100% /snap/core18/2074
/dev/loop6 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop7 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop8 699M 699M 0 100% /snap/libreoffice/227
/dev/nvme0n1p2 510M 318M 155M 68% /boot
/dev/nvme0n1p1 532M 5.3M 527M 1% /boot/efi
/dev/loop9 163M 163M 0 100% /snap/gnome-3-28-1804/145
/dev/loop10 33M 33M 0 100% /snap/snapd/13170
/dev/loop11 33M 33M 0 100% /snap/snapd/12883
/dev/loop12 701M 701M 0 100% /snap/libreoffice/229
/dev/loop13 242M 242M 0 100% /snap/gnome-3-38-2004/70
tmpfs 3.2G 8.0K 3.2G 1% /run/user/1000
/dev/sdb1 1.9T 1008G 856G 55% /media/paul/Seagate Backup Plus Drive
Mi grub.cfg completo es:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
else
search --no-floppy --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_GB
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
menuentry 'Ubuntu, with Linux 5.4.0-86-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-86-generic ...'
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
}
menuentry 'Ubuntu, with Linux 5.4.0-86-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-recovery-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-86-generic ...'
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro recovery nomodeset dis_ucode_ldr
}
menuentry 'Ubuntu, with Linux 5.4.0-84-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /initrd.img-5.4.0-84-generic
}
menuentry 'Ubuntu, with Linux 5.4.0-84-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
else
search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
fi
echo 'Loading Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /initrd.img-5.4.0-84-generic
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Respuesta1
Resuelto ! Explicaré cómo hacerlo para cualquiera que tenga un problema similar. Dos publicaciones me ayudaron a resolver el problema.
Arranqué el sistema usando un kernel anterior (si no lo hubiera tenido, habría intentado arrancar desde una memoria USB).
En primer lugar, descubrí cómo usar journalctl para ver los errores del inicio fallido:
journalctl -b -2 -e
Agregué resultados de journalctl a mi publicación original. Es posible que deba cambiar el número para ver el inicio correcto. Puedes encontrar el número correcto usando:
journalctl --list-boots
El post que me ayudó esaquí
En segundo lugar, identifiqué el problema clave del registro como:
kernel panic - not syncing vfs unable to mount root fs on unknown-block(0 0)
Esto fue resuelto por:
sudo update-initramfs -u -k 5.4.0-86-generic
sudo update-grub
Donde 5.4.0-86-generic es el nombre del kernel que se rompió y dejó de arrancar.
El post que me ayudó eseste