Adding Linux to the Windows 8 UEFI Bootloader using NeoGrub

#1
Hi all. Not having an issue as such but was just hoping to get some advice. I've had some problems getting the Win8 graphical boot loader to stick around. After a couple of re-installs I've got it to work, but at the moment on with Win8 and Win 7. I've installed NeoGrub, so that's there as well, but at the moment it's useless.

I've got no experience using grub at all, or Linux really for that matter. Basically I was hoping someone could:

A) Provide help setting up the NeoGrub script to load the latest version of Ubuntu.
B) Tell me if there's any chance doing this will compromise the nice graphical boot loader in Win8.

My understanding of NeoGrub is that it's a bootloader within a bootloader, and so hopefully shouldn't interfere with the Windows 8 one. Am I correct in thinking this?

Also just for reference my HDD setup is as follows:

Drive 0: 1 Partition - 2TB Storage, no OS.
Drive 1: 1 Partition - 120GB SSD, Windows 8
Drive 2: 4 Partitions - 785GB Storage, 100GB Win 7, 2GB Linux Swap, 47GB Ubuntu Linux

Any help would be really appreciated. I've been messing around for a few days trying to get the graphical boot loader back, and I don't want to get into a situation again where I have to re-install my OS because I didn't know what I was doing.

Thanks.
 

Terry60

Knows where his towel is.
Staff member
#2
You can't boot Linux from the W8 graphical bootloader.
W8 completely redesigned the boot process and when you see that graphic UI, you're not really in the bootmgr/BCD realm where EasyBCD can do anything for you. You're in some pre-bootmgr quick restart from a pseudo-hibernated state as far as I can remember from MS blogs. If you choose to enter the BCD/boot, it's the traditional DOS-like menu you're used to with Vista/7.
 

Terry60

Knows where his towel is.
Staff member
#4
But it won't be from the graphical UI
 
#5
But surely if NeoGrub was configured to just directly load Ubuntu (ie no select time etc), selecting it would just then load Ubuntu? I'm aware the graphical boot loader is just offloading the load onto NeoGrub, but it will have the same effect. I guess I'll just mess around myself if I can't get help configuring NeoGrub here.
 

mqudsi

Mostly Harmless
Staff member
#6
Terry means you can't configure NeoGrub directly from within EasyBCD's UI. You can create the NeoGrub file and put whatever you like in there, of course.
 
#7
The way I read it I thought he meant I could boot Linux from the graphical Win 8 boot loader ui. After some searching for grub scripts etc and trial and error, I figured it out anyway. So to anyone else who is wondering; yes, you can multi boot into Linux using the Win8 boot loader by adding a neo grub entry, and configuring the grub script. However if you have more than one Linux distro to boot to, that will probably need to be selected from the neo grub boot screen.
 

Terry60

Knows where his towel is.
Staff member
#8
I think we're all misunderstanding each other.
My interpretation of the OP was that you wanted to have a Linux boot option displayed in the new W8 metro-style boot screen.
My reply was intended to imply that using EasyBCD to add a Linux entry to the BCD would continue to work for W8 as it did for Vista/7, but that you would see the Vista/7 style boot menu screen, not the pretty new one.
If that's not correct I'd be interested to know.
That's my understanding of the W8 boot design from what I've read, not personal experience.
I booted the DP and UP versions via my custom Grub4dos boot which leaves all of the XP/Vista/7/8 systems with their own boot files, and although I downloaded the RP, I haven't even bothered to install it (and probably won't).
That means, in my personal experience of booting W8, I have never even seen the pretty metro-boot UI, just my own pretty grub with my Spitfire Avatar background. Since each of the four Windows partitions has only its own vanilla boot files, none of them displays a boot menu. The first thing I see after the grub menu is the startup screen for the chosen OS.
 

mqudsi

Mostly Harmless
Staff member
#9
Sorry, you can disregard my reply. I was misunderstanding everyone :smile:
 
#10
Hah, ok. Well basically like I said, you CAN get Linux to boot from the pretty win 8 boot loader, but only through neo grub. Just adding it as a Linux distro seems to force the ugly one.
 
#11
Hah, ok. Well basically like I said, you CAN get Linux to boot from the pretty win 8 boot loader, but only through neo grub. Just adding it as a Linux distro seems to force the ugly one.
How's that work then? I've had no success booting a Linux boot image from the Win 8 boot loader. All I'm hearing is that Windows 8 requires UEFI and blocks 3rd-party chainloaders.
 
#12
Hah, ok. Well basically like I said, you CAN get Linux to boot from the pretty win 8 boot loader, but only through neo grub. Just adding it as a Linux distro seems to force the ugly one.
Please, could you or anyone else give us information on how to setup windows 8 boot loader, so that it would include Ubuntu in it as well? I've tried everything and ended up with unbootable windows 8.

Or maybe at least how to repair that windows 8 without losing data (maybe from Ubuntu - it's still bootable)? No standard recovery procedure works.

EDIT:

I followed instructions given by rodion in another topic and I got the windows 8 boot loader to work

boot into Win8, run bcdboot c:\windows

Thank you for your answers.

Addendum

Ok, my last post wasn't very descriptive, I was little upset and tired too.

I'm having trouble with booting Ubuntu 12.10 from Windows 8 boot loader, I've already tried various settings as Adding an entry > Linux/BSD > Grub 2. This setting added an entry to that W8 boot loader, but after clicking on it and automatic rebooting, I only get an error message which states that: the system could not start because the required file is missing or corrupted. (I don't remember the exact wording) The error message refers to a file located in \NST\{name of the file}.mbr which actually exists in C:\NST folder, therefore I'm asuming that it may be corrupted. When I opened it, it contained just few readable data stating that: MBR helper is missing.

Then I also tried NeoGrub and I got the very similar error message in Windows Boot Manager and the MBR file (C:\NST\NeoGrub.mbr) contained the same readable data: MBR helper is missing (+ that unreadable).

So my question is: Are these *.mbr files really corrupted and is there any way how to repair them?

This is the content of configuration file "menu.lst"

title Ubuntu
find --set-root /boot/vmlinuz-3.5.0-17-generic
kernel /boot/vmlinuz-3.5.0-17-generic root=/dev/sda6
initrd /boot/initrd.img-3.5.0-17-generic
___

However I found one interesing thing by my desperate trying to get it work: In Windows 8 boot loader, except of the system selection (Windows 8, Ubuntu) there is something like Change default options / Choose more options / Use device / Ubuntu (Not sure about english translation, I use Windows with my native language) and from that option it automatically reboots into Ubuntu without any problem.
 
Last edited:
#13
I get the error you do, but I don't see a 'Change default options'. If I highlight 'Windows 8' I can 'specify an advanced option' by pressing F8, but none of those lead to booting Linux.

Can you give me a few more details on your setup? I've had zero success figuring out this problem.
 
#14
I get the error you do, but I don't see a 'Change default options'. If I highlight 'Windows 8' I can 'specify an advanced option' by pressing F8, but none of those lead to booting Linux.

Can you give me a few more details on your setup? I've had zero success figuring out this problem.
Modern_Boot_Loader_Windows_8.png

There should be a link in Windows 8 boot loader "Change defaults ot choose other option" at the bottom -> "Use a device" and there should be your Linux distribution; but I got rid of that boot loader after I screwed up something by NeoGrub app and I had to reinstall both Ubuntu and Windows. Now I boot from GRUB2, which get me to directly to Windows or Ubuntu.