Multi-booting, installing more than one operating system on a computer’s hard drive(s), has become very popular over the years, fueled, of course, by the popularity of Linux as an alternate system for desktop and servers. Dual-booting, installing two operating systems on a computer is a subset of that, and in this article, basic guidelines to follow when attempting to dual-boot a Linux distribution and Windows are presented.
The most common practice is to dual-boot on a computer with one hard drive. That, however, gives the system a single point of failure. If you can afford to, the best option, especially on server installations, is to install each operating system on a separate hard drive. That ensures that if something goes wrong with one OS or one hard drive, you can always boot from the other drive, and troubleshoot the other one whenever you are ready. That is tip number one for dual-booting your favorite Linux distribution and Windows.
When attempting to dual-boot on a computer with one hard drive, always install Windows first, followed by your Linux distribution. Why? Because Windows is intentionally designed to destroy everything in its path. So, if it finds another operating system on the same hard drive it is being installed on, it has no built-in mechanism that allows it to play nice. The foregoing, by the way, is tip number two.
If you are going to dual-boot on a computer with an existing installation of Windows, and you do not want to re-install Windows, it means you will have to shrink the Windows partition to create room for your choice of Linux distribution. You can do this from inside Windows or from the Linux installer, and be sure that your data will be left intact. But that does not mean that you should ignore tip number three which is, back up our data. There is a saying in the stock and commodities trading business, which goes like this: “You can never go broke by taking profits.” In the same vein, you can never lose your data by backing it up. Back up your data before messing with your C drive.
By default, the boot loaders of operating systems are installed in the Master Boot Record (MBR) of a hard drive. That is the best location for it. However, when attempting to dual-boot Windows and a Linux distribution, you have another option, and this should count as tip number four: When attempting to dual-boot on a single hard drive, it is better to install the Linux boot loader on a separate boot partition, and have the Windows boot loader be responsible for dual-booting both operating systems. Whether you choose to follow this tip or not depends on your tolerance for pain, because the alternative is to follow the default, that is, install the Linux boot loader in the MBR.
The problem with the default location is that if you ever have to reinstall Windows or upgrade it, it will wipe the Linux boot loader and install its own (boot loader). Also, some anti-virus programs have been known to install small files in the MBR, so that could be another source of pain, if you have to install an anti-virus program on Windows.
This screenshot shows how the installation program of Fedora, a popular Linux distribution, gives you a choice of locations for installing its boot loader.
With the Linux boot loader installed some place other than the MBR, an entry must be added to Windows boot menu, so that whenever the computer boots, Windows’ boot menu will look just like the one shown in the image below.
And the good part of that is, when you select the Linux entry, you will also find an entry for Windows in the Linux boot loader’s menu.
Tip number five: If you plan to install the Linux boot loader on a boot partition, be aware that on larger hard drives, there is a limit on how far the boot partition can be located from the start of the disk. On a 1TB hard drive, it is somewhere around the 500GB mark. The solution in such a case is to create the boot partition close to Windows’ System partition.
Tip number six: Even when attempting to dual-boot on separate hard drives, it is best to install the respective boot loaders on their operating system’s hard drive. Keeping them completely apart in that fashion makes troubleshooting and management a bit less of a hassle.
Notes:
- Installing a Linux distribution on an external hard drive attached to a Windows machine is not considered dual-booting, even though the distribution’s installer automatically adds an entry for Windows in GRUB’s menu.
- It is not possible to dual-boot Windows and Linux on an external hard drive. Why? Windows will not allow itself to be installed on an external hard drive. I am sure there are ways around this, but it is generally not possible.
hey.what i have to do to select the OS from linux loader boot’s menu(like in the image above).i have to instal something, and if is something to install, when i have to do it.thanks
You’ll have to install BURG, which is no longer being developed. Search for BURG on this site for tutorials about it.
My main boot disk is in a REMOVABLE drive bay. One disk for windose, the other disk mint 13 Maya. That way, windose won’t “go on the hunt” to destroy linux
I do this on my desktops. harder to do on a laptop.
disks are cheap
Won’t be able to do this in windows 8. I’ve read just recently from a Microsoft insider that unless Linux is granted access rights we will no longer be able to duel boot after windows 7 nor use windows in VB. Life as a Linux user as we currently no it has ended after windows 7.
Tip 2.5: It may be necessary to wipe (zero) the master boot record to install windows. I spent several hours and several tries to install the Win8 developer preview Tuesday before I did this. There was a grub in the MBR, windows setup was stalling or failing with no useful diagnostics. It requires a simple use of disk druid.
Only masochists or desperate people try to boot Windows with other systems.
Current state of art: http://linuxinexile.blogspot.com/2011/09/dual-boot-joy.html
And Microsoft is working to make booting other systems even harder:
http://blogs.msdn.com/b/b8/archive/2011/09/22/protecting-the-pre-os-environment-with-uefi.aspx
If after installing the Linux boot loader on its own partition, you make it the active partition, then on booting, you are taken directly to the Linux boot loaders menu from which you can choose the OS to boot to. No need to make any entries in the Windows boot menu.
Whenever you reinstall Windows, it will mark its partition as the active partition, and you will loose your beautiful boot menu. Just make the Linux partition the active partition and your boot menu will be back.
Okei! That is clear text. My situation: Win 7 Prof and Ubuntu 12.04.1 Desktop on two different HD:s. In the beginning HD 0 with Win 7 is default boot disk (active), I have now after installed Ubuntu on the secondary disk, change default boot disk to this secondary disk (HD 1). The big question is: how to do that correctly?? Can I do this from Ubuntu side (live Ubuntu)? Or should I do that via BIOS when booting Win? (There are 2 identical Western Digital HD:s, each 500 GB.)
I would be very happy, if you could be so kind and answer me!
Raine Karlén
You’ve done it correctly – always do it from the BIOS. But regardless, you can always select the disk you want to boot from at the boot menu, which you can access by using the F11 key (depends on your hardware).
Not sure why any server could be dual-booting… 😎
And rare computer nowadays (apart from servers, of course) has more than 1 hard disk.
It makes tip #1 less important.
Otherwise, I fully agree.
Having your data on a separate disk from your OS is a good idea. I always have at least 2 disks on every computer I use.