Dual Boot with Windows - using Microsoft boot loader - BIOS machines

sjgoldborough
  7 years ago
  -1

Why dual boot?

These days, Linux desktops, especially Mint,  are catching up with Microsoft flavors - but for many there's still a need to run some Windows software like Word, Windows Media Centre and full-featured Skype. There's a multitude of ways to do this, like setting up virtual machines or running Windows apps under Linux with a Wine or Crossover layer. But these two are maybe not for the faint hearted - and new releases of MS Office can break Wine for an unknown period of time.

For most average home users, setting up a dual boot machine - two operating systems working off one hard disk - will be a more achievable option. This tutorial assumes your PC operates, or can operate in BIOS mode, I'll be posting on UEFI only machines soon. 

Default dual boot method - with GRUB bootloader

What happens in most dual boot methods out there is that you partition your disk , allow Windows to install first to the first partition where sets up its boot directory. You then install MInt or Ubuntu and in the install process you check a box which says "set up XXX linux alongside Windows xxx?". This default choice causes the install to overwrite the Master Boot Record (MBR) written by Windows. It's replaced by one written by the GRUB bootloader commonly used for Linux systems. At start up, you then get a GRUB menu which offere a choice of operating system.

See http://askubuntu.com/questions/461622/dual-boot-windows-7-home-premium-and-ubuntu-14-04 for an example of this method.

Sometimes Windows updates, or Windows recovery processes, or some other problem, can delete the GRUB boot record, and Linux becomes invisible on start up, or worse, you can't boot the disk, period. The following solution, with Easy BCD, is one way of reducing the risk.

Alternate method - Easy BCD

This method assumes a new PC or empty hard disk. It can be adjusted for hard disks you already have some data on.

1. Create a Linux Mint install flash drive.

Download the ISO for your favourite release of MInt and set up a USB install stick.. See, for example, https://community.linuxmint.com/tutorial/view/744 . Insert the USB stick and turn on the PC. The system should boot Linux Mint from USB. ( If it doesn't, you may need to check out your PC's documentation, run the BIOS and change the BIOS boot page to allow USB booting).

Running the install disk, you may get a prompt asking an "install now? question. If you do, answer no.  From the Mint desktop, locate the menu button, usually at the bottom left. Find and run the Partition Manager (GParted) app. Create one NTFS partition at the start of the disk.  This should occupy about one half of the disk. Exit (for now) the Linux Mint Desktop.

2.  Install any Windows flavor from your DVD.

3.  In Windows, download and install Free Easy BCD.

This app is avaiable from https://neosmart.net/ . Also read the tutorials therefor a general feel for what the app does. Run Easy BCD and just see what the default bootloader looks like. You may also want to add another bootloader line for "Run Windows in Safe Mode" (with or without networking).  Also, I suggest you change the wait time before the default sysem loads to about 10 seconds.

4. Install Linux Mint

Reboot the PC from the USB stick. Now you will run the install process. In the partition section make sure to check the "do something else" box rather than accept the "install alongside" default.

You will see in the partition table the one exisiting Windows partition, which is a physical partition. It should have the name sda1. Leave this unchanged. You will need to set up two three new partitions, and, for a solid state drive only, allow a remaining 8 to 10 percent unallocated space at the end of the disk.  The final partition will be a Linux Swap partition, and its length should be approximately the same size as the amount of RAM you have.

The first partition to set up is a second physical partition sda2, which will be a parent of the remaining 2 logical partitions, sda3 for Mint and sda4 for Linux swap.

Partition sda3 is for Linux MInt and will use the remaining space.. There are two critical issues for setting up this partition. First you must change where GRUB bootloader installs from sda to sda3. Second you will format the partition to an ext4 files sytem, but before you do you need to mark this partition as a mount point (/).

Format sda4 as swap.

(If you are intending to triple boot with another Linux flavor, you'd  have needed to allow some extra unallocated space bertween sda3 and sda4. )

Now you can relax and let the rest of the install happen.

Exit Linux Mint set up and boot into Windows.


5. Add boot menu line for Linux Mint

In Windows run Easy BCD again and go to "add item". Add a line for Linux Mint using the Linux tab. Select the GRUB2 for bootleader type, partition #2 for location, and name it Linux Mint or Rosy or what you want. Don't select the "use Easy BCD Grub" option.

Restart, and if all is well, you can now boot into Linux Mint.

Comments
schwagerjt 7 years ago

Awhile back I used a software called System Commander and it was pretty good in its day. It was installed with Windows and inserted itself in the boot sector so that it would load just prior to the Operating System. Just as with GRUB, you could select which was the default Operating System and it would load automatically after a set length of time if no keys were pressed.

After selecting the operating system to boot from, it would boot that Operating System and release itself from memory so there was nothing resident and no processing overhead associated with it.

Initially the software did not have mouse support and a graphical interface but that was added in later versions, which greatly improved its ease of use.

In addition to its ability to boot multiple OS's it also allowed you to partition drives, grow and expand partitions, copy or move them, select the type of partition from a table which listed the various partition type and file system options:

https://www.win.tue.nl/~aeb/partitions/partition_types-1.html

Also, you could select which partitions were active and bootable.

System Commander could format a partition to accept any Operating System you chose and it could keep the partitions isolated from each other such that one operating system could not access the partitions of another operating system. Alternatively, you could make them accessible if you so desired. For system partitions, probably not a good idea unless you were fixing a problem, but for data partitions I can see where a person might want to have their documents, photos, and videos, accessible to other OS's.

When Avanquest bought out VCom, it lasted for a little while and was then shelved -- not too long after the release of Windows Vista if memory serves correct.

Am pretty sure the last version of System Commander that came out was version 9 of their software.

From the looks of things, this Easy BCD software you describe functions similarly to System Commander. I am in Linux right now and have yet to boot to Windows to install it, so I'm not sure if it has the abiltiy to copy, move, and resize partitions or specify the partition types with the ease that System Commander did.

It would be WAY COOL if the Linux user community could develop a similar functioning software that did not require Windows to install. Perhaps it has chosen not to because of the development of VMWare which allows users to run other OS's as virtual machines... but I still think there is utility in being able to boot clean into an OS and not have to devote memory to other OS's and/or share hardware resources...

I have used VMWare and I like it alot. It's great stuff and I definitely like it's ability to create a virtual environment that totally insulates your machine from getting corrupted by a badly behaving OS, or its ability to create different memory configurations and simulate older functioning hardware so that a person could run MSDOS software for example that was written to run on slow machines and can't run on today's hardware.

Still, my preference when working in an OS is to run clean and not be bound up in a virtual machine -- if I don't have to.

-----------------------------

IF one only wants to boot between Linux and Windows, there really is no need for Easy BCD. GRUB does just fine and can be configured to boot Windows as the default OS -- IF that is your preference. :)