How can I add Linux to the new Windows 8 boot manager?
You can do the same as you could in Windows 7, although I'm not sure I'd recommend it using the graphical boot menu (reason in the end).
Some things first:
The usual setup for people who have dual boot configurations with Linux being one of the OSs that the machine has installed is to have a Linux bootloader by default, and there add an entry for the Windows OS. What that does is to load the Linux bootloader and if you want to load Windows it chainloads into the Windows bootloader which then boots Windows.
Since usually there's only one Windows installed the menu selector of the Windows bootloader never appears giving the impression that the entry you added in the Linux bootloader actually loads Windows.
The opposite is possible too, although not common among Linux users. For instance, my main bootloader is the one from Windows which then chainloads into a Linux one to boot Linux; I have configured the Linux one to be mostly invisible and load right away though.
How to add a Linux entry in the Windows bootloader:
It really depends on what you install first and what later, I'm sure there are some guides around the internet to explain a detailed procedure on how to setup a dual+ boot environment. So I'll just go through 2 different setups:
When you install Windows first: In this case when you're installing your Linux distribution, if it allows you to install the bootloader in a partition directly instead of in the MBR of the hard drive do so. After restart you'll find that you're booting Windows just like Linux was not installed at all, after that follow the scenario in which Linux was installed first described below.
If you can only install the bootloader in the MBR of the hard drive after the reboot you'll see a Linux bootloader (Syslinux, GRUB, you name it), choose the Windows entry there and boot into Windows.
Now, I like to use EasyBCD (free for personal usage) to deal with the Windows bootloader, but anything that I do with it can also be accomplished with the proper bcdboot
, bcdedit
, etc. commands.
-
Open EasyBCD and go to the "Add New Entry" section and the "Linux/BSD" tab.
-
Select the bootloader you have for your Linux distribution. In case of GRUB2 there's an autoselect mode which will select the appropriate partition for you, for Syslinux for example you have to compulsory select the partition where it is installed.
-
Name the entry, the name you put there is the one that will appear in the Windows bootloader.
-
Select the partition where your bootloader resides or autoselect if that option is possible. In the end you should end up with something like this:
-
Click in "Add entry" and you'll receive the result in the bottom left part of the program:
-
Now you have to restore the Windows bootloader as the default one, for that go to the "BCD Deployment" section, there select to write the Vista/7 bootloader in the MBR (which by the way is the same as for Windows 8):
-
After that you're all set, you'll receive a similar confirmation as before. When booting up you'll see the boot menu prompting you to select one of them:
When you install Linux first: In this case you don't have to restore the MBR (Master Boot Record, tells what to execute next grosso modo) as Windows installation will overwrite any previous value there.
NOTE: with UEFI and GPT disks this may be different though, but I have no way of trying it out.
Why I'm not sure I'd recommend doing this using the new graphical boot menu in Windows 8:
Essentially because the way it works is different than with the textual menu (default for Windows 7). In Windows 7 (or Vista) you're first presented with the boot menu and then it starts to load whatever you choose to, in the new graphical menu it first loads some stuff (= takes time) and then presents you with the boot menu. If you don't select to load Windows 8, it reboots the machine and starts to load whatever you selected which in this case is the Linux bootloader.
I find waiting to load some stuff just to discard it and reboot unnecessary if I just want to boot another OS; but it's my personal opinion on the matter, there's no problem whatsoever by loading Linux, or any other OS in this manner.
Anyway, there are different ways to use the textual boot menu instead in Windows 8, if you're interested check this answer out.