1

I try to install a dual boot system on a laptop:

  • Windows 8.1 on internal HDD
  • Ubuntu 14.04.2 LTS on external SSD connected via USB 3.0 port

During installation I disconnected my internal HDD from laptop (because otherwise GRUB just gets installed in internal HDD's EFI partition no matter what device I choose to install it to). Install Ubuntu creating a separate boot EFI partition for GRUB. Everything is in place and works fine.

Then I connect my internal HDD again. Everything is fine, system boots to Ubuntu since it is in the first boot device on bios. I can also boot Windows by pressing [ESC] and choosing [Windows Boot Manager]. Shut it down, power on again everything is like I wanted it to be: by default it boots into Ubuntu; by interrupting I can switch to Windows.

The whole thing brakes down when I disconnect external SSD. Windows still boots but after plugging back in the external SSD, Ubuntu is unable to boot!

In initial installation, Ubuntu appears as

ubuntu (*external_device_name*)

on boot list.

After disconnecting, starting windows, shutting down and connecting again, this changes to

UEFI: ubuntu (*external_device_name*)

and it boots straight into windows when I choose this option.

I can fix this using boot-repair but it keeps happening again!

What might I be doing wrong?

UPDATE 1

I guess I found what causes my problem. I installed a software called EasyBCD. Here it shows entries in my boot menu after I made clean working install:

There are a total of 2 entries listed in the bootloader.

Default: Windows 8.1
Timeout: 30 seconds
EasyBCD Boot Device: C:\

Entry #1
Name: ubuntu
BCD ID: {6a50bd8a-ddbd-11e4-8278-806e6f6e6963}
Device: \Device\HarddiskVolume5
Bootloader Path: \EFI\ubuntu\shimx64.efi

Entry #2
Name: Windows 8.1
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi

I have 4 partitions on my internal HDD, 3 partitions on my external SSD. EFI partition of external SSD (sdb1) corresponds to \Device\HarddiskVolume5. After disconnecting external SSD and starting Windows, my boot menu is:

There is one entry in Windows bootloader.

Default: Windows 8.1
Timeout: 30 seconds
EasyBCD Boot Device: C:\

Entry #1
Name: Windows 8.1
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi

After connecting external SSD again and failing to boot Ubuntu, I observe Device to boot Ubuntu changes to \Device\HarddiskVolume8:

There are a total of 2 entries listed in the bootloader.

Default: Windows 8.1
Timeout: 30 seconds
EasyBCD Boot Device: C:\

Entry #1
Name: ubuntu
BCD ID: {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
Device: \Device\HarddiskVolume8
Bootloader Path: \EFI\ubuntu\shimx64.efi

Entry #2
Name: Windows 8.1
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi

It looks like my Asus is "forgetting" that I removed external SSD and looks into a third drive to boot Ubuntu.

I can fix this with EasyBCD by restoring a previous backup but I have to do that every time I want to boot Ubuntu.

  • I don't use EasyBCD and for me it just works using grub... (KISS: Keep It Simply Stupid) Want help with that? – Fabby Apr 12 '15 at 9:54
  • @Fabby I was thinking my problem is not about Ubuntu/Grub but related to BIOS or something else. Because when ubuntu entry I mentioned above is correct, that is when it shows \HarddiskVolume5, grub loads and works just fine. How do you propose I can show my computer correct device grub is in using grub itself? – boris Apr 13 '15 at 11:53
  • Yes, I think it's related to EasyBCD... My solution would be to get rid of that and use something like the rEFInd boot manager – Fabby Apr 13 '15 at 12:04
0

I've been doing for the past few years what you have done, and I've only recently gone head to head with EFI installations. I'm not happy but not for the reason you describe.

What is happening to you, I think, is that when you installed ubuntu on your external media, you did so by first entering setup, and in doing so you configured your computer only temporarily for this bootable medium. Once it was unplugged your computer "forgot" it, as my asus netbook always does.

If I'm right you might be able to boot by pressing a key combination at boot time. On the asus it is ESC, but on HPs it is usually F12. Please let me know if that helps.

  • actually I did not have to make any changes in BIOS setup. I plugged in LiveUSB of Ubuntu to another USB port, that just boot. Then I connected external drive and installed Ubuntu. By ESC, I can access boot menu but once there choosing 'UEFI: ubuntu [external_device_name]' just boots into Windows – boris Apr 8 '15 at 10:48

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.