no boot after device mount change installing 12.2

I was just going through updating from 12.1 to 12.2, but it came up with a warning about my partitions being mounted by device name and hence not persistent. ‘Not this again’, I thought, recalling the same issue which was buried a few years ago. I then realised that I’d replaced the hard disk and done a fresh install of 12.1 previously, so I don’t understand why it chose device-name by default when that’s not recommended.

I wasn’t sure it would matter since it’s a laptop with just the one disk in it, but thought I’d be a dutiful citizen and follow openSUSE’s advice else run into issues and get lambasted in the forums afterwards. Well, I changed all the partitions on /sda from Device Name to UUID in YaST. Reading the advice at the bottom of this page on the openSUSE SDB, I checked that fstab had been updated accordingly, then looked at the file. The latter listed (hd0) by Device ID, not UUID, but since that was also persistent I thought that wouldn’t matter.

Went through the 12.2 upgrade but at the point where it reboots, I now get the classic Error 17: Cannot mount selected partition. I don’t know how to recover from here. What do I type at the grub menu, or if I boot into the rescue system on the DVD, how can I get to the files on /sda that need editing?

Hmm, have it your way then. I’ll fix openSUSE myself.

I’m not sure if this is potentially a problem for many others doing an upgrade, perhaps due to the change to GRUB2 and/or a broken YaST bootloader script. But for the sake of any others in this position, here’s what I did:

Note that I’m referring to the original GRUB settings here, I’ve still no idea about GRUB2 and what works for that. Whether or not I should have followed the installer advice to change mount type before proceeding is one thing. For somebody with a complex setup and multiple disks / partitions, it might be something you want to sort out way in advance of the update and check thoroughly that you can reboot and use the machine; don’t leave it until the upgrade. I eventually got to reclaim my system by putting this setting back to how it was, i.e. mounted by Device Name. But only after two days bumming around with the Rescue System trying 101 other things.

If your original GRUB menu.lst file has been somehow horked and you get the Error 17 message, after pressing ‘any key’ you might be able to simply edit the grub line and get back up and running. Press ‘e’, select the relevant line on the GRUB menu, press ‘e’ again and verify that where it says* kernel /vmlinuz…* and initrd /initrd…, each is preceeded by /boot, e.g.:

kernel /boot/vmlinuz-3.1.10-1.16-default

In my case it had (hd0)/vmlinuz… at the start which messed it up. My /boot folder is on a separate partition so since the partition is already specified, /boot only refers to the link to itself that exists in the /boot folder, but I guess providing you have that link it can’t do any harm to leave it in. After making the edits and pressing Enter after each, press ‘b’ to try booting.

In my case I had to change back the fstab prior to that using the Rescue System on the openSUSE DVD. At the rescue login, type ‘root’ and at the prompt, well, this is where I’ll get lambasted for providing misinformation. There seem to be many variations I’ve read across forum posts, blogs and elsewhere about exactly what to do here. This is simply what worked for me:

mkdir /mnt/sdaX

(where X is your / or /boot partition with the files you want to edit)

mount /dev/sdaX /mnt/sdaX
cd /mnt/sdaX

I’ve seen many versions mentioning bind, chroot and mounting /proc, /sys and so on. I didn’t need any of that just to edit the fstab and menu.lst files. Once I’d mounted the partitions and changed directory that was it. I used joe to open the text files. So for example, to edit the fstab file in the /etc directory, type

cd etc
joe fstab

to open the file. I put each partition back to its original state mounted by Device Name, e.g. /dev/sda1 etc. Of course, prior to changing mount type you absolutely should make backups of these files and then you can simply copy/move the originals back in place. Joe is a weird editor but simple and considerably less nightmarish than trying to use a program like Vim, so to see the commands for saving, etc., you need to hold down CTRL and type K and H consecutively. Press CTRL and C to exit back to the command line.

After I’d done this and rebooted I got the newly updated system up and running again. But, I went into YaST Boot Loader to check all the settings again and make the edits to the GRUB lines permanent. After making my changes and pressing OK I looked in the menu.lst file and it hadn’t applied these changes. So it seems you definitely need to edit this file by hand.

All these things are explained in fragments in a zillion-and-one other posts I’ve been looking through of late. I’m certainly not the only one with problems along these lines, but I’ve not seen a post from somebody with the exact same situation so hope this helps.

openSUSE 12.2 looking good so far… finally.

Thanks for your post. I simply used the grub editor and removed the (hdo) and it worked fine. :slight_smile: