92

How would I go about dual booting Windows 10 and Ubuntu, the windows drive is on an ssd as my c drive and my s drive is a hdd that I want to use for Linux. I have no idea what I need to download it or anything.

4
  • 31
    Before you mark any question as duplicate, please make sure you get the difference in the the new question This question was never a duplicate. It focuses on Two different drives and not Two partitions drives. A problem that people with modern machines are likely to experience. @DavidFoerster I recommend you remove the duplicate flag and show possible solutions kindly.
    – Geek Guy
    Nov 6, 2019 at 8:04
  • @GeekGuy: The solutions are the same though, regardless of whether the two partitions end up on the same or a different physical drive. All that changes are the block device node names which already vary a lot depending on the specific set-up anyway. Nov 7, 2019 at 9:12
  • More generally, if we have two question “How do I do X under condition C1?” and “How do I do X under condition C2?” and the answer to both is “Perform steps S1, S2, S3… while adjusting parameters P1, P2… based on environment conditions E1, E2….” – note that neither C1 nor C2 influence the answer – then, we should flag one question as a duplicate of the other. Nov 7, 2019 at 9:18
  • @GeekGuy , Suppose in later stage we decided to take out the Windows hard disk to another PC. then what are the steps to do to work this two independently ?
    – Arun
    Mar 16, 2021 at 16:30

3 Answers 3

143

This should work for most systems that use UEFI and which have two HDD.
Update: Be careful with newer Windows systems like Windows 10/11 which may depend on a single UEFI bootloader partition to work properly, see 1 and 2

Specification used for the tutorial below:

Dell Inspiron E5440:

  • Main HDD - 256GB Samsung SSD (Windows 10 installed)

  • Secondary HDD - 64GB Transcend mSATA SSD (Mint 18 was installed to this drive)


A) UEFI/BIOS

  1. Set to "UEFI mode only" (no legacy/CSM).

  2. Disable "secure boot"

  3. Disable "Intel Rapid Start" (if equipped)

  4. Disable "fast boot" in UEFI (note this is different than the "fastboot" setting in Windows 8/10). The options in your UEFI/BIOS might say something like Full/Minimal/Automatic for boot mode. Select Full (or thorough, or complete, etc whatever your UEFI vendor has chosen to call it).

B) Advanced Power Options (Fastboot)

Disable fastboot in Windows 8/10 under "advanced power options". Restart computer to ensure that this subsequent boot and the next reboot/shutdown will be in "normal" mode.

Optional:

Install Macrium Reflect (free) and create a backup image and reinstallation media should something go wrong with Windows 10.

C) Rufus / Bootable USB stick

Use Rufus to create a bootable USB stick with your choice of Ubuntu based distro. Make sure in Rufus that you CHOOSE the option UEFI/GPT only. This ensures the Linux environment boots only into UEFI mode during your install.

D) Boot Menu

Reboot your computer and press key for one time boot menu (Dell is typically F12). Select your USB stick from the boot options.

Note:

Make sure it says UEFI in front of the USB stick in the boot menu.

If not, return to Windows and recreate your USB stick with Rufus ensuring you choose the UEFI/GPT (only) option.

E) Boot into USB Stick

Boot into Linux live environment and begin install.

F) Installation type

When you get to the installation option, choose "Something else" at the bottom of the Ubiquity installer.

G) Create partitions

Find your secondary HDD that you will be installing Linux to.

In my case it was listed as /dev/sdc (with /dev/sda being the windows drive and /dev/sdb the USB drive [which was invisible in the installer]).

So basically:

+--------------+--------+---------------------------+--------------------------------+
| Device path  | Device | Operating System (OS)     | Visible in Ubiquity installer? |
+--------------+--------+---------------------------+--------------------------------+
| /dev/sda     |  HDD   | Windows 10                | yes                            |
| /dev/sdb     |  USB   | Ubuntu 16.04 (Live Stick) | no                             |
| /dev/sdc     |  HDD   | None                      | yes                            |
+--------------+--------+---------------------------+--------------------------------+
  • 1st Partition / EFI
  1. Select your target drive (in my case /dev/sdc)

  2. Select "Make New Partition Table"

  3. Partition the target drive as follows:

  • Size: 650 MB
  • Type for the new partition: Primary
  • Location for the new partition: Beginning of this space
  • Use as: EFI (this will be listed as /dev/sdc1 efi in the partitioning tool once you create it)
  • 2nd Partition / Root
  1. Select "free space" under your target drive (in my case /dev/sdc)

  2. Select "+"

  3. Partition the target drive as follows:

  • Size: min. 10 GB (20+GB better)
  • Type for the new partition: Primary
  • Location for the new partition: Beginning of this space
  • Use as: ext4
  • Mount point: Choose "/"
  • 3rd Partition / Swap
  1. Select "free space" under your target drive (in my case /dev/sdc)

  2. Select "+"

  3. Partition the target drive as follows:

  • Size: min. 2 GB (20+GB better)
  • Type for the new partition: Primary
  • Location for the new partition: Beginning of this space
  • Use as: swap (if you wish to use hibernation, the swap needs to be just slightly larger than your total amount of RAM - example I have 8 GB so the size of this parition was set at 9000 MB)
  • 4th Partition / Home
  1. Select "free space" under your target drive (in my case /dev/sdc)

  2. Select "+"

  3. Partition the target drive as follows:

  • Size: remainder of space on drive
  • Type for the new partition: Primary
  • Location for the new partition: Beginning of this space
  • Use as: ext4
  • Mount point: Choose "/home"

