2

I have two separate SSD's. One of them has Windows 10 Pro installed, and the other has Ubuntu 14.04.3 LTS.

When my computer boots I get no grub menu to choose the operating system I want to boot into, it directly boots into Ubuntu automatically. I can boot into windows with on problems when setting its SSD as the first one in the boot sequence in the BIOS.

I have a third 2TB HDD that I use only for storage. Here is the information summary after running bootinfoscript

============================= Boot Info Summary: ===============================

 => Windows is installed in the MBR of /dev/sda.
 => Windows is installed in the MBR of /dev/sdb.
 => Grub2 (v1.99) is installed in the MBR of /dev/sdc and looks at sector 1 of 
    the same hard drive for core.img. core.img is at this location and looks 
    in partition 112 for .

sda1: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /bootmgr /Boot/BCD

sda2: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /Windows/System32/winload.exe

sda3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        

sdb1: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 14.04.3 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab

sdb2: __________________________________________________________________________

    File system:       swap
    Boot sector type:  -
    Boot sector info: 

sdb3: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:        /efi/ubuntu/grubx64.efi /efi/ubuntu/MokManager.efi 
                       /efi/ubuntu/shimx64.efi

sdb4: __________________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  
    Boot files:        

sdc1: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7: NTFS
    Boot sector info:  No errors found in the Boot Parameter Block.
    Operating System:  
    Boot files:      

I have installed Linux before many times, however this is my first time installing it on a separate drive. Do I need to do anything extra/different seeing that is is installed on a separate drive to Windows?

  • There are two ways actually: WIndows boot manager detects Linux, or let Grub detects Windows. The latter might requires to manually configure grub.cfg to add entry for chainloading Windows at the other partition. I don't use Windows anymore, so I can't put this as answer; This shall be a clue for others to answer or to solve it on own. – clearkimura Nov 8 '15 at 10:21
2

Perhaps update-grub2 was not run after Linux installation completed? This usually helped refresh my boot options menu.

I see clearkimura's comment about modifying /boot/grub/grub.cfg, but this file clearly says not to modify its contents as it is automatically generated based on /etc/default/grub and /etc/grub.d/.

  • You are correct about modifying grub.cfg. But have you wondered why? Because grub.cfg file will be regenerated automatically by running update-grub command. Hence, I suggested "manually configure grub.cfg" which will not require to run the command. This is especially true if you are working on system installed on external storage or live media. – clearkimura Nov 9 '15 at 8:54
  • @clearkimura: Now I see your point. My point was to make sure Sylvoo is aware that manual changes to grub.cfg will be wiped out every time update-grub is triggered by a package manager, that is at any kernel image addition to boot options or GRUB update itself. – Xavras Wyzryn Nov 10 '15 at 18:04
0

Quoting an answer by user613363 posted here: https://askubuntu.com/questions/726972/dual-boot-windows-10-and-linux-ubuntu-on-separate-hard-drives

This should work for most systems that use UEFI and which have two HDD.

Specification used for the tutorial below:

Dell Inspiron E5440:

  • Main HDD – 256 GB 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 partition 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 650 MB 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.