11

I have a dual boot Ubuntu + Windows 8 on an UEFI system. Everything was ok until I upgraded to Ubuntu 14.04 from 13.10.

Now what I get when I boot the pc is a grub rescue screen like this with the following:

Failed to open \EFI\Microsoft\Boot\grubx64.efi - 800000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi.efi - 800000000000000E
Failed to load image
Welcome to GRUB!

error: symbol 'grub_term_highlight_color' not found.
grub rescue> 

Using boot-repair from a live cd (either 13.10 or 14.10) reports that an error occurred and creates this report: http://paste2.org/Y8mDwa0M

(Boot repair says it will install packages from Ubuntu 13.10)

but nothing changes.

If I press f12 at the boot I get to a bios screen (Boot Menu) where I can choose from hdd, usb, dvd reader and if I click on the HDD I get three choices:

Select a device to boot:

Windows Boot Manager 
ubuntu
Ubuntu

The Windows option take me back to the grub rescue.

With the other two options I get to a grub menu where I am able to start Ubuntu but the window option doesn't work

I don't know anymore what to do

Update:

Thanks for the answers, I actually tried all of them (reinstalled grub more than 5 times from different versions of Ubuntu on USB sticks and used a lot of times boot repair but nothing worked)

At the end I'm using rEFInd (http://www.rodsbooks.com/refind/getting.html) which is allowing me to get to grub from which I can start Ubuntu (but not windows) and starting windows on its own using rEFInd menu.

But of course it's not the ideal solution

Update 2:

I have only one disk:

enter image description here

Update 3:

this is the error that appears when I try to install grub or run grub-install:

Installing for i386-pc platform. 
grub-install: Warning: This GPT partition label has no BIOS Boot Partition, the embed is not possible. 
grub-install: Warning: This embed is not possible. GRUB can only be installed in this configuration using blocklist. The blocklist however, are not reliable and it is not recommended to use ..
Installation completed, no errors reported.
Generating grub configuration file ... 
Found linux image: / boot/vmlinuz-3.13.0-24-generic 
Found initrd image: / boot/initrd.img-3.13.0-24-generic 
Found linux image: / boot/vmlinuz-3.11.0-19-generic 
Found initrd image: / boot/initrd.img-3.11.0-19-generic 
Found linux image: / boot/vmlinuz-3.11.0-7-generic 
Found initrd image: / boot/initrd.img-3.11.0-7-generic 
Found linux image: / boot/vmlinuz-3.11.0-5-generic 
Found initrd image: / boot/initrd.img-3.11.0-5-generic 
Found linux image: / boot/vmlinuz-3.11.0-4-generic 
Found initrd image: / boot/initrd.img-3.11.0-4-generic 
Found linux image: / boot/vmlinuz-3.11.0-3-generic 
Found initrd image: / boot/initrd.img-3.11.0-3-generic 
Found linux image: / boot/vmlinuz-3.11.0-2-generic 
Found initrd image: / boot/initrd.img-3.11.0-2-generic 
Found Windows Boot Manager on / dev/sda2 @ / EFI / Microsoft / Boot / Bootmgfw.efi 
Adding boot menu entry for the EFI firmware configuration 
done

(translated from italian)

4
  • 2
    Uhm... Related? bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977
    – Shyam K
    Apr 18, 2014 at 14:31
  • I've tried these commands but get stuck on chroot. I get an error: "chroot: failed to run command `/bin/bash': Exec format error
    – user270828
    Apr 19, 2014 at 8:20
  • Got the same error going to 14.04, this helps me: wiki.ubuntuusers.de/GRUB_2/Reparatur, almost the same as the answer of freeseek
    – user271230
    Apr 19, 2014 at 23:39
  • 1
    @Larry See Post Below, Method 3 #1 is your issue, you cannot use a 32 bit change root to repair a 64 bit system.
    – eyoung100
    Apr 25, 2014 at 19:12

6 Answers 6

7
+25

I did not test this with a broken grub in 14.04 but I never got in trouble by using these instructions:
https://wiki.ubuntu.com/Grub2#Recover

First of all, you must start your system from a live cd or usb. Then

"METHOD 3 - CHROOT

This method of installation uses the chroot command to gain access to the broken system's files. Once the chroot command is issued, the LiveCD treats the broken system's / as its own. Commands run in a chroot environment will affect the broken systems filesystems and not those of the LiveCD.

1) Boot to the LiveCD Desktop (Ubuntu 9.10 or later). Please note that the Live CD must be the same as the system you are fixing - either 32-bit or 64-bit (if not then the chroot will fail).

2) Open a terminal (Applications > Accessories > Terminal).

3) Determine your normal system partition - (the switch is a lowercase "L")

sudo fdisk -l

If you aren't sure, run

df -Th  

Look for the correct disk size and ext3 or ext4 format.

4) Mount your normal system partition:

Substitute the correct partition: sda1, sdb5, etc.

sudo mount /dev/sdXX /mnt  

Example: sudo mount /dev/sda1 /mnt

5) Only if you have a separate boot partition: sdYY is the /boot partition designation (for example sdb3)

