You are not logged in.
Hi.
After running my computer without rebooting for some weeks (and installing updates continuously during that time, without notifcing any errors) I rebooted this morning, only to be faced by a kernel panic:
Loading initial ramdisk...
error: file `/boot/initramfs-linux.img` not found.`
Press any key to continue ...
followed by
Call Trace:
...
...
...
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unkown-block(0,0) ]---
I've tried to use the fallback option in grub, but it results in the same error, only now it can't find /boot/initramfs-linux-fallback.img instead.
Recent changes are:
- enabling multilib
- installing wine and lots of supporting libraries
but I don't see how this would correlate.
How should I progress to solve this, what is your suggested next step? What more output might be useful to post?
BR OTS
PS. I've found posts and articles that covers similar topics. However, those I've found are either quite old or are directly related to fresh installs or multiboot, neither of which I think applies here. DS.
Last edited by ots (2020-11-23 05:48:16)
Offline
The number one reason for this is either having /boot not mounted despite needing to, or the reverse having /boot mounted but the boot loader configured to load images from the unmounted root partition's /boot directory.
What's the case here? Post a
lsblk -f
with the partitions mounted like you think they should be from a live USB's chroot, as well as your boot loader configuration: https://wiki.archlinux.org/index.php/Li … in_clients
Last edited by V1del (2020-11-20 10:31:16)
Offline
Ok so output from lsblk -f (ix.io is pretty awesome, haven't seen that before) was:
Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: INTEL SSDSC2CT12
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x81e688e6
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 234440703 234438656 111.8G 83 Linux
Disk /dev/sdb: 1.36 TiB, 1500301910016 bytes, 2930277168 sectors
Disk model: WDC WD15EARS-00Z
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xd8ba513f
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 2930276351 2930274304 1.4T 83 Linux
Disk /dev/sdc: 7.27 GiB, 7807401984 bytes, 15248832 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 30323032-3131-4130-B030-303633383130
Device Start End Sectors Size Type
/dev/sdc1 64 1374207 1374144 671M Linux filesystem
/dev/sdc2 1374208 1497087 122880 60M EFI System
/dev/sdc3 1497088 1497687 600 300K Microsoft basic data
Disk /dev/loop0: 610.11 MiB, 639750144 bytes, 1249512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
but printed during the command for the SSD (where arch is installed) and omitted from ix.io output was
[ 8966.708405] blk_update_request: I/O error, dev fd0, sector 0 op 0x0: (READ) flags 0x0 phys_seq 1 prio class 0
[ 8978.962233] blk_update_request: I/O error, dev fd0, sector 0 op 0x0: (READ) flags 0x0 phys_seq 1 prio class 0
Can this be related?
Will return when I've had time to mount these and found the grub conf.
Offline
And the grub.cfg, which I think is was what was asked for
#
# 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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
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 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_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 99a69c03-bf69-4ad1-bb54-6b9b821e056a
else
search --no-floppy --fs-uuid --set=root 99a69c03-bf69-4ad1-bb54-6b9b821e056a
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_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-99a69c03-bf69-4ad1-bb54-6b9b821e056a' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 99a69c03-bf69-4ad1-bb54-6b9b821e056a
else
search --no-floppy --fs-uuid --set=root 99a69c03-bf69-4ad1-bb54-6b9b821e056a
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=99a69c03-bf69-4ad1-bb54-6b9b821e056a rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/amd-ucode.img /boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-99a69c03-bf69-4ad1-bb54-6b9b821e056a' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-99a69c03-bf69-4ad1-bb54-6b9b821e056a' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 99a69c03-bf69-4ad1-bb54-6b9b821e056a
else
search --no-floppy --fs-uuid --set=root 99a69c03-bf69-4ad1-bb54-6b9b821e056a
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=99a69c03-bf69-4ad1-bb54-6b9b821e056a rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/amd-ucode.img /boot/initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-99a69c03-bf69-4ad1-bb54-6b9b821e056a' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 99a69c03-bf69-4ad1-bb54-6b9b821e056a
else
search --no-floppy --fs-uuid --set=root 99a69c03-bf69-4ad1-bb54-6b9b821e056a
fi
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux root=UUID=99a69c03-bf69-4ad1-bb54-6b9b821e056a rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-linux-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### 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 ###
Offline
That's not the output of lsblk -f, but fdisk -l
Are you sure the nvme drive is visible in bios mode? What about your fstab?
Offline
That's not the output of lsblk -f, but fdisk -l
You are right and I am stupid. Here is the correct paste:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
fd0
loop0 squashfs 4.0 0 100% /run/archiso/sfs/airootfs
sda
└─sda1 ext4 1.0 99a69c03-bf69-4ad1-bb54-6b9b821e056a 40.9G 58% /mnt/ssd
sdb
└─sdb1 ext4 1.0 a5b15963-98d3-48fe-ab31-a80c810b8c78
sdc iso9660 Joliet Extension ARCH_202011 2020-11-01-06-38-10-00
├─sdc1 iso9660 Joliet Extension ARCH_202011 2020-11-01-06-38-10-00 0 100% /run/archiso/bootmnt
├─sdc2 vfat FAT16 ARCHISO_EFI 83EA-5409
└─sdc3
sr0
Note that
/mnt/ssd
is where I've mounted it during these operations from the live USB.
Are you sure the nvme drive is visible in bios mode? What about your fstab?
Here is the /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
# UUID=99a69c03-bf69-4ad1-bb54-6b9b821e056a
# /dev/sdb1 / ext4 rw,relatime 0 1
UUID=99a69c03-bf69-4ad1-bb54-6b9b821e056a / ext4 rw,relatime 0 1
/swapfile none swap defaults 0 0
# UUID=a5b15963-98d3-48fe-ab31-a80c810b8c78 /mnt/wdc ext4 rw,relatime 0 2
# UUID=a5b15963-98d3-48fe-ab31-a80c810b8c78 /mnt/wdc ext4 nofail,noauto,x-systemd.automount,x-systemd.mount-timeout=30 0 2
# UUID=b14c58a2-850e-406c-893f-83fd67b533c4 /mnt/st ext4 rw,relatime 0 3
#/mnt/wdc/Movies /srv/nfs/Movies none bind 0 0
I've had trouble automounting my extra HDD, so I manually mount it. That's why some rows are commented.
I'm afraid I don't understand the part about nvme and bios mode. How would I check if it is avaliable?
Offline
Sorry had a brain fart forget that last part
Looks alright, try reinstalling the linux package from the chroot
Offline
Sorry had a brain fart forget that last part
Looks alright, try reinstalling the linux package from the chroot
1. Which package? I'm assuming you mean the general linux-generic-whats-it-called, but since I'm posting from the newbie corner I'm taking my own assumptions with a grain of salt. Also I am not sure what it is called during install.
2. Would it be necessary to mount anything more than /dev/sda1 to /mnt and chroot? I've seen it mentioned that one should mount /home to /mnt/home etc, but I doesn't feel necessary. Correct me if I am wrong.
Offline
1. https://www.archlinux.org/packages/core/x86_64/linux/
2. No, /home is not required and since you don't have a /boot partition, just mounting the root partition will do.
Use arch-chroot to get devfs/procfs/sysfs setup or read https://wiki.archlinux.org/index.php/Chroot
Online
Well, problem solved!
I followed instructions by mounting /dev/sda1 to /mnt and arch-chroot into it (NOTE to other newbies, 'chroot /mnt' seems to not be the same thing as 'arch-chroot /mnt', I missed this and it bit me for a while), then running pacman -S linux. During the reinstall of that package a initramfs-linux.img was generated. Then exit from arch-chroot and reboot and things were back to normal.
I've rebooted some more and done other tasks and everything seems back to normal.
1. Thank you very much for the support!
2. Any guesses as to how I ended up in this state?
I'll mark this solved.
Offline
Image corruption for some reason, pay attention to/read your pacman output during linux updates on whether mkinitcpio threw errors during the image build. Maybe check your /var/log/pacman.log maybe the reason for failure is documented there. Could also happen if you had a crash/unclean shutdown shortly after updating.
That's for the harmless reasons, if you're unlucky you could have hardware issues with your drive, maybe run a few SMART checks: https://wiki.archlinux.org/index.php/S.M.A.R.T.
Offline