ESCAPE TO LINUX

#1
I recently stumbled upon something that was very convenient for me and my daughter. Alas, I can no longer recreate this effect (although I had duplicated it to my satisfaction many times previous) and I would like to be able to do it again. If someone in your team of illustrious technology specialists could reverse engineer what I have done here based on the video I present on YouTube I would greatly appreciate it. I will answer any questions your team might have to the best of my ability to make this wonderful thing happen again. Essentially what it involves is merely hitting the ESC button on the keyboard from the BCD and Linux Mint loads. It was so very handy. Can your people duplicate it?

 

mqudsi

Mostly Harmless
Staff member
#2
This can be replicated by giving control of the mbr to grub (the linux bootloader), setting the grub timeout to 0, and setting the default grub target to the chainloaded ntldr/bootmgr (so by default you only see the Windows bootloader at startup), then using grub's "fallback" mechanism to tell it to load Linux (entry number 2 in the grub boot menu) when the first entry fails to load. By default, the Windows bootloader aborts and would normally trigger a reboot causing a return to the firmware boot process when [kbd]esc[/kbd] is pressed, but when chainloaded via grub, grub knows that the previous attempt to boot into Windows "failed" and will trigger the fallback mechanism instead.
 
#3
Thankyou so much for your prompt reply. I'm a little reluctant to attempt chainloading again because I lost the boot straps to all three o/s that way the last time I tried it using Super Grub 2. In the end I had to reinstall all the operating systems because not even Windows repair disks could bring them back and Linux refused to boot. I really enjoyed Easy BCD when it worked. It seems a shame Linux is always greyed out now when I try to use it with Windows 8. If this issue has been repaired in version 2.4 please let me know. In the meantime I'll fiddle with it some more. The 5 second default to Linux was so incredibly handy I'm surprised EASY BCD hasn't developed a way to make it an option in the software.
 

mqudsi

Mostly Harmless
Staff member
#4
The greying out is because your system is booting in UEFI mode. Have a look at EasyBCD and UEFI.

(Next time the Windows repair CDs let you down, give EasyRE a try - engineered for just that.)
 
Last edited:
#5
I get grey out even when I'm not in UEFI mode. I've checked the BIOS many times. I think perhaps the registry might be corrupt. Uninstalling Easy BCD makes no change. When the system behaved as it did in the video I presented the BIOS was set to boot to Legacy first and UEFI as default. It doesn't work now because I get greyed out on version 2.4 no matter what mode I'm in.
 

mqudsi

Mostly Harmless
Staff member
#6
Merely setting the firmware to legacy first does not mean you are booted via legacy mode. The legacy bootloader is not present on your system and so it's still booting in UEFI mode.
 
#7
So, for example, in the BIOS, if I select "Other OS" instead of UEFI I'm still in UEFI mode after rebooting? How does that work? Sorry, I'm a novice in this regard, I guess, despite the fact that I've put together hundreds of PCs. *edit* I've been fiddling with EBCD some more, using combinations of 2.3 and 2.4 with all three operating systems. I'm trying to replicate what were were discussing at the beginning of this post since chainloading is not an option in my case. I can access the Linux boot option on version 2.3 quite easily even in UEFI mode on Windows 7. I've reinstalled EBCD 2.4 on Win 8.1. I can boot to either o/s but not to Linux yet except directly from BIOS, which is an inconvenience. It would be very good to have all three listed in the boot manager and functional. Of course, the ideal would be the 5 second ESCAPE to LINUX option and I suggest Neosmart make some software that will do this as a matter of standard procedure. If you know how it works and if you can create it, I think it would be a very handy tool. Myself, I just stumbled upon it by accident. At first I could replicate it and I did so using my boot manager, the BIOS set to "Legacy and UEFI" / "boot Legacy first", and of course the BCD software from Neosmart. Alas, I can no longer replicate this, it seems. I'm going to keep trying though. Hitting the ESC key in Windows Boot Manager and instantly landing on one's Linux Desktop is a very gratifying feeling and certainly fitting in the literal sense of "escape".
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#8
You can't retrospectively "turn off" UEFI as a BIOS option.
You installed W8 as a UEFI/GPT OS and that's what it is.
It's booting using the efi version of bootmgr (look in your EasyBCD "view settings" and you'll see it's loading the efi loader "winload.efi" not winload.exe, and in "detailed" view you'll find "EFI\......\bootmgfw.efi" in the bootloader path)
It's that efi version of the bootmgr which contains the prohibition on booting Linux, nothing to do with EasyBCD and nothing that EasyBCD can circumvent.
When you installed W7, it didn't contain any such restriction in the bootmgr (iirc on release it pre-dated UEFI).
Unfortunately you can't circumvent the problem by using the W7 bootmgr because that will boot Linux but it won't boot W8/W8.1 or W10 (bootmgrs are backward compatible with earlier versions of winload, but not forward compatible with later versions - you'll get an "invalid digital signature" boot failure}
The only way to dual-boot Linux with any Windows newer than W7 is either to eschew the benefits of UEFI and install everything in MBR/BIOS mode. or, using UEFI, make grub take control of the boot and use it to chain to Windows.
Following mqudsi's advice in post #2 should then give you the scenario you desire.
EasyBCD 2.4 is mainly a simple update of 2.3 including a few fixes to handle Linux boot architecture changes which prevented 2.3 from working if the user updated Linux to the latest version. It still detects and handles UEFI in exactly the same way,
 
#9
And yet I did it. And I did it for days on end. Such a pity that I can't replicate it. For whatever reason chain loading failed all three o/s and I could not use it, but putting EBCD 2.3 on Win 7 and EBCD 2.4 on 8 did allow me this configuration for about a week before it crashed for whatever reason - Windows update perhaps? As it stands now I cannot even boot to Linux from Windows 7 with EBCD 2.3 anymore. I keep getting the infamous "minimal BASH like line editing " error so I'll have to work on that first. GRUB never listed Windows on this platform as it usually does when you let it take control of GRUB. It's all on the video. I'm guessing I had a convenient little bug that allowed me to directly boot to Linux desktop in 5 seconds from BCD merely by hitting ESC. The Super Grub 2 software I used to "chain load" totally destroyed all access to all o/s so I won't be doing that again. The "Escape to Linux" configuration was done with three fresh o/s installations. However, if you feel up to providing step-by-step instructions on how to set up the chain without destroying the o/s I'm all eyes. I would be very interested in being able to do that, especially if it provided me with an ESC to Linux scenario. Someone should make a video of how to set this up. I wish I did. Alas, I had no clue of what would come of my efforts when I did this. I'm hoping someone knows how to set up an ESC to Linux configuration precisely the way the one I made worked. Remember: 5 seconds from the Windows Boot and you're on your Linux desk top simply by pressing the ESC key. :blush: I would love to get that back.
 

Terry60

Knows where his towel is.
Staff member
#10
Your inability to boot Linux from W7 sounds like the reason 2.4 was written. Try using it instead of 2.3.
 
#11
Thank you Terry. I think I found my towel. I have "Escape to Linux" back again but alas, I have to wait about 30 seconds for it to load now after hitting the ESC key. Version 2.4 on the Win 7 side of things seems to be part of the equation. Now the real test will be to see if I can run it stable, booting from Win 7 to Win 8.1 and back to Linux again via ESC without upsetting the apple cart. Thanks for all the fish.