Windows 8 loading automatically after dualboot installation

Hi folks,
After installing openSUSE 13.1 in dualboot mode, Windows 8 is starting automatically like it did before. What can I do to make GRUB display on startup?

A number of us have had this happen with openSUSE-12.3 and I suspect also with 13.1, and dependent on the hardware the solution tends to be different.

In my case, with a Toshiba Satellite Z930 Ultrabook, I needed to boot to a liveUSB stick, and copy some opensuse files in the EFI partition opensuse directory to the EFI boot directory (and rename one file), as described my blog here: https://forums.opensuse.org/blogs/oldcpu/opensuse-12-3-toshiba-satellite-z930-ultrabook-144/

Could you advise as to what Hardware you have (PC motherboard (ie if desktop or laptop manufacturer/laptop-model # if a laptop).

Sure! My laptop is a HP Pavilion Sleekbook 15 15-b001ss. Will try to follow the advice on your post, but it seems a bit tricky and dangerous for my other partitions maybe…

The approach I followed was safe, IF you are confident that you can always boot to a USB stick. It is NOT safe if you are not confident of that.

Note I backed up the FAT EFI partition to an external USB stick, prior to any changing of files in the EFI partition.

I also think what I performed is a last ditch effort to fix, and there are quite possibly better ways. If you have the time, please have some patience and wait for the openSUSE forum experts on UEFI to cast their recommendations here.

In the mean time you could try to see if you can boot off of a GNU/Linux liveUSB (or liveCD) , and then send these commands from a konsole (and post here the output):

with root permissions


fdisk -l

the above will hopefully show where the EFI partition is located, and give a flavour as to the remainder of your PC’s disk structure

and also with root permissions (and post output here)


efibootmgr -v

the above will hopefully show if the openSUSE boot information made it to a location where the Firmware ‘should’ see it.

For example, on my PC I get:


toshiba:/home/oldcpu # efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: **0005,**0004,0003,0000,0002,0001
**Boot0000* HDD/SSD       ACPI(a0341d0,0)PCI(1f,2)ATAPI(0,0,0)**
Boot0001* LAN2  ACPI(a0341d0,0)PCI(19,0)MAC(e8e0b773c368,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0
Boot0002* LAN1  ACPI(a0341d0,0)PCI(19,0)MAC(e8e0b773c368,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000
Boot0003* Windows Boot Manager  HD(2,e1800,82000,34e17e3e-31c6-11e2-a4d9-e8e0b773c368)File(**\EFI\opensuse\shim.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.}...9................
**Boot0004* opensuse      HD(2,e1800,82000,34e17e3e-31c6-11e2-a4d9-e8e0b773c368)File(\EFI\opensuse\grubx64.efi)
Boot0005* opensuse-secureboot   HD(2,e1800,82000,34e17e3e-31c6-11e2-a4d9-e8e0b773c368)File(\EFI\opensuse\shim.efi)**

I can’t explain why the boot current is 0000 other than to note I still have a lot to learn.

for some reason, I could only get mine to work after copying the shim.efi on top of the bootx64.efi … but that is a last resort (and I made certain I had a copy of the original bootx64.efi in case I need to restore that setting).

I’m so sorry about doing this like I’m doing, but I have no network in my laptop…
Here are the outputs of the commands you mentioned:
http://i.imgur.com/8Q4H8Rf.jpg
http://i.imgur.com/aJltPaN.jpg

Thanks in advance!

Thats a puzzle to me. I note the boot order of 3000, 3002, 3003, 2001, 2002, and 2003:

Yet I see

  • 0000 is Windows - \EFI\Microsoft\Boot\Bootmgfw.efi
  • 0001 is USB hard drive ??? <<<<< why this ???
  • 0002 is openSUSE non-secure boot - \EFI\opensuse\grubx64.efi
  • 0003 is openSUSE secure boot \EFI\opensuse\shim.efi

I don’t see 0000, 0001 0002 nor 0003 in the boot order. Nor do I see a 2002, nor 2003 in the list …

Did you install openSUSE with an external USB hard drive plugged in at the same time ?

I also do not understand where 0001 identified as a USB hard drive (UEFI) comes from.

In truth I don’t know this subject at all hardly , but I can’t help but speculate you may have installed with an external hard drive plugged in that messed everything up ?

Again - I recommend you wait for the forum’s UEFI experts to analyze this.
.

The only thing plugged was the USB Drive which i booted to install the system… I think it was completely necesarry, wasn’t it? It is also plugged in the moment of the screenshot, since I have to boot from the USB to get the command outputs.

Hi
I see the same sort of thing on this HP;


 efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* opensuse	HD(1,800,81000,1cc3aac2-5596-4114-91e4-ae4ff904051f)File(\EFI\opensuse\grubx64.efi)
Boot0001* opensuse-secureboot	HD(1,800,81000,1cc3aac2-5596-4114-91e4-ae4ff904051f)File(\EFI\opensuse\shim.efi)
Boot0006* Internal Hard Disk or Solid State Disk	RC
Boot0008* Internal Hard Disk or Solid State Disk	RC
Boot0009* Internal Hard Disk or Solid State Disk	RC
Boot000A* Internal Hard Disk or Solid State Disk	RC
Boot000B* Internal Hard Disk or Solid State Disk	RC
Boot2001* USB Drive (UEFI)	RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)	RC
Boot3000* Internal Hard Disk or Solid State Disk	RC
Boot3001* Internal Hard Disk or Solid State Disk	RC
Boot3002* Internal Hard Disk or Solid State Disk	RC
Boot3003* Internal Hard Disk or Solid State Disk	RC

I run a systemd service to set BootNext to 0001 in my case to overcome this issue, eg;


efibootmgr -n 0001

In the case of the OP, their secureboot is located on 0003. So for them would the command be ?


efibootmgr -n 0003

I’m out of my depth here and I’m reluctant to give any recommendations.

Hi
Yes, that would be the one :slight_smile: nice thing about UEFI and HP, you can browse also to the efi file by pressing F9 at the post screen :wink:

So, will that command do the trick?

Usually , efi not booting happened for me in 12.3 when installing from the DVD without booting it in EFI mode. I have an Asus MOBO so when I boot, it provides me with DVD drive normally or DVD-EFI(only when a bootable efi disk is inserted). I have an HP workstation at work, and that one can also be set from bios if you want to boot devices in EFI mode or not. I am not an efi expert, but, have you booted the DVD or stick in EFI?

If no, then when loading the dvd/stick bootloader, you should have gotten a multiple language Welcome screen right before the boot choice(the multi language screen doesn’t show in efi mode). Also, if booted in efi, YAST should have automatically selected grub-2 efi bootloader option. Try to boot the install media as you did initially and check for these differences.

As for fixing efi boot after it is already installed, i have no clue. All my attempts at doing this in 12.3 failed miserably, so I would go for a reinstall keeping in mind the above. If you manage to do it without re-install, I’ll be very curious for the solution :).

Kind Regards,

Looking at this further, I can not help but think the OP has a different situation than yourself. I do NOT see MS-Windows on your setup. I also note your boot order:


BootOrder: 0000,3000,0001,2001,2002,2003

  • where the 1st partition in the boot order is openSUSE (0000)
  • where the 2nd partition in the boot order is 3000 which may be a second drive (USB stick or additional SSD drive or SD card ? )
  • where the 3rd partition in the boot order is 0001 which is openSUSE secure boot (0001)
  • where the 4th partition in the boot order is 2001 which is the USB (UEFI) drive
  • where the 5th partition in the boot order is 2002, which is a CD/DVD ROM drive
  • where the 6th partition in the boot order is 2003 - which I can not find - suggesting possibly this was there once, but is no longer connected ?

Compare this to the OP (where they have MS-Windows):


BootCurrent: 0001
BootOrder: 3000,3002,3003,2001,2002,2003
Boot0000' Windows Boot Manager HD (2, ..... File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS....
Boot0001' USB Hard Drive (UEFI) - USB DISK 2.0 ACPI .... ***[this is boot current and is being used to boot currently]***
Boot0002' opensuse HD(2, .... File(2, ..... File(\EFI\opensuse\grubx64.efi)
Boot0003' opensuse-secureboot HD(2, ..... File(\EFI\opensuse\shim.efi)
Boot2001' USB Drive (UEFI) ...
Boot3000' Internal Hard Disk or Solid State Disk
Boot3002' Internal Hard Disk or Solid State Disk
Boot3003' Internal Hard Disk or Solid State Disk

Where I note:

  • where the 1st partition in the boot order is 3000 - possibly the USB stick/drive or an SSD card (?) that the OP is using to run so to check the UEFI
  • where the 2nd partition in the boot order is 3002 - again possibly the USB stick/drive or an SSD card (?)
  • where the 3rd partition in the boot order is 3003 - again possibly the USB stick/drive or an SSD card (?)
  • where the 4th partition in the boot order is 2001 - clearly the USB drive
  • where the 5th partition in the boot order is 2002 - ??? I can not see this anywhere, suggesting some different is connected now compared to sometime before ?
  • where the 6th partition in the boot order is 2003 - ??? I can not see this anywhere, suggesting some different is connected now compared to sometime before ?

possibly 2002 or 2003 are the Microsoft recovery ?? but that is my puzzlement/speculation and not to be taken with any credence.

It just does not look logical to me. I wonder, was there an SD card inside the SD slot during the install ?
.

On Wed 20 Nov 2013 04:56:02 PM CST, enekosar wrote:

malcolmlewis;2599284 Wrote:
> Hi
> Yes, that would be the one :slight_smile: nice thing about UEFI and HP, you can
> browse also to the efi file by pressing F9 at the post screen :wink:

So, will that command do the trick?

Hi
Yes, to be able to boot, or browse to the efi file. Test and see, just
remember to run it again before shutting down. But if you test and
confirm all is OK, we can move forward to a permanent solution.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLED 11 SP3 (x86_64) GNOME 2.28.0 Kernel 3.0.93-0.8-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

On Wed 20 Nov 2013 05:46:02 PM CST, oldcpu wrote:

malcolmlewis;2599279 Wrote:
> Hi
> I see the same sort of thing on this HP;
> >
Code:

> >
> efibootmgr -v
> BootCurrent: 0001
> Timeout: 0 seconds
> BootOrder: 0000,3000,0001,2001,2002,2003
> Boot0000* opensuse
HD(1,800,81000,1cc3aac2-5596-4114-91e4-ae4ff904051f)File(\EFI\opensuse\grubx64.efi)
> Boot0001* opensuse-secureboot
> HD(1,800,81000,1cc3aac2-5596-4114-91e4-ae4ff904051f)File(\EFI\opensuse\shim.efi)
> > Boot0006* Internal Hard Disk or Solid State Disk RC
> Boot0008* Internal Hard Disk or Solid State Disk RC
> Boot0009* Internal Hard Disk or Solid State Disk RC
> Boot000A* Internal Hard Disk or Solid State Disk RC
> Boot000B* Internal Hard Disk or Solid State Disk RC
> Boot2001* USB Drive (UEFI) RC
> Boot2002* Internal CD/DVD ROM Drive (UEFI) RC
> Boot3000* Internal Hard Disk or Solid State Disk RC
> Boot3001* Internal Hard Disk or Solid State Disk RC
> Boot3002* Internal Hard Disk or Solid State Disk RC
> Boot3003* Internal Hard Disk or Solid State Disk RC
>

> >
>

Looking at this further, I can not help but think the OP has a different
situation than yourself. I do NOT see MS-Windows on your setup. I also
note your boot order:

Code:

BootOrder: 0000,3000,0001,2001,2002,2003


  • where the 1st partition in the boot order is openSUSE (0000)
  • where the 2nd partition in the boot order is 3000 which may be a
    second drive (USB stick or additional SSD drive or SD card ? )
  • where the 3rd partition in the boot order is 0001 which is openSUSE
    secure boot (0001)
  • where the 4th partition in the boot order is 2001 which is the USB
    (UEFI) drive
  • where the 5th partition in the boot order is 2002, which is a CD/DVD
    ROM drive
  • where the 6th partition in the boot order is 2003 - which I can not
    find - suggesting possibly this was there once, but is no longer
    connected ?

Compare this to the OP (where they have MS-Windows):

Code:

BootCurrent: 0001
BootOrder: 3000,3002,3003,2001,2002,2003
Boot0000’ Windows Boot Manager HD (2, …
File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS… Boot0001’ USB Hard
Drive (UEFI) - USB DISK 2.0 ACPI … -[this is boot current and is
being used to boot currently]
- Boot0002’ opensuse HD(2, …
File(2, … File(\EFI\opensuse\grubx64.efi) Boot0003’
opensuse-secureboot HD(2, … File(\EFI\opensuse\shim.efi) Boot2001’
USB Drive (UEFI) … Boot3000’ Internal Hard Disk or Solid State Disk
Boot3002’ Internal Hard Disk or Solid State Disk Boot3003’ Internal
Hard Disk or Solid State Disk

Where I note:

  • where the 1st partition in the boot order is 3000 - possibly the USB
    stick/drive or an SSD card (?) that the OP is using to run so to check
    the UEFI
  • where the 2nd partition in the boot order is 3002 - again possibly
    the USB stick/drive or an SSD card (?)
  • where the 3rd partition in the boot order is 3003 - again possibly
    the USB stick/drive or an SSD card (?)
  • where the 4th partition in the boot order is 2001 - clearly the USB
    drive
  • where the 5th partition in the boot order is 2002 - ??? I can
    not see this anywhere, suggesting some different is connected now
    compared to sometime before ?
  • where the 6th partition in the boot order is 2003 - ??? I can
    not see this anywhere, suggesting some different is connected now
    compared to sometime before ?

possibly 2002 or 2003 are the Microsoft recovery ?? but that is my
puzzlement/speculation and not to be taken with any credence.

It just does not look logical to me. I wonder, was there an SD card
inside the SD slot during the install ?

Hi
It doesn’t matter that the OP is dual booting and I’m not, it’s just a
UEFI firmware pointer which needs setting (a bonus of efi booting) in
the OP’s case 0003. That’s the whole point of efi booting, point and
load what the efi is telling the system :wink:

Ignore the rest of the efivars seen in the output, just concentrate on
the ones containing efi file references as they are populated. I have
usb/sd devices appear and disappear on this system, since they are
variables.

For example the efi shell, some systems have a built in shell (my DELL
did), I can dump the edk full efi shell binary (from sourceforge) on a
usb device, or in the efi partition, browse and boot, add to an efi var
available and boot via that. HP provide an efi file to update the BIOS
as well.

The OP can add the order of boot via the efibootmgr if required, so if
nextxboot works can tidy up the entries as required.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLED 11 SP3 (x86_64) GNOME 2.28.0 Kernel 3.0.93-0.8-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

The command
efibootmgr -n 0003 worked perfectly, thanks! I think I get the idea what the issue was. What steps should I follow now to maintain this state on my system?

You guys are awesome!

On Wed 20 Nov 2013 10:26:01 PM CST, enekosar wrote:

The command
efibootmgr -n 0003 worked perfectly, thanks! I think I get the idea what
the issue was. What steps should I follow now to maintain this state on
my system?

You guys are awesome!

Hi
See how this goes;


efibootmgr -n 0001
efibootmgr -b 0003,0000,0002 -o 0003,0000,0002

So you know about the -n switch, the -b tells the efibootmgr to allow
modification on those efivars and the -o sets the order.

Now, see how that goes, also boot into windows and see if it will
reboot to grub. Remember, press F9 and you should be able to browse to
the efi file to boot if it doesn’t.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLED 11 SP3 (x86_64) GNOME 2.28.0 Kernel 3.0.93-0.8-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

On Wed 20 Nov 2013 11:58:05 PM CST, malcolmlewis wrote:

[QUOTE]
On Wed 20 Nov 2013 10:26:01 PM CST, enekosar wrote:

The command
efibootmgr -n 0003 worked perfectly, thanks! I think I get the idea what
the issue was. What steps should I follow now to maintain this state on
my system?

You guys are awesome!

Hi
See how this goes;


efibootmgr -n 0001
efibootmgr -b 0003,0000,0002 -o 0003,0000,0002

So you know about the -n switch, the -b tells the efibootmgr to allow
modification on those efivars and the -o sets the order.

Now, see how that goes, also boot into windows and see if it will
reboot to grub. Remember, press F9 and you should be able to browse to
the efi file to boot if it doesn’t.

[/QUOTE]
Here is a systemd service to set the bootnext;


# /etc/systemd/system/efibootnext.service
#

[Unit]
Description=Set BootNext to XXXX (hex)

[Service]
Type=oneshot
ExecStart=/bin/sh -c "/usr/sbin/efibootmgr -n 0003"

[Install]
WantedBy=multi-user.target

It needs to be saved in /etc/systemd/system/ as efibootnext.service or
whatever you decide to call it, as long as it ends in the .service
extension.

Then enable the service, run and check;


systemctl enable efibootnext.service
systemctl start efibootnext.service
systemctl status efibootnext.service


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
SLED 11 SP3 (x86_64) GNOME 2.28.0 Kernel 3.0.93-0.8-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Seems like that command won’t fix the issue…
Also, where is located the efi file that boots openSUSE?

The issue now, after executing the command, is that a ‘bios’ window telling me the selected boot device failed.