But the installation failed I think, because an interaction between reFind boot loader and GRUB. Now, the Mac boot-loader is messed up and I can only boot the M ac OS X pressing the option key and choosing, I suppose, the EFI partition where reFind is located. It's a disaster. I already removed the partition where Ubuntu 14.04 resided. Though, when I was busy with my repair, I obviously missed to install grub2-efi-x64 so I ended up with this message after a reboot. Failed to open EFIfedoragrubx64.efi - Not Found Failed to load image EFIfedoragrubx64.efi: Not Found startimage returned Not Found. Reinstall Ubuntu GRUB Boot Loader 1. After you’ve downloaded and burned the Ubuntu ISO image, or created a bootable USB stick, place the bootable media into your appropriate machine drive, reboot the machine and instruct the BIOS to boot into Ubuntu live image.
by Rod Smith, [email protected]
Originally written: 9/23/2011; last update: 7/7/2018
This Web page is provided free of charge and with no annoyingoutside ads; however, I did take time to prepare it, and Web hosting doescost money. If you find this Web page useful, please consider making asmall donation to help keep this site up and running. Thanks!
|Donate $1.00||Donate $2.50||Donate $5.00||Donate $10.00||Donate another value|
This page is part of my Managing EFI Boot Loadersfor Linux document. If a Web search has brought you to this page, youmay want to start at the beginning.
The GRand Unified Bootloader(GRUB) is actually two boot loaders. This page describes GRUB 2, whichis the current version of the boot loader. The previous page, Using GRUB Legacy, describes the previous (andnow discontinued) version of the boot loader.
When to Use GRUB 2
Overall, conditions when you might want to consider using GRUB 2 include:
- You use GRUB 2 in other environments (on a BIOS-based computer, for instance) and so are familiar with it.
- Your distribution installed GRUB 2 as the default boot manager, and it's working well enough that you want to keep it.
- You want a boot loader that adjusts automatically to new kernel installations. (Note, however, that GRUB 2 does this through scripts in the installation OS. This means that if you have installed additional distributions, or non-Linux OSes, GRUB 2 will not automatically adjust for them.)
- You need to chainload to another EFI-mode OS.
- You cannot mount the ESP at /boot—GRUB 2 includes filesystem drivers that enable it to load a kernel from every common Linux filesystem.
- You need a boot loader that can load certain non-Linux kernels directly; GRUB can boot macOS, Mach, BSD, and some other kernels directly.
- You want or need to use Secure Boot—most distributions that support Secure Boot do so through a combination of Shim and GRUB 2.
- You want a boot loader that can provide diagnostic help in the event of a boot problem. GRUB 2's grub> prompt is cryptic, but useful to an expert.
Conditions in which GRUB 2 may not be the best choice include:
- You want a boot loader that can chainload to a BIOS-mode boot loader;GRUB 2 can't do this.
- Your computer has multiple distributions installed on it—GRUB 2's script-based update tools tend to miss updates on the non-primary OS's GRUB until the primary GRUB is installed. You may also encounter boot coups, in which the GRUB that controls the boot process changes periodically.
- You want something that's easy to configure manually, without relying on automatic configuration scripts—GRUB 2 has, by far, the most complex configuration of any EFI boot loader.
- You want something with more 'eye candy'—rEFIt and rEFInd are better choices for this.
GRUB 2 is the default EFI-mode boot loader for many distributions,including current releases of Ubuntu, OpenSUSE, and Fedora. Therefore, GRUB2 is usually easy to install and use from such distributions. If you installLinux in EFI mode and if the OS installer configures GRUB 2 properly, it islikely to work adequately. Its biggest flaw is that its support scripts tendto get hung up on complex configurations—for instance, when youinstall multiple Linux distributions on one computer. In general, I preferto use the kernel's EFI stub loader inconjunction with an EFI boot manager (typically my own rEFInd) on such computers.
Installing GRUB 2
GRUB 2 installation works just as described in EFI Boot Loader Installation. It can beinstalled in any of three ways, depending on the way in which the programwas compiled:
- The GRUB 2 EFI binary can be installed along with its support modules and configuration files on the ESP. Fedora uses this method, and most manual installation instructions I've found on the Web describe this method of configuration.
- The GRUB 2 EFI binary (grubx64.efi, typically) can be installed alone in its subdirectory of the ESP. This binary will then access additional support and configuration files on your Linux root (/) or /boot partition. This is the method that Ubuntu and OpenSUSE use.
- A hybrid approach is to have the GRUB 2 EFI binary read a configuration file on the ESP, but that file then locates and reads a secondary configuration file on the Linux root (/) or /boot directory. This approach is typically used when the system is configured to work with Secure Boot active by distributions that otherwise use the second method. The reason is that the GRUB 2 binary must include a system-specific reference to its configuration and support files, but such system-specific references cannot be signed by the developers. Thus, the separate ESP-resident configuration file enables placing the bulk of the support files on a Linux partition with a signed GRUB 2 binary on the ESP.
The second and third methods have been less reliable for me. Splittingthe files required for basic boot loader operation across two partitionsmeans that the boot loader will stop working if either partition is damagedor deleted. If this happens, the user will be greeted by a grub>prompt—a useful tool for experts, but a sure way to cause panic amongless technically-savvy users, including many of those drawn to Ubuntu!Keeping all files required for boot-time operation on the ESP, by contrast,means that the boot loader will continue operating even if you delete Linuxor suffer serious filesystem damage on Linux.
Typically, you must compile GRUB 2 from source code to get the firstmethod working, which complicates setup. (Fedora is an exception to thisrule, though.) When the configuration and support files reside entirely onthe ESP, GRUB 2 seems less finicky and is easier to get working if you're trying to set things up manually. This pagedescribes GRUB 2 compilation and setup in more detail than I can describehere, so I recommend you consult it if you want to attempt this method ofinstallation and configuration. (That page in turn recommends using another page instead, butthe second page is very Ubuntu-specific and describes Ubuntu installationgenerally, not GRUB 2 specifically.)
Since GRUB Legacy, ELILO, rEFIt, rEFInd, and gummiboot all read theirconfiguration files from the ESP, they can't suffer from the problem of asplit configuration that plagues too many GRUB 2 installations. Only GRUB2, configured to place its support files on a Linux partition, suffers fromthis deficit.
Whether you use a version of GRUB 2 that's configured to look for itssupport files on the ESP or on a Linux partition, the software can load theLinux kernel from just about anywhere—the ESP, a Linux partition, oreven from a RAID or LVM partition. Most commonly, the kernel and initialRAM disk will reside in the Linux /boot directory. (Note thatreading a kernel from somewhere other than the ESP isn't a problem by thepreceding analysis—GRUB 2 can still boot other OSes even if it can'taccess a Linux kernel file, so long as its own configuration and supportfiles reside on the ESP.) This is arguably GRUB 2's greatest strength; no other boot loader can read Linux kernels from such a wide variety of locations.
Grub Bootloader Failed To Install
The grub-install script will install GRUB 2 on most systems, provided the relevant packages have been installed using your package manager. This script can greatly simplify installation or re-installation. Of course, since many distributions install GRUB 2 automatically as part of the OS installation, you may not need to to anything at all to install GRUB 2. The Boot Repair tool also deserves mention. This is a popular tool in the Ubuntu community; it will install or re-install GRUB 2 and automatically repair some common configuration problems. Boot Repair is not 100% reliable (no automatic repair tool can make that claim), but it is useful in many situations. I don't know how well it deals with non-Ubuntu distributions, though, so you may want to be cautious about using it with them.
Configuring GRUB 2
GRUB 2's configuration file, grub.cfg, can be as simple as thatof GRUB Legacy; but with most installations, the auto-configuration scriptscreate a big file that's harder to edit by hand. If GRUB 2 is set up tolook for its configuration file in /boot/grub, you should probablyleave the configuration to its scripts, and create custom entries byediting /etc/grub.d/40_custom or other files. This task is toocomplex for me to describe in detail here (although I present one example below); consult a guide on GRUB 2 for help on thistopic.
If you create or obtain a GRUB 2 binary that looks for its configurationfile in the ESP, chances are the usual GRUB 2 configuration scripts won'tcreate that file directly. (Fedora's GRUB 2 is an exception to thisrule.) You'll then have to either copy the configuration file these scriptsdo create from /boot/grub/grub.cfg to the GRUB 2 directory on theESP or create your own custom grub.cfg file on the ESP. The lattertask is extremely tricky because of the many GRUB 2 options and thesensitivity of GRUB 2 to changes in its configuration file.
You can create custom GRUB 2 boot stanzas by editing the/etc/grub.d/40_custom file. If you want to add an entry for aLinux distribution other than the one that installed GRUB 2, you cancut-and-paste an existing entry from the /boot/grub/grub.cfg fileand modify it to suit your needs. If you want to chainload another EFI bootloader, the following may serve as a useful starting point:
In theory, this example should chainload to the Windows 10 boot loader onthe ESP (partition 1 on the first hard disk). In practice, both myexperience and posts I've seen in online forums suggest that entries likethis are hit-or-miss—what works well on one system fails miserably onanother.
Additional GRUB 2 options and defaults are stored in other configuration files. Most importantly, /etc/default/grub includes several GRUB 2 global defaults, such as its menu timeout value and which entry it launches by default.
If you make changes to /etc/grub.d/40_custom or similar files,you must type update-grub (in Ubuntu and some relateddistributions) or grub-mkconfig -o /boot/grub/grub.cfg toupdate the GRUB 2 configuration file in /boot/grub. If your setuplooks for grub.cfg in the ESP, you must then copy/boot/grub/grub.cfg to the ESP.
Instead of or in addition to manually editing configuration files, you may want to use the GRUB Customizer tool. (See here for an Ubuntu PPA of this tool.) GRUB Customizer provides a GUI method of selecting boot options that will then be written into the GRUB configuration file.
Using GRUB 2
When GRUB 2 is launched, you'll see a menu of boot options, each namedafter an entry in the configuration file, as shown below. Select an optionwith the keyboard's arrow keys and press the Enter key to launch theassociated kernel or EFI boot loader.
Maintaining GRUB 2
If your distribution includes scripts to maintain GRUB 2 automatically,you shouldn't need to do much to maintain this boot loader. In practice,though, you may need to tweak the configuration if you add an OS or kernel,typically by editing /etc/grub.d/40_custom or similar files, asjust described.
Go on to 'Using the Kernel's EFI Stub Loader'
Return to 'Managing EFI Boot Loaders for Linux' main page
copyright © 2011–2018 by Roderick W. Smith
If you have problems with or comments about this web page, pleasee-mail me at [email protected] Thanks.
Grub Bootloader Failed To Install Ubuntu
Return to my main Web page.