sudo mount /dev/sdYY /mnt/boot 
6) Mount the critical virtual filesystems:
sudo mount --bind /dev  /mnt/dev
sudo mount --bind /dev/pts  /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys 
7) Chroot into your normal system device:

sudo chroot /mnt 

8) If there is no /boot/grub/grub.cfg or it's not correct, create one using

update-grub 

9) Reinstall GRUB 2:

Substitute the correct device - sda, sdb, etc. Do not specify a partition number.

grub-install /dev/sdX 

10) Verify the install (use the correct device, for example sda. Do not specify a partition):

sudo grub-install --recheck /dev/sdX 

11) Exit chroot: CTRL-D on keyboard

12) Unmount virtual filesystems:

sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys 

13) If you mounted a separate /boot partition:

sudo umount /mnt/boot 

14) Unmount the LiveCD's /usr directory:

sudo umount /mnt/usr 

15) Unmount last device:

sudo umount /mnt 

16) Reboot.

sudo reboot 
"

Also these are other ways to repair grub: How can I repair grub? (How to get Ubuntu back after installing Windows?)

2
  • 1
    Step 3,4, and 9 did the job for me. Thanks
    – ezdazuzena
    Apr 24, 2014 at 9:14
  • 1
    boot-repair failed miserably - but this worked flawlessly for me Sep 27, 2014 at 16:10
2

Had the same error "symbol 'grub_term_highlight_color' not found", stuck at Grub rescue. Tried boot-repair (recommended option), but didn't work!

Solution: Downloaded bootable boot-repair.iso (http://sourceforge.net/projects/boot-repair-cd/) and made a bootable usb disk. Booted from it and connected to internet and started "Recommended Repair", then followed the instructions in a few steps (deleted/uninstalled grub and then re-installed a new version), which worked for me! I guess in your case grub should be uninstalled and then re-installed on sda8 instead of sdb1.

2
  • this works for me: I have downloaded boot repair cd image - I used x64 as the Ubuntu installation is x64. Then installed ISO via unetbootin. Performed regular repair and viola!
    – Meta
    Apr 22, 2014 at 14:50
  • Bootable disk (64 bits 14.04 Desktop version) with the boot repair also worked for me, after upgrading from 13.10 to 14.04. For my part I followed the instructions here (the 2nd option) and clicked "Recommended repair" in the tool and then the grub suddenly worked again! Aug 14, 2014 at 17:53
2

I have had the same problem. My guess is that, since I have two hard drives, the system is trying to start from the wrong drive where an old version of GRUB is installed. My solution was to start Ubuntu with a USB stick (it does not matter which version). Once you start, these commands will do it, run as root:

mkdir /tmp/drive
sudo mount /dev/sdX1 /tmp/drive
sudo mount --bind /dev /tmp/drive/dev
sudo mount --bind /proc /tmp/drive/proc
sudo mount --bind /sys /tmp/drive/sys
sudo chroot /tmp/drive
dpkg-reconfigure grub-pc

Where sdX1 must be the drive where your system is installed. When you run the last command you should select the sdX drive, though I guess running it multiple times will install the new version of grub on each drive and give you some piece of mind.

3
  • I get mount: mount point /tmp/drive/dev does not exist
    – akmur
    Apr 19, 2014 at 10:06
  • 1
    @Akmur did you forget --bind possibly, or mount the wrong drive? --bind takes the filesystem in the usb's drive and replaces/dex/sdX1/dev with usedevice/dev
    – eyoung100
    Apr 25, 2014 at 19:19
  • @Akmur you probably mounted the wrong partition. When I mentioned sdX1, this needs to refer to your boot partition, which should already contain the dev,proc,sys directories. If those are not there, then most likely you are mounting the wrong partition. If you believe you have mounted the right partition, maybe then just go on and create those missing directories with mkdir. May 14, 2014 at 15:29
1

I had the same error upgrading from 13.10 to 14.04. These instructions looked a bit daunting for me.

I ended up creating a bootable USB drive with Super Grub Disk on it. http://www.supergrubdisk.org/

Booted from that. At boot told it to detect installed OSs. It found my Ubuntu 14.04 install so I told it to boot that. Booted up no problem.

I already had Boot Repair installed on my system. https://sourceforge.net/p/boot-repair

Ran that and accepted the default changes.

Shutdown. Took the USB drive out of the slot, pressed power and waited with held breath.

System booted normally! Problem solved.

1
  • The OP stated that Boot Repair didn't work, so that's probably not an answer. Apr 20, 2014 at 4:43
1

My guess is youu have stale EFI files in your EFI partition. There is a launchpad bug specific to the EFI situation which I suspect addresses your case. It worked for me after all the other suggestions didn't. The fix is to update EFI files manually. Below is a walk-through. Note that you'll need to substitute your EFI partition in place of /dev/sda1.

  1. Boot to live CD
  2. Open xterm
  3. Use parted to determine your EFI partition: sudo parted -l (substitute for /dev/sda1 in next step)
  4. Mount your EFI partition: sudo mount /dev/sda1 /mnt
  5. Update the Boot EFI file: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi
0

Use the boot-repair CD to fix grub errors: https://help.ubuntu.com/community/Boot-Repair#A1st_option_:_get_a_CD_including_Boot-Repair

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .