No boot

Hi there and thx for reading and answering if you can,

Just yesterday, something happened at the BIOS level and I wasn’t able to restart my system: grub can’t find out my root partition.

Then I ran the rescue system on the opensuse DVD to see what’s the matter. Apparently, the disk isn’t damaged and I can see partitions but when I mount them individually, the content can’t tell me what is what. This is probably an effect of the btrfs file organization. I can’t even find out what is the root partition !

So, I don’t know how to rescue my system and wouldn’t like to reinstall everything

Ok, I made a system upgrade from the opensue DVD, but I wasn’t able to boot again: I got the grub rescue shell. When I make a

ls (hd1,msdos8)/

the grub shell returns : filesystem unknown. Of course I think the reading of a btrfs volume hasn’t been included in the shell itself, and insmod normal doesn’t work for the same reason

Using the rescue system, try the command:

parted /dev/sda print

or even

parted -l

The second will probably give too much output, so be hard to read. For the first of those, change “/dev/sda” to whatever disk it is, if it is not “/dev/sda”.

It should tell you which partition uses “btrfs” (and that probably the root partition).

Ok, i did that but parted isn’t that talkative after all. But according to the opensuse upgrade process, the boot partition seems to be /dev/sdb8. So…

That being said, the problem seems to be related to the grub boot process.
It can’t find the correct partition so I should reinstall the whole stuff.
Fortunately it exists a help page: **Re-install Grub2 from DVD Rescue
**I’m going ro have a look

problems again: according to the reinstall doc page, I should do a mount /proc, but /proc isn’t found on /etc/fstab

I overcame the problem with mount -t proc proc /proc.

I reinstalled, restarted the computer and bot the same error: no such device 18f012b4…etc
How to change the device when doing a reinstallation ?

Possibly, something is trying to reference a partition on your install USB, or something else that was present during the install and is not there now. An installer bug seems to sometimes do that.

Try booting. When you get to the boot menu, hit ‘e’. That allows you to edit the boot menu. Scroll down to find the line that starts “linux” (or perhaps “linuxefi”). See if there is a parameter on that line “resume=somestring”. If there is, then delete that parameter (until the next space). Then hit CTRL-X to see if it now boots.

I’d like to get the menu, but got the rescue shell instead. Curiously, the uuid of my boot partition seems to have changed… :sarcastic: That’s why I intend to reinstall the boot with the real uuid of my partition, but it is not clear where, among all those config files, what I should edit.

If you know which is the root partition, then:

Boot from rescue media.
Mount the root partition at “/mnt”


mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys

That should give the basic mounts. And then go into chroot mode


chroot /mnt
mount -a

That should complete any other needed mounts. And you are still in chroot mode. So reinstall grub. Actually, the easiest way to do this might be with Yast bootloader.

yast

That should give you Yast in chroot mode. It is an ncurses interfaces, so it is a bit awkward compared with the more familiar GUI. But it gets the job done. Just change something in the bootloader settings (increase the timeout by 1 second), and it will reinstall grub when you are finished.

Then exit chroot mode and reboot


exit   ## leave chroot mode
shutdown -r now

Perhaps I should add: There’s a possibility that you have a failing hard drive, in which case rescue attempts might be futile.

one. but I got gthe same error message…

Done but I got the same error message:

error: no such device: 18f012b4...
error: unknown filesystem.
Entering rescue mode...

of course, there is no device named 18fo12b4… in /dev/disk/by_uuid
my root partition /dev/sdb8 has another uuid
but the yast boot manager doesn’t acknowledge that

by the way
, when I boot and reboot, my boot disk often leaps from sda to sdb and backwards

I have had that happen. It was a hardware problem – actually a problem with the disk cable connector. The system sees a fault. And then when it next sees the disk it assigns a new device name.

But what about the non-existing uuid ? 18f… How to change it when configuring the bootloader ?

I noticed one thing: in the /boot/grub2/grub.cfg, the root partition is correctly set, but the installation process doesn’t seem to write the good data for the bootloader.

Without seeing the actual error message, it is hard to know the implications.

I have no idea what that means.

I still do not know whether you are booting with UEFI or with traditional BIOS booting. And if it is traditional BIOS booting, I do not know whether you are booting from the MBR or from the boot sector of another partition. And the meaning of “good data for the bootloader” presumably depends on that.

I don’t either…

no UEFI, but a classical BIOS based computer. yast says that it should boot from MBR, Doesn’t write generic boot code in MBR.
In grub.cfg, I have several references to the correct uuid partition, such as --set root=6076e49b…etc…

When you try to boot, does it read the correct “grub.cfg”?

PROBLEM SOLVED !

I had to disconnect all the disks, but the main one, then reinstall with yast, halt the system, reconnect all the disks and reboot. That’s all

Thx anyway for your care about my difficulties with a not so easy conundrum.