Cannot boot after upgrading from 12.1 to 12.3 (LVM2)

Hi,

Yesterday I upgraded from 12.1 to 12.3 following this instructions:

https://en.opensuse.org/SDB:System_upgrade

Everything worked fine during the download and installation. However, after rebooting I got the following error message:
“Unable to mount root fs on unknown-block(0,0)” (the kernel is 3.7.10)
I tried booting with the previous kernel (3.1) without success.

It seems to me that the lvm2 support is not there.
I burned a rescue disk, booted and mounted the boot partition
$ sudo mount -w /dev/sda1 /mnt
but I cannot write into it. It says not enough free space but I know this is not true.

I need a way to fix this. The best will be to reinstall the bootloader and the kernel into the boot partition, but I could also mount the LVM2 partition to be able to copy everything and the reinstall from scratch.

Can anybody help me out?

On 2013-04-28 16:16, hegheg wrote:
> $ sudo mount -w /dev/sda1 /mnt
> but I cannot write into it. It says not enough free space but I know
> this is not true.

Prove it :slight_smile:

Show commands to demonstrate facts, please. Try to write something, show
output of df, output of “mount”, etc.

Please use code tags for printouts and commands. Advanced editor, ‘#’
button. Posting in Code Tags - A Guide


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

This is how I solve it, using a combination of:

https://forums.opensuse.org/content/128-re-install-grub2-dvd-rescue.html
https://forums.opensuse.org/vbcms-comments/478290-article-re-install-grub2-dvd-rescue-3.html#post2519005
linux - mount dev, proc, sys in a chroot environment? - Super User

After booting from the rescue disk, I run the following commands:


su 

vgchange -ay <my.volume.group.name>

mount /dev/mapper/<my.volume.group.name>-<my.root.logical.volume.name>  /mnt
mount /dev/sda1 /mnt/boot
mount -t proc /proc /mnt/proc/
mount -t sysfs /sys /mnt/sys/
mount -o bind /dev /mnt/dev/

chroot /mnt

zypper in -f kernel-desktop
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install  /dev/sda