Need Guidance to avoid Boot Problems

I want to upgrade my Dual boot (openSUSE 13.2 / Windows 10) Toshiba laptop to Leap 42.2.

About a year and a half ago the forum kindly helped me work it out when I upgraded from Windows 8 to 10. See https://forums.opensuse.org/showthread.php/507977-Dual-Boot-after-Upgrades-problem

The recent thread https://forums.opensuse.org/showthread.php/522211-After-install-of-Leap-42-2-can-only-boot-Windows-10 reminds me that problems are likely.

I would like to avoid the problems common to dual boot laptops by getting some guidance before I start. Would Upgrading 13.2 to 42.2 (not new installation) avoid boot loader problems?

Cordially,
TwoHoot

Hi
The link you refer appears to be user confusion with what goes where and how… I have multiboot systems (win10) with UEFI all works fine if the hardware cooperates.

Is your system UEFI or Legacy? Legacy is an issue for Windows 10 SP Updates since it needs an extra partition for this (Not a linux issue), if the system is UEFI and GPT disk, not an issue…

It is UEFI.

Does it matter whether I do a complete installation of Leap 42.2 or just upgrade 13.2?

I really don’t want to have to go through the booting problems again because I don’t understand UEFI.

Cordially,
TwoHoot

You can upgrade in place via zypper dup or via selecting Upgrade on the install media. I’d recommend using the install media.

EFI boot is actually easier to understand then MBR boot simply because there are fewer restriction on how you can layout your partitions

Be sure to boot the installer in EFI mode since mixing boot mods can lead to problems

Hi
So all you need to do is select expert partitioner, rescan the drive and then make sure you select the existing type EFI partition, set to not format and then set the mount point to /boot/efi in the dropdown if necessary, but I expect the installer will do that on upgrade. Personally with all the changes to configs etc, I would backup ~/ home directory and start with a fresh install…

Lets see the output from;


lsblk

What model Toshiba is it?

jch@linux-usf9:~> lsblk NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT sda      8:0    0 698.7G  0 disk  ├─sda1   8:1    0     1G  0 part  ├─sda2   8:2    0   260M  0 part /boot/efi ├─sda3   8:3    0   128M  0 part  ├─sda4   8:4    0   252G  0 part  ├─sda5   8:5    0  10.4G  0 part  ├─sda6   8:6    0     2G  0 part [SWAP] ├─sda7   8:7    0    20G  0 part / └─sda8   8:8    0 412.9G  0 part /home sdb      8:16   1   7.5G  0 disk  └─sdb1   8:17   1   7.5G  0 part  sr0     11:0    1  1024M  0 rom   jch@linux-usf9:~>                      


Toshiba Satellite L70-A

The Output doesn’t look right. Let me try again

jch@linux-usf9:~> lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 698.7G  0 disk 
├─sda1   8:1    0     1G  0 part 
├─sda2   8:2    0   260M  0 part /boot/efi
├─sda3   8:3    0   128M  0 part 
├─sda4   8:4    0   252G  0 part 
├─sda5   8:5    0  10.4G  0 part 
├─sda6   8:6    0     2G  0 part [SWAP]
├─sda7   8:7    0    20G  0 part /
└─sda8   8:8    0 412.9G  0 part /home
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part 
sr0     11:0    1  1024M  0 rom

That looks better. No idea what I did wrong the first time

Hi
It does look better… you should be fine, just make sure sda2 gets selected as /boot/efi and not format, you may wish to delete the current openSUSE efi references in nvram via booting to rescue mode. I always clean them out before an install (I only do upgrades on SLE machines) since I prefer fresh installs. I don’t use home for stuff, your sda8 would be my /data…

The upgrade was uneventful. But …

Windows 10 is NOT an option on the boot screen. The only options are openSuse 42.2, Advanced and halt.

What needs to be done next?

first just double-check that the windows 10 boot entry is still there. to do this:

open a konsole window
type: su
enter your root password
then enter the command: efibootmgr -v

linux-usf9:/home/jch # efibootmgr -v
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0003,0000,2003,2001,2002
Boot0000* opensuse      HD(2,200800,82000,3c7e242e-cd5d-11e2-b2cf-fd7e81217aaa)File(\EFI\opensuse\grubx64.efi)
Boot0001* EFI Network 0 for IPv6 (08-9E-01-C6-82-17)    ACPI(a0341d0,0)PCI(1c,3)PCI(0,0)MAC(089e01c68217,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000RC
Boot0002* EFI Network 0 for IPv4 (08-9E-01-C6-82-17)    ACPI(a0341d0,0)PCI(1c,3)PCI(0,0)MAC(089e01c68217,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0RC
Boot0003* Windows Boot Manager  HD(2,200800,82000,3c7e242e-cd5d-11e2-b2cf-fd7e81217aaa)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...-................
Boot0004* opensuse-secureboot   HD(2,200800,82000,3c7e242e-cd5d-11e2-b2cf-fd7e81217aaa)File(\EFI\opensuse\shim.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
linux-usf9:/home/jch # 


Your windows boot manager looks fine. Would suggest as a next step that you start yast and go into the bootloader section. See if you have an option for windows in the settings (this users os-prober).

There is a box in Yast bootloader that says something like probe for foreign operating systems that should be check to allow discovery of other OS. Note all OS must use the same boot method to be able to chain boot.

Yast > System > Bootloader > Bootloader Options

There is a box labeled “Probe Foreign OS”. It is checked.

Per chance is Windows using Dynamic disk that can make Window partitions invisible

I don’t know anything about Windows since Vista. (Everything is open source except for a mapping application and getting data off my cell phone) I don’t know about dynamic disk or how to find out since I can’t start windows.

Here is an error message generated when I used Dolphin to try to access the Windows partitions:

 An error occurred while accessing 'TI10664900J', the system responded: The requested operation has failed: Error mounting /dev/sda4 at /run/media/jch/TI10664900J: Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=100" "/dev/sda4" "/run/media/jch/TI10664900J"' exited with non-zero exit status 14: Windows is hibernated, refused to mount.
 Failed to mount '/dev/sda4': Operation not permitted
 The NTFS partition is in an unsafe state. Please resume and shutdown
 Windows fully (no hibernation or fast restarting), or mount the volume
 read-only with the 'ro' mount option.


Maybe that will help define the problem and suggest a solution. I am fairly sure I shut windows down completely and never use hibernation.

Cordially,
TwoHoot

Hi
You need to run the following on Windows (I use a shortcut);


shutdown /s /t 5

Or, when pressing shutdown make sure the shift key is held down then select shutdown. Fast boot is still set somewhere…

How do I get to windows? All that boots now is openSUSE 42.2.

Hi
Press the BIOS key (F12?) to get to the boot menu and select Windows Boot Manager, else set next via efibootmgr and reboot;


efibootmgr -n 3

f12 gives me the boot manager but it just allows changing the boot order (HDD, optical, Lan and USB). I don’t see an option for Windows Boot Manager.

Do I run the command
efibootmgr -n 3

from the 42.2 konsole and then reboot?