Dual booting linux and windows on 2 hard drives

First off, I think some of the comments make a good point: If the virtual machines are working for you, then you're not missing much by sticking to that.

Why dual boot?

The most common scenario for dual booting is when you'll be booting into linux full time and will only need Windows once in a while, but have an OEM windows install that cannot easily be put into a virtual machine on Linux. Edit: Or perhaps you're working in Linux and gaming in Windows.

It does require some setup though, as you've probably realised, especially if you want to share files between the two. If you're going to switch between linux and windows often, or will want to access some windows applications while on working linux, you should stick to a virtual machine. Otherwise you'll be rebooting every time.

This will also take some work to do the first time to back up everything, learn about and set up partitions, and then optionally reconfigure os and programs to save things on a shared document partition.

Depending on the brand of machine, there may also be headaches dealing with how they've set up UEFI to 'protect' the windows install. You might need to do some research on your model to see if you need to change any settings in the UEFI menu (the setup menu when you first boot up the computer).

Can you Dual boot from two disks?

Yes, you can have linux installed on one disk and Windows on another. As far as grub is concerned these basically resolve into paths to a location, regardless of whether they are on different partitions on one drive or many.

What about partitioning?

If you have two separate drives, then you already have the partitions you'll need. You just need to make sure the Linux installation script is pointed to the correct drive.

However I recommend that if you're doing this to add a separate windows readable partition on the empty drive to share documents between the two installs. This also adds the advantage that you'll be able to install a new linux version without losing documents. You should also add a swap partition while you're at it.

To do this you'll use something like gparted to manually create your partitions. You can remove your Windows drive for this step and only partition the empty drive. Here's what it might look like when you're done:

sda - Drive 1 with Windows (don't touch)

  • sda1: Manufacturer's Recovery Partition
  • sda2: Windows Partition

sdb - Drive 2 with linux and shared drive (Set this one up)

  • sdb1: linux root
  • sdb2: shared documents
  • sdb3: swap

The Ubuntu site should have recommendations for minimum sizes for each of these partitions.

Should you remove the Windows drive during installation?

No. The Windows install has some limitations as to where it can boot from, so I would not try to move it or re-prioritize the disks. You absolutely need to have the windows drive back in before installing linux!!!

Do you have to set up grub manually?

No. Once you have partitions set up, the installation scripts for most popular distributions should detect where things are and set up grub automatically: in the Ubuntu installer, you will need to identify the various partitions you're going to use.

Will you lose your data or brick your computer?

It's worth repeating what you'll find in all the references:

  • back up all your files that you care about before going down this path
  • don't do it on a Friday when you've got an assignment due on Monday

I have done this for years on dozens of computers and have never lost data. But I have, on a couple of newer laptops, made them unbootable for a day or two while I tried to track down the hidden, badly named UEFI menu setting that was blocking grub menu from being written.

There is always a risk especially if you're just learning and e.g. get confused between partition names. At the very least this is a good excuse to have that full backup you should be doing every month! Good luck.