Note that this problem also exists in Ubuntu 14.10. Before I get in to all of this, I should explain my setup, so that people who are interested in my solution can figure out if they are in a similar boat. I have a Dell Inspiron laptop with UEFI and a Windows 8 partition. (Earlier I had already turned off SecureBoot in my computer's Setup). I have only one hard drive. Previously I had Linux Mint 15 installed on my computer, and it was dual-booted with Windows 8. I have just installed Ubuntu-Gnome 14.10. After quit a bit of fussing, I have Ubuntu-Gnome 14.10 up and running, and can again successfully dual-boot Windows 8. The problem here is actually a bug that is internal to grub itself, and not to Ubuntu, per se. The problem is that Ubuntu Trusty (14.04) and Ubuntu Utopic (14.10) both include buggy versions of Grub. This is because the Ubuntu people decided to include beta versions of Grub 2.02 in both Trusty and Saucy. (Why this was done, especially for an LTS release is not quite something that I understand). For any Grub people that might happen to read this, the grub that is included with Ubuntu 14.10 (grub2.02-beta2-15) contains the undefined symbol `grub_term_highlight_color` in a few of the .mod files. This can be verified by typing `nm -A /boot/grub/x86_64-efi/*.mod | grep "grub_term_highlight_color"` For anyone who has been bitten by this. The news is mostly good: your Ubuntu 14.04/14.10 installation is safe and sound on your computer, and if you have a Windows partition, that is okay as well. The only bad part is: fixing this error is a bit of a pain. What we have to do is to downgrade the version of grub that you are running to the one that is used in Ubuntu Saucy (13.10). Then, we can use boot-repair to get the Windows partition back onto the boot menu, if this is needed. Here is how to do it . . . **Part 0: Preliminaries** Before I get in to the details of how to do all of this, I will tell you how my computer is set up, so that you can change the commands below as necessary. -- I have a UEFI boot partition at /dev/sda0, which is mounted as /boot/efi -- I have a Windows partition at /dev/sda5, which is mounted as /windows -- I have a Linux Partition at /dev/sda8, which is mounted as / -- I have another Linux partition for my home directories at /dev/sda9, which is mounted as /home -- My home directory is /home/peter Also, these instructions assume that you have a UEFI system, and that you are interested in the AMD-64 packages. If this is not the case for you, then you can try modifying the instructions below, but they may or may not work. There are basically two different ways that you can get at your fresh Ubuntu 14.04/14.10 installation. On my Dell as the computer is first booting, while the Dell Splash Screen shows up, I can press F12 to get a boot menu. On this menu, I can select the "Ubuntu" option, and I can get into my installation. You might have something similar. If you can do this, then boot into your Ubuntu 14.04/14.10 installation in this way. It will make the process a little bit shorter for you. If not, you need some sort of boot image that will get you to a Linux prompt. You can just use the installation CD or USB drive that you used to install Ubuntu in the first place. Choose the "Try Ubuntu without installing" option when you boot from this CD or USB Drive. The process will be slightly more complex for you. Note that this presupposes a working Internet connection -- so if you are booting off of a CD or USB drive, you will have to set that up. Part 1: Downloading the Grub Packages from Ubuntu Saucy (13.10) ----------------------------------------------------------------------------------------------------- The first thing that we need to do is get the old version of Grub. In order to do this, you will have to download 5 files from the Ubuntu archives: -- http://mirror.mcs.anl.gov/pub/ubuntu/pool/main/g/grub2/grub-common_2.00-19ubuntu2_amd64.deb -- http://mirror.mcs.anl.gov/pub/ubuntu/pool/main/g/grub2/grub-efi_2.00-19ubuntu2_amd64.deb -- http://mirror.mcs.anl.gov/pub/ubuntu/pool/main/g/grub2/grub-efi-amd64_2.00-19ubuntu2_amd64.deb -- http://mirror.mcs.anl.gov/pub/ubuntu/pool/main/g/grub2/grub-efi-amd64-bin_2.00-19ubuntu2_amd64.deb -- http://mirror.mcs.anl.gov/pub/ubuntu/pool/main/g/grub2/grub2-common_2.00-19ubuntu2_amd64.deb Just save these into the default downloads directory. (This is most likely ~/Downloads). Note that I will be assuming that these five files are the only .deb files in the Downloads directory. If you have other .deb files in your downloads directory, move them somewhere else for the time being. Part 2: For People Who Booted off of a CD or USB ----------------------------------------------------------------------------- If you are doing this in your fresh Ubuntu install, you can skip down to Part III. But, if you booted off of the CD or DVD, we've got to get things set up so that all of these files will install into the right place. This entails mounting all of the partitions that are on our hard drive, copying our five .deb files over to the hard drive, and making the hard drive the root of our file system. Here's how to do that: 1. `sudo mount /dev/sda8 /mnt` 2. `sudo mount /dev/sda9 /mnt/home` 3. `sudo mount /dev/sda1 /mnt/boot/efi` 4. `sudo mount --bind /dev /mnt/dev` 5. `sudo mount --bind /proc /mnt/proc` 6. `sudo mount --bind /sys /mnt/sys` 7. `sudo mkdir /mnt/home/peter/temp` 8. `sudo cp ~/Downloads/*.deb /mnt/home/peter/temp` 9. `sudo chroot /mnt` A few notes: 1. Remember that your /dev/sdaX might be different than mine. 2. If you don't have a separate /home partition, then you can skip step 2 3. Your home directory might not be /home/peter -- use your own instead. Part 3: Removing Grub 2.02-beta2 (the one that comes with Trusty/Utopic) ---------------------------------------------------------------------------------------------------------------- In the interest of full disclosure, I actually did this part by booting into the Ubuntu 14.10 that was freshly installed on my hard disk. I have not tested this by booting off of a CD or USB drive. Now, the command that you want to type is: `sudo apt-get purge grub*` Part 4: Installing Grub 2.00-19 (the one that comes with Saucy) ---------------------------------------------------------------------------------------------- Here you just change to the directory that contains the .deb files that we downloaded: `cd ~/Downloads` (for people installing off the hard disk) or `cd /home/peter/temp` (for people installing off of a CD or USB drive) Then, you install the .deb files: `dpkg -i *.deb` Part 5: Cleaning up the cruft that the previously-installed Grub left behind ---------------------------------------------------------------------------------------------------------------- In order to make sure that we install a truly new version of Grub, we have to make sure that all the remnants of the old version of Grub are gone: 1. `cd /boot/grub` 2. `sudo rm -rf xf86_64-efi` Part 6: Installing the New Version of Grub --------------------------------------------------------------- 1. `sudo update-grub` 2. `sudo grub-install` 3. `sudo update-grub` (because I'm superstitious . . .) At this point, you should be able to reboot, and you will be booted directly into the fresh install of Ubuntu 14.04/14.10 that is on your hard drive. If this is all you need, then you are done. (But see Part 9 for an important warning). If you also want to get a boot menu with your Windows partition on it, then we have a little bit more work to do. Part 7: Install boot-repair -------------------------------------- boot-repair is a utility that is designed to fix some common boot problems. We will let it do our work for us. But first we have to install it. 1. `sudo add-apt-repository ppa:yannubuntu/boot-repair` 2a. If you run 14.04, type: `sudo sed 's/trusty/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-trusty.list` 2b. If you run 14.10, type: `sudo sed 's/utopic/saucy/g' -i /etc/apt/sources.list.d/yannubuntu-boot-repair-utopic.list` 3. `sudo apt-get update` 4. `sudo apt-get install boot-repair` Part 8: Run boot-repair ----------------------------------- 1. Type `sudo boot-repair &` 2. It will do some scanning. Hit OK for any dialog boxes that appear. 3. Click the arrow for advanced options 4. Under the "Main Options" tab, only have checked "Reinstall GRUB", "Unhide Boot Menu", and "Repair File Systems" 5. Under Grub Location, choose the current partition (for me: sda8) 6. Have checked "Separate /boot/efi partition" and have it set to the correct value (for me: sda1) 7. Under "Grub options" uncheck "SecureBoot" (because I have it turned off in my setup) 8. Uncheck "Upgrade GRUB to its most recent version" 9. Check "Purge GRUB before reinstalling it" 10. Everything else should be okay. 11. Click "Apply" 12. Very important: boot is going to tell you to type in some commands. Just click through these dialog boxes **without** typing in the commands. These commands effectivley delete the (good) version of grub that we just got done installing, and they reinstall the (bad) version of grub that we just got rid of. After boot-repair does its work, you should be good to go. Reboot and see you boot menu. Part 9: Important Information About the Future ------------------------------------------------------------------------ There is one problem with this solution: From now on, Ubuntu will think that your grub is out of date. This is because Ubuntu 14.04/14.10 come with Grub 2.02-beta, whereas we got rid of this version and installed Grub 2.00-15. So any time you do an `apt-get upgrade` or `apt-get dist-upgrade` -- or any time you use the Ubuntu Software Center or the Software Updater to do something similar -- Ubuntu will try to upgrade your grub for you. This (I think) is mostly harmless. But, if your package management software upgrades your version of Grub for you, and then it goes on to do an automatic `grub-install` in the process of upgrading, you will have problems all over again. Hopefully, by the next time that `grub-install` has to be run on your system, there will be a fixed version of Grub in Trusty or Utopic -- or the next version of Ubuntu will have come out with a corrected version. But the bottom line is -- do not let `grub-install` get run if it is at version 2.02-beta2