Can't boot after update

I just invoked “zypper up” and after completion I can no longer boot into Leap 42.3. After I use my grub2 dvd to start and invoke YaST trying to correct the boot sequence, I get the following error:-

Execution of command ""/usr/sbin/grub2-install","-target=i386-pc","--force","--skip-fs-probe","/dev/sdb"]]" failed
Exit code: 1

Error output: Installing for i386-pc platform.
/usr/sbin/grub2-install: error: cannot find a GRUB drive for /dev/sdb. Check your device map.

Why is it talking about an i386-pc when it’s on a 64bit computer?

Any assistance will be appreciated.

Why is it talking about /dev/sdb. There is no /dev/sdb!

# fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000b0289


Device     Boot     Start        End    Sectors   Size Id Type
/dev/sda1            2048    4196351    4194304     2G 82 Linux swap / Solaris
/dev/sda2  *      4196352   65636351   61440000  29.3G 83 Linux
/dev/sda3        65636352  127076351   61440000  29.3G 83 Linux
/dev/sda4       127078398 1953523711 1826445314 870.9G  5 Extended
/dev/sda5       127078400  147558399   20480000   9.8G 83 Linux
/dev/sda6       147560448  168040447   20480000   9.8G 83 Linux
/dev/sda7       168042496  905322495  737280000 351.6G 83 Linux
/dev/sda8       905324544  968239103   62914560    30G 83 Linux
/dev/sda9       968241152  989212671   20971520    10G 83 Linux
/dev/sda10      989214720 1953523711  964308992 459.8G 83 Linux

Partition 4 does not start on physical sector boundary.
linux-hdyq:/home/ion # 

Several hours later I discovered the problem.

Just before updating Leap 42.3 I had updated Leap 15.0 which is installed on the same drive (dev/sda). The Leap 15.0 update had written the grub boot file not to the MBR but to a partition, but for some odd reason Leap 15.0 had identified that particular boot partition as being on /dev/sdb. Very odd. So the Leap 42.3 update was trying to modify the grub boot file on a drive that didn’t exist.

After booting from a Super Grub DVD I noticed that YaST boot setup was trying to write not to the MBR but to that non existent partition. When I wrote it to the MBR everything returned to normal.

Why would the drive be identified as sda by 42.3 and sdb by 15.0?

Grub uses 32-bit code for MBR booting, because the BIOS normally assumes 32-bit code. On a UEFI box, grub uses 64-bit code for booting.

You probably had a USB drive plugged in while installing. And on some systems, the USB drive is set as “/dev/sda” and the internal hard drive as “/dev/sdb”. It probably depends on hardware details.

I’m glad you were able to solve the problem.