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
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
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.
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.
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.
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.
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.
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…