Ubuntu – Install Windows 10 alongside Ubuntu 14.04

14.04bootdual-bootgrub2windows 10

I'm having a lot of issues dual booting Windows 10 and Ubuntu 14.04. I'd like to not do anything too crazy if possible.

I need to install Windows 10, when I already have Ubuntu 14.04 installed. My Laptop is a Dell.

OK, here's what I need help with:

  1. Downloading everything I need
  2. Making my live USB's
  3. Split partitions
  4. Installing Windows 10
  5. Repairing Grub
  6. Fixing the UEFI to boot Grub

Best Answer

This is a FULL solution to the problem. I'll be outlining all my steps and possible alternatives for others. A lot of thanks go out to Zacharee1 and the Ubuntu community as whole.

Steps:

  1. You'll need to download some tools.

    1. UNetbootin will make your live USB's. It runs on Win, Mac, and Linux.

    2. I used Ubuntu to split my partitions from a live USB.

    3. Grub Boot Repair. This will allow you to recognize all the OS's on all your partitions. It installs Grub2.

  2. Making a Live USB and Partitioning.

    1. Run UNetbootin

    2. You have two options on the main screen. We want to choose Disk Image, not distribution. Make sure it says .iso, then click the "..." button and find your Ubuntu .iso file we downloaded earlier and select it. Now make sure you're selecting USB on the main screen and the appropriate drive letter for your USB. You can ignore making extra space, as we won't be needing it for this. Then install that .iso file. It should only take a couple minutes.

    3. Restart your PC as prompted. On restart you need to get into your Boot Menu. On my laptop this means hitting the F12 key during boot. Yours might be different. Once you're in your bios screen select your boot device (You should see your USB). It'll open Ubuntu and ask if you want to install or run from the USB in a trial version. Run the trial version.

    4. Open Gparted from the desktop. You should see "blocks" of memory here. You want to Resize a partition (this makes room for a new one). So right click on the partition and select resize/move. You now see a min and max size. Don't set it directly to your minimum size, but leave room for expansion -- at least a few GB if possible. The numbers are in MB. You can google the conversion if you need to. Now click resize/move.

    5. You are now back on the GParted main screen and a new partition labeled "Unallocated" has appeared. Right click on this partition and select NEW. Create it as a PRIMARY PARTITION with a files extension of NTFS. You can set the size as well; by default it'll use all the free space which is fine. You can add a label, but I find it easier to let the system name it. Now click add. You are back to the main screen. Click the Green checkmark to run both the resize operation and the NTFS formatting operation. If you are working on sizes with 100's of GB this is going to take a long time (took me 1.5 hours).

  3. Installing Windows 10

    1. Restart your PC and install the Windows 10 .iso to a USB using UNetbootin (same steps as in #2)

    2. Restart your PC, hammer on your boot key (mine is F12) to enter your BIOS. Select the USB from the boot list.

    3. Windows will walk you through installing itself. It will directly ask you to pick a partition. Select the new one you made in Step 2. When it's done it will have altered your boot settings and it will look like Ubuntu is missing (but it's not, don't panic).

  4. Repairing Grub

    1. Use UNetBootin to make a live USB for the grub boot repair .iso (see previous steps for instructions)

    2. Restart your PC and hammer on your boot key (mine is F12) to enter the BIOS. Select your USB from the boot list.

    3. You are now in a desktop designed simply to repair GRUB for you. You the "recommended settings" button that pops up on the desktop. You'll be prompted to connect to the internet during the repair process. They store your log file in a URL for you to access later, nothing crazy. Once you're done you should be good to go. Grub should load automatically allowing you to select your OS when you restart the computer. But if you are unlucky like me, and restarting just throws you into Windows, go to step 5.

  5. Changing your UEFI boot order.

    This should not be necessary for most people. My UEFI and BIOS just hated me. There are three methods to fixing this: Using Ubuntu, Using Windows, and Using your BIOS. Ubuntu and Windows failed for me, using the BIOS directly worked.

    • Ubuntu Method. (Copied mostly from Cleaning up and changing the EFI boot order permanently using eifbootmgr)

      Open a terminal and type:

      sudo efibootmgr -v
      

      You'll see your boot order now. Here's my broken order, paraphrased. Yours will vary:

      BootOrder: 0005,0000,2001
      Boot0000* Ubuntu
      Boot0002* UEFI Onboard LAN IPv4
      Boot0003* UEFI Onboard LAN IPv6
      Boot0005* Windows Boot Manager
      Boot2001* EFI USB Device
      

      The line BootOrder: 0005, 0000, 2001 is our problem. It means we're loading Windows and not Ubuntu (which holds Grub) first. We need to change this. Copy this line and change the numbers as needed for your own system:

      sudo efibootmgr -o 0000,0005,2001
      

      This will change the order to Ubuntu, then Windows, then a USB. This is specific to MY system. You need to use your own numbers, but in that exact same format. You can add more commas and numbers, but don't use any spaces and all numbers are 4 digits. Restart your PC and see if you load directly into GRUB for Ubuntu. Mine didn't stick, so I then tried the windows method below.

    • Windows Method.

      If you boot into the Windows 10 OS, you can try configuring the UEFI Boot order manually. Unfortunately my system didn't detect my files properly. Here is how to do it though: Changing the Default Boot Entry These are the instructions I followed and they do a good job. I had to go to the next step though.

    • BIOS Method.

      This method sucks because every BIOS interface is different.

      1. Restart your PC. Hammer on your BIOS key (mine is F12) to enter the boot menu.
      2. Find some sort of menu that talks about boot order. Mine was hidden in an "advanced" tab. You should see your list and Windows will be at the top.
      3. Using +/- you can change the order. Place Ubuntu at the TOP. My system only uses -, but it still works.
      4. SAVE AND EXIT that screen. Exit out of your bios.
      5. You should now see the Grub Menu (since Ubuntu is the default UEFI Boot now).
      6. Select the OS you want.
      7. Restart your PC one more time. If Grub pops up, then you're done and good to go. Hope this helped.

Again, thanks to the community for all the support articles and friendly advice. If you wish to configure your Grub Menu, please refer to Ubuntu Wiki - Grub2/Setup - Configuring GRUB 2. It has a lot of fun options to tinker with, like your timeout for loading into a default OS.