0

I have installed Ubuntu 14.04 on an external USB disk drive from a Windows 8 system. If I reboot the system with the external disk attached then I can successfully boot Ubuntu or Windows 8. The instructions I was following seemed to indicate that upon removing the external disk drive Windows would just boot as before. However I now get a Grub prompt (GNU GRUB version 2.02~beta2-9) at which I'm not sure how to boot Windows. Does this mean I always have to have the external disk drive attached when I want to boot Windows? I was hoping this wasn't the case. How can I allow Windows to boot as before without the external drive attached but when the drive is attached allow Ubuntu to be booted?

Any help gratefully receive and many thanks.

Steve

2 Answers2

1

That is happening because you put grub on the other disk, but it still removed the bootloader on the internal disk. Try running "sudo update-grub /dev/sd(what ever the name of the internal drive, mine is sda)

sbergeron
  • 2,660
  • Thanks for the suggestion. So /dev/sda is my internal Windows disk? What will that do to that disk? Will Windows boot normally after this? – Steve Kinder Jul 14 '14 at 21:06
  • it will install grub to the mbr of that disk, so yes windows will very likely boot – sbergeron Jul 14 '14 at 21:12
  • Ok I ran update-grub. This did seem to find a Windows boot. Upon booting without the external drive I still just get the grub prompt. Am I always going to get that now? I did discover that typing 'exit' brings up the Windows (BIOS type) boot menu. I can then select the boot source (HDD). This then brings up a select device to boot window, containing ubuntu, Windows Boot Manager and Ubuntu. Selecting the Windows option then boots Windows. This seems a little long winded and not what I was hoping for. If I'm always going to get the grub prompt what is the correct way to boot from there? – Steve Kinder Jul 14 '14 at 21:40
  • if you can boot into windows try installing easybcd and adding both windows and the external ubuntu to it as boot options – sbergeron Jul 14 '14 at 21:43
0

You should be able to set things up the way you want. Your machine is UEFI, so to boot an Ubuntu system of USB, you should set up the USB with its own EFI partition (300M, FAT32, flagged bootable), and specify that PARTITION to the installer (might or might not work, specifying the device has NEVER worked for me).

Anyway, check after the installation, and if the USB's EFI partition is empty, just copy it from the hard disk's EFI. Now, the USB default bootloader is not indicated by some nvram entry in the firmware, so NOTHING needs to be changed on the Windows side (other that selecting USB before hard disk, and maybe adding some boot delay to give yourself a chance to hit a function key). The USB bootloader is /EFI/Boot/bootx64.efi. For a non-secure boot, that file should be a copy of the unsiged grubx64.efi. For secure boot, bootx64.efi should be a copy of the shimx64.efi file, and the signed version of grubx64.efi should be present in /EFI/Boot too. The grub.cfg file should be in/EFI/ubuntu`, and that should automatically boot when the USB is present.

Now, what you have may be a nvram entry in first place (after USB) in the bootorder pointing to the hard disk's /EFI/ubuntu/grubx64.efi, trying to run a config file off the (non-present) USB. That entry is just wrong - delete it! efibootmgr on the Ubuntu side will allow that, or maybe a Windows program can do the same thing. The first entry for the hard disk should be for Windows.

Now without the USB, Windows should just run. With the USB, the USB's /EFI/Boot/bootx64.efi should run and boot grub.

ubfan1
  • 17,838