H) Boot loader Device

  • BEFORE clicking "Install Now", from the "device for boot loader installation" option button, select the 650MB EFI partition you just created as the target for the bootloader. (example /dev/sdc1 in my case).
  • Click "Install Now".

I) Installation & Reboot

  • Finish installation process and reboot (removing the USB stick when your UEFI/BIOS screen logo appears).

J) Upon reboot

After UEFI/BIOS reads the new bootloader entry that Linux has added to it, you will be presented with the grub menu with a listing of your Linux distro as well as a listing to boot Windows 10.

  1. Boot into Linux

  2. Install any updates and then reboot and attempt to enter Windows 10 from the grub menu to make sure that grub correctly handles the hand-off to the Windows 10 bootloader.


What you have done:

You have installed the Linux EFI bootloader to the newly created EFI partition. In the process of this, Linux has added an entry to your UEFI listings in your systems UEFI/BIOS. Linux has also automatically detected your Windows 10 install and added a grub menu item to boot it. Your computer at this point will now automatically boot to Linux unless you choose to boot to Windows (from the Grub menu).

What you have not done:

You have not in any way altered your Windows 10 install or its bootloader or even so much as touched the Windows 10 EFI partition. Everything is reversible simply by removing the Linux UEFI listing from your UEFI/BIOS settings. How to do so varies from each vendor.

12
  • 1
    thanks pal, I didn't know which efi partition select for boot loader for my new distro KDE neon, thanks Jul 9, 2017 at 15:45
  • 4
    This is the cleanest explanation on the internet. Thank you, you truly deserved your upvote. Feb 8, 2018 at 15:26
  • 3
    Fantastic walk-through, thanks! Also worth a mention that Ubuntu maintains time in UTC and Windows in local so you'll need to change one or the other to have them in sync. Mar 11, 2018 at 22:22
  • 2
    I can't see the efi partition under boot loader installation, what am I doing wrong?
    – Jack
    May 9, 2018 at 12:01
  • 3
    Does it make sense to disable secure and fast boot options with WIndows 10 and Ubuntu 18.04? Aren't all technologies are compatible nowadays?
    – 0leg
    Jan 10, 2019 at 15:12
2

same environment as mine :) just download iso image and put it into your bootable DVD/USB. Set the partition and install,

then set the first boot device to linux installed HDD at the BIOS/UEFI. Otherwise, you can only boot with Win10

4
  • So, I'm still going to need a USB or CD then, I can't treat the hdd as a USB? Jan 29, 2016 at 5:48
  • That depends on which version of Ubuntu you are going to install. As far as I remember, 12.04 certainly support Windows installation, 14.10 not pretty sure, but 15.10 does not support the installation from Windows.
    – kkangshawn
    Jan 29, 2016 at 5:51
  • 1
    I recommend editing this answer to expand it with specific details about how to do this. (See also How do I write a good answer? for general advice about what sorts of answers are considered most valuable on AskUbuntu.) Feb 23, 2017 at 18:22
  • Nah, when I set linux as first boot device it just loads linux without dual boot screen.
    – Artem P
    Apr 3, 2020 at 18:45
-1

I currently have Ubuntu 15.10 on one partition and CentOS 7 on a separate partition of the same 1TB HDD (as well as swap partitons.) On a separate SSD I have Windows 10.

Here is what I'd suggest:

-Install Windows 10 on your HDD/SSD (if not done already)

-Make a bootable USB/CD of Ubuntu

-Boot USB/CD

-Select 'other' for install portion

-Create 30GB '/' partition of type ext4

-Create 8GB of type swap *

-Create x-amount GB (whatever space is left) for '/home' of type ext4 **

-Install grub2 on drive that has Windows master boot record.

After finishing up the install you will reboot and see grub2 and be able to choose which OS to boot into.

*assuming you have 8GB ram

**alternatively you can make one large / partition instead of a separate /home partition if you prefer.

Not the answer you're looking for? Browse other questions tagged .