Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

My Setup:

I have two separate SSDs, and each contains an independently bootable OS - W8 and U12.10. From my extremely limited knowledge, this means each has a functioning EFI partition(?).

My default boot order (GA-Z68XP-UD3P mobo with UEFI firmware update) boots the UEFI partition containing windows first, but if I enter the BIOS UEFI menu I can select the "ubuntu" entry to successfully boot ubuntu.

Both drives are GPT, and are EFI boots.

What I want to do:

Reboot Windows 8, re-enter W8 (this is happening now due to the default boot order). What I want to change, however, is to boot into Ubuntu if i reboot from ubuntu.

Essentially, I would like to work within one OS unless I consciously choose otherwise. Normally, I would not even ask about something I thought was impossible, but...

Why I think this is possible:

When trying EasyBCD to add ubuntu to the W8 UEFI bootloader, I noticed an "iReboot" addon or something that allows you to select which OS to boot into from within the OS. Note that I ended up not using the NeoGrub entry to chain Ubuntu off the W8 bootloader because I couldn't get much help with it.

Is this possible? Have I had too much coffee and gone insane?

Thank you all for your time,

AK

share|improve this question

1 Answer 1

up vote 1 down vote accepted

Unfortunately I do not have an (U)EFI motherboard to test this on, so please treat this answer as pointers in the right direction with your problem.

According to efibootmgr's manual it's possible to force a one-time change of the (U)EFI boot order using the -n parameter.

You can list current configuration and boot IDs by issuing efibootmgr without any parameters.

On the Windows side according to this on a (U)EFI system bootcfg is capable of mappnig and manipulating the NVRAM BootOrder array of (U)EFI.

bootcfg /query

will list the current configuration and you can use the IDs to set the new default option with

bootcfg /default /ID <ID>

I do not know how are you planning on switching from one "boot loop" to another, but I'm assuming you're either using the GUI (you wrote BIOS which seems confusing in the context of (U)EFI ;) ) of your motherboard or the (U)EFI shell.

I'd do the following:

  • check whether it's even possible to manipulate the BootOrder in both systems on your motherboard
  • assign a shutdown script that will configure (U)EFI appropriately
    • in Windows you can specify it in the Local Group Policy (gpedit.msc) in Computer Configuration/Windows Settings/Scripts (Startup/Shutdown)/Shutdown
    • in Ubuntu you have can put your script in /etc/init.d (remember about chmod +x) and symbolically link it to /etc/rc0.d (reboot) and/or /etc/rc6.d (shutdown)

If manipulating the BootOrder doesn't work from Windows you can just use the efibootmgr method of setting only the next boot item from Ubuntu, and keep Windows as default.

share|improve this answer
    
Excellent answer! Let me give this a shot this weekend before I get back to you on if it works/accepting the answer, but from the looks of it, seems pretty much "guaranteed"! hahaha yeah, I've tried really hard to wean myself off "BIOS", but it slips through sometimes lol old habits :/ And please correct my terminology: I am using the menu that used to be the BIOS (<DEL> key on boot). It is now graphical. This is the UEFI? UEFI menu? What exactly is the UEFI shell if not that? Again, thanks for the detailed answer, I'll get back to you with an update! –  im so confused Dec 12 '12 at 19:03
    
Using the UEFI nomenclature that graphical "BIOS" is a graphical console running in the boot services framework. –  mprill Dec 12 '12 at 19:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.