How to solve this boot error message?

dafunkkk@lemmy.world to Linux@lemmy.ml – 46 points –

I'm on debian 11, this error doesn't show up every time, but once it appear I need more that one reboot and it will fix automatically without doing nothing, don't know the reason why (just read that can be kernel dependent). What I want to avoid is that maybe it's just a warning of somethink that will cause a pc break in future (maybe hardware is starting working bad?) Do you have any sugggestion? Thanks

21

Disk sometimes being too slow to appear? Try rootwait/rootdelay kernel cmdline options.

Did you change your fstab, or have a full partition or something?

I not on that machine but as far as I remember it's a full ntfs partition, don't think I ever changed fstab

Your root filesystem is NTFS? That's likely the problem - I'm surprised it boots at all. Switching to a Linux filesystem is the likely solution. You could also try a newer kernel, too - 5.10 is quite old, current LTS is 6.1. Good luck.

Kernel says it can't mount root device. Maybe it is not specified or kernel just can't find it. You need to edit root= parameter for kernel. For:

  1. GRUB: press 'e' to edit menu entry and then press 'F10' to boot
  2. LILO: just append desired root=
  3. EFIStub: change it in config and recompile it

If you use GRUB you can use its console and search for disk and partition where root fs is located.

Depending on if you wrote the kernel cmdline yourself I imagine this might happen using /dev/sdN style device paths? BIOS might change things up every now and then for fun, so using partition UUIDs would be a better way if so.

I hope by partition UUID you mean root=PARTUUID=, not root=UUID= because kernel can understand only PARTUUID.

so can be bios dependent?..it's possible to change from /dev/sdn to UUIDs...how? Thanks

Yes if you have multiple drives some buggy BIOS may not enumerate them in the same order every time. Most modern distros do UUIDs by default but when manually setting up a bootloader it is easy to succumb to such temptations to use the much simpler device paths as the UUIDs are a pain. If you're not sure how to change the kernel parameters most likely you're good on that front actually, its in your grub config as others have mentioned. I'll leave this comment around in case some poor soul who did it manually comes across the thread.

Basically just look for things like root=/dev/sda2 in the kernel command line. You can get it at runtime by running "cat /proc/cmdline" having /dev/sda etc in your fstab might also be a problem

You can change those to /dev/disk/by-uuid/XYZ ("ls -an" that directory to see the symlinks to your current drives)

You sure your hdd/ssd is fine? It complains about not being able to mount the root fs.