Is it possible to boot Ubuntu using the Windows bootloader?
As noted by many people, Windows 8’s UEFI requirements might will won’t get in the way of installing Linux (or whatever), as the replacement bootloader will also need to be signed somehow. Some systems All systems will let you disable the signature requirement, but the feature might be hidden to disable or you might not be willing to give up on the benefits of a secure bootloader. Is it necessary to replace the bootloader in the first place? To keep ourselves to software that’s gone golden, how can I install Ubuntu 11.04 using Windows 7’s own bootloader?
5 Answers 5
Assuming that Windows is already installed, install Ubuntu on another partition. Make sure that you install Grub2 on the Ubuntu partition — don’t install it on the MBR since this will overwrite the Windows boot-loader.
Boot into Windows and install EasyBCD
Add Entry and choose Grub2 i.e.
Then write back the modified Windows Boot-loader i.e.
Reboot — you will now have two options:
Boot into Ubuntu and change the Grub Timeout value i.e.
gksudo gedit /etc/default/grub
change «GRUB_TIMEOUT=10» to «GRUB_TIMEOUT=0» and save.
Can Windows bootmgr boot linux directly?
In simple terms, no. Booting Linux is slightly more complicated than just copying some data to memory and jumping to the start of that memory area, and Microsoft have for obvious reasons chosen not to add support for that in their bootloader.
However, if you concern is simply to use the Windows boot loader as your primary boot loader, there are various methods you can use to chainload different versions of GRUB from the Windows bootloader. You might also consider experimenting with using GRUB4DOS, which has a binary format which can be be directly loaded with with NTLDR. Or, you could load a real mode boot sector for any version of GRUB from either bootmgr or NTLDR.
Now, you probably asked the question out of curiosity more than anything, and it did pique my curiosity as well. In researching the matter, I found a good description of the Linux boot process. It mentions a legacy kernel boot sector, which would historically be used when booting the kernel directly from a floppy. This field is no longer used however, as you will see soon. Probably because the kernel has become larger than 1.44 MB these days.
I tried decompressing a kernel and chainloading it in two ways. First with chainloader /vmlinux from GRUB4DOS (although any other grub may work all the same, again assuming you decompress the file. Result: I’m getting the following message:
Direct booting from floppy is no longer supported. Please use a boot loader instead. Remove disk and press any key to reboot . . .
I also tried C:\vmlinux=»boot test» in XP’s boot.ini but that just hung.
However, this raises the question whether it might be possible to make a special build of the kernel which can indeed be booted directly from one of Windows’ loaders with some minimal glue to jump into the kernel realmdoe entry point, as well a few other fixes perhaps.
However, this would still be very inconvenient, since this method would lack all the modern commodities that the kernel usually gets from the bootloader, like kernel parameters and an initrd. It might simply not be worth the effort.
How can I use with the Windows bootloader with Windows 10/Ubuntu 16.04 dual boot?
I want to use the Windows bootloader on dual boot, not GRUB. I already have a Windows 10 on my notebook. I tried EasyBCD, but it works only on non-UEFI devices. I think it seems like this:
Windows boot menu
boot settings on Windows 10
Windows bootloader doesn’t have support for Ubuntu. If you know how to add such support, then you are welcome to use it.
1 Answer 1
Ordinarily, you’ll use both GRUB2 and the Windows boot loader, because GRUB2 cannot launch a Windows kernel directly and the Windows boot loader cannot launch a Linux kernel directly. To boot Windows from GRUB2, GRUB2 launches the Windows boot loader; and to boot Ubuntu (or any Linux distribution) from the Windows boot loader, it launches GRUB2.
What you’re asking for, then, is how to make the Windows boot loader the primary boot loader — that is, the one whose menu you see when the computer starts up. This can be done (or so I hear), but you should ask about it on a Windows forum, since that’s fundamentally a Windows question, not an Ubuntu question. Most Ubuntu users run GRUB2 as their primary boot loader, and have little knowledge of how to configure the Windows boot loader.
That said, there are alternatives to both GRUB2 and the Windows boot loader. See this page of mine for details. Technically, what you’re interested in is a boot manager, not a boot loader. (A boot manager presents a menu with a list of OS boot options; a boot loader loads a kernel into memory and executes it. Both GRUB2 and the Windows boot loader perform both tasks, but some programs perform just one task or the other.) You don’t say why you prefer the Windows boot manager to GRUB2, so I can only guess at what you might like; however, my suspicion is that you be interested in gummiboot (now called systemd-boot) or my own rEFInd. If you install either of these tools, it will become your primary boot manager, and it will then hand off control to either the Windows boot loader or a Linux boot loader. A final twist on this is that the Linux kernel can function as its own EFI boot loader, so if you use a pure boot manager, you can omit GRUB2 entirely when booting Ubuntu. This is easier with rEFInd than with systemd-boot because the latter can only launch programs from the partition on which it resides, and Linux kernels don’t ordinarily reside on that partition under Ubuntu. rEFInd includes EFI filesystem drivers and can launch boot loaders from any partition the EFI can read, so rEFInd can live on the EFI System Partition (ESP) and launch a Linux kernel that’s stored on a separate Ubuntu partition.
Dual boot Windows 10 UEFI and Ubuntu using windows bootloader
Any tutorials I can find online use the GRUB bootloader. The only similar thing I can find is this, and it is unanswered and not at all clear what he has done or is trying to do. I have a laptop with OEM Windows 10 UEFI installed. I don’t really understand how the UEFI boot process works, so that’s part of my issue. What I would like to do is install Ubuntu (preferably on a secondary drive) and have the boot option added to the existing windows bootloader. I’m scared to try anything for fear of accidentally overwriting the windows bootloader with the GRUB one from Ubuntu (which is what happened on legacy BIOS versions of Ubuntu).
May not be possible. Microsoft don’t want you to do this, so have functionality to stop you in their boot loader. This is why everyone uses a different boot-loader such as grub.
Make a drive image before you make changes. If you are not happy dual-booting (as @ctrl-alt-delor states, grub may be the only option), then you can revert.
Not possible. Windows bootloader can multi-boot other Windows versions and even that has caveats/limitations. Overwritten bootloaders is something of the past (BIOS/Legacy). With UEFI bootloaders coexist in the ESP (EFI System Partition) and can be selected to boot independently. Typically though you’d be selecting the Ubuntu entry which boots to Ubuntu’s Grub from which you can also select Windows, but again, Windows can be booted directly and independently from UEFI settings. You correctly identified the main issue being the lack of understanding how UEFI works.
@MichaelBay thank you for that overview. When you say the bootloader can be individually selected, where is that selected from? Is it a bios list? If so, that should mean I can install ubuntu and have it make no difference whatsoever until I select grub from the bios list, yes?
Yes, that is what they mean. Once Ubuntu is installed, it will have its own /boot/efi partition and an entry in your UEFI’s bootloader. When done, you can go into your UEFI, put GRUB above the Windows Boot Manager, and you’ll be done. GRUB will see both Windows and Ubuntu.
3 Answers 3
What I would like to do is install Ubuntu (preferably on a secondary drive) and have the boot option added to the existing windows bootloader.
I don’t understand why do you want to use the Windows bootloader instead of GRUB: if you want a dual booting system, GRUB is the way to go. However, if your only concern is messing up Windows, and if you prefer to use a secondary disk for Ubuntu anyway, just install Ubuntu on a secondary drive and use GRUB installed on that secondary drive. There should be no danger of touching the Windows bootloader on your primary hard disk. Assuming that your laptop does have an empty slot for a secondary hard drive/disk, just do this:
- First, do backups to be on the safe side.
- Next, download a bootable live Ubuntu installer and burn it to removable media (DVD or USB).
- I recommend turning off fast boot at least until you’re done with these steps.
- Then, shut down the laptop. Use the manufacturer’s instructions to remove power from it, open it up, and add a secondary hard drive/disk. It is helpful to install a secondary disk that is of a different size or made by a different manufacturer so that they can easily be distinguished during installation. If you do use a secondary disk of the same size that is made by the same manufacturer, I recommend copying down both hard disk IDs/serial numbers on a piece of paper and labeling them, so that you know which one is which.
- Boot the computer using the bootable live Ubuntu installation media. Install to the new secondary hard disk. NOTE: if you boot to Windows again after physically installing the new secondary hard disk and before installing Ubuntu on it, Windows will automatically partition the new secondary hard disk. If this happens, the Ubuntu installer will tell you that there is not enough room to install Ubuntu on the new secondary hard disk. In this case, use GParted to delete the Windows partition that Windows created on the new secondary hard disk. GParted will probably be included in your bootable live Ubuntu installation media. If not, download a bootable live GParted installer and create bootable live GParted media, boot from this bootable live GParted media, delete the unwanted partition, and then retry running your bootable live Ubuntu installation media.
- After installing Ubuntu to the new secondary hard disk, reboot, and during reboot open up the «BIOS»/UEFI settings and go to the Boot page. Make sure that the two hard disks are in the right order so that the new secondary hard disk with Ubuntu is chosen first. Save changes, then reboot. At this point, one of several things will happen:
- The computer boots normally to Windows. If that happens, check step 6.
- The computer boots normally to Ubuntu, but there is no GRUB menu. This should not happen, because I think that all Ubuntu installations automatically install GRUB. However, it is possible that the GRUB menu flashes by too quickly. In that case, you can change the GRUB_TIMEOUT in this file: /etc/default/grub . If GRUB really is not installed, simply install GRUB and then update GRUB: https://itsfoss.com/update-grub/
- The computer boots normally to the GRUB menu, but there is no option to boot Windows. In that case, update GRUB (see above).
If you turned off fast boot, you should be able to re-enable it once everything is working correctly.
As long as you don’t touch your primary hard disk during installation of Ubuntu, the worst possible thing that could happen would be that you would remove the new secondary hard disk out of frustration, and you’d be back to where you started.