Обновление с 13.10 по 14.04 сломал Grub

У меня двойная загрузка Ubuntu + Windows 8 в системе UEFI. Все было в порядке, пока я не обновился до Ubuntu 14.04 с 13.10.

Теперь, когда я загружаю компьютер, я получаю экран спасения grub, подобный следующему:

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> 

Использование восстановления из живого компакт-диска (13.10 или 14.10) сообщает об ошибке и создает этот отчет: http://paste2.org/Y8mDwa0M

(Boot repair говорит, что установит пакеты из Ubuntu 13.10)

но ничего не меняется.

Если я нажимаю f12 при загрузке, я попадаю на экран BIOS (меню загрузки), где я могу выбрать hdd, usb, DVD-ридер и, если я нажимаю на HDD, я получаю три варианта:

Выберите устройство для загрузки:

Windows Boot Manager 
ubuntu
Ubuntu

Вариант Windows возвращает меня к спасению.

С двумя другими вариантами я попадаю в меню grub, где я могу запустить Ubuntu, но опция окна не работает

Я больше не знаю что делать

Обновление:

Спасибо за ответы, я на самом деле все их перепробовал (переустанавливал grub более 5 раз из разных версий Ubuntu на флешки и много раз использовал восстановление загрузчика, но ничего не получалось)

В конце я использую rEFInd ( http://www.rodsbooks.com/refind/getting.html), который позволяет мне перейти к grub, из которого я могу запустить Ubuntu (но не windows) и запускать окна самостоятельно. используя меню REFInd.

Но, конечно, это не идеальное решение

Обновление 2:

У меня только один диск:

введите описание здесь

Обновление 3:

это ошибка, которая появляется, когда я пытаюсь установить grub или запустить 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

(перевод с итальянского)

6 ответов

Я не проверял это со сломанным grub в 14.04, но у меня никогда не было проблем с использованием этих инструкций:
https://wiki.ubuntu.com/Grub2

Прежде всего, вы должны запустить вашу систему с живого CD или USB. затем

" МЕТОД 3 - CHROOT

Этот метод установки использует команду chroot для получения доступа к файлам сломанной системы. Как только команда chroot введена, LiveCD рассматривает сломанную систему / как свою собственную. Команды, запускаемые в среде chroot, будут влиять на сломанные системные файловые системы, а не на LiveCD.

1) Загрузитесь с рабочего стола LiveCD (Ubuntu 9.10 или новее). Обратите внимание, что Live CD должен совпадать с системой, которую вы исправляете, - 32-битной или 64-битной (если нет, то chroot не удастся).

2) Откройте терминал (Приложения> Принадлежности> Терминал).

3) Определите ваш обычный системный раздел - (переключатель в нижнем регистре "L")

sudo fdisk -l

Если вы не уверены, бегите

df -Th  

Ищите правильный размер диска и формат ext3 или ext4.

4) Смонтируйте ваш обычный системный раздел:

Замените правильный раздел: sda1, sdb5 и т. Д.

sudo mount /dev/sdXX /mnt  

Пример: sudo mount / dev / sda1 / mnt

5) Только если у вас есть отдельный загрузочный раздел: sdYY обозначает / boot раздел (например, sdb3)

 sudo mount / dev / sdYY / mnt / boot 
6) Смонтируйте критические виртуальные файловые системы:
 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) Загрузите ваше обычное системное устройство:

 sudo chroot / mnt 

8) Если нет /boot/grub/grub.cfg или это не правильно, создайте его, используя

 обновление-личинка 

9) Переустановите GRUB 2:

Замените правильное устройство - sda, sdb и т. Д. Не указывайте номер раздела.

 grub-install / dev / sdX 

10) Проверьте установку (используйте правильное устройство, например sda. Не указывайте раздел):

 sudo grub-install --recheck / dev / sdX 

11) Выход из chroot: CTRL-D на клавиатуре

12) Размонтировать виртуальные файловые системы:

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

13) Если вы смонтировали отдельный раздел / boot:

 sudo umount / mnt / boot 

14) Размонтируйте каталог LiveCD's /usr:

 sudo umount / mnt / usr 

15) Размонтировать последнее устройство:

 sudo umount / mnt 

16) Перезагрузка.

 перезагрузка sudo 
"

Также есть другие способы починить личинку: Как я могу чинить личинку? (Как вернуть Ubuntu после установки Windows?)

Была та же ошибка "символ 'grub_term_highlight_color' не найден", застрявшая в Grub rescue. Пробовал boot-repair (рекомендуемый вариант), но не работал!

Решение: Загрузил загрузочный boot-repair.iso ( http://sourceforge.net/projects/boot-repair-cd/) и сделал загрузочный USB-диск. Загрузился с него, подключился к Интернету и запустил "Рекомендуемое восстановление", затем следовал инструкциям в несколько шагов (удалил / удалил grub, а затем заново установил новую версию), что сработало для меня! Я думаю, в вашем случае grub должен быть удален, а затем переустановлен на sda8 вместо sdb1.

У меня была такая же проблема. Я предполагаю, что, поскольку у меня есть два жестких диска, система пытается запустить не с того диска, на котором установлена ​​старая версия GRUB. Моим решением было запустить Ubuntu с USB-накопителя (не имеет значения, какая версия). Как только вы начнете, эти команды сделают это, запустившись от имени пользователя 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

Где sdX1 должен быть диском, на котором установлена ​​ваша система. Когда вы запускаете последнюю команду, вы должны выбрать диск sdX, хотя я думаю, что запуск его несколько раз установит новую версию grub на каждый диск и даст вам некоторое представление.

Я думаю, у вас есть устаревшие файлы EFI в вашем разделе EFI. Существует ошибка панели запуска, специфичная для ситуации EFI, которая, я подозреваю, касается вашего случая. Это сработало для меня, после того, как другие предложения не сработали. Исправление заключается в обновлении файлов EFI вручную. Ниже идет проход. Обратите внимание, что вам нужно заменить ваш раздел EFI вместо /dev/sda1,

  1. Загрузиться, чтобы жить CD
  2. Открыть Xterm
  3. Используйте parted для определения вашего раздела EFI: sudo parted -l (замените /dev/sda1 на следующем шаге)
  4. Смонтируйте свой раздел EFI: sudo mount /dev/sda1 /mnt
  5. Обновите загрузочный EFI-файл: sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi

У меня была такая же ошибка при обновлении с 13.10 до 14.04. Эти инструкции выглядели немного пугающими для меня.

В итоге я создал загрузочный USB-диск с Super Grub Disk. http://www.supergrubdisk.org/

Загрузился с этого. При загрузке сказал, чтобы он обнаружил установленные ОС. Он нашел мою установку Ubuntu 14.04, поэтому я сказал, чтобы она загрузилась. Загрузился без проблем.

Я уже установил Boot Repair в моей системе. https://sourceforge.net/p/boot-repair

Запустил это и принял изменения по умолчанию.

Неисправность. Вынул USB-накопитель из слота, нажал кнопку питания и ждал с задержкой дыхания.

Система загрузилась нормально! Задача решена.

Используйте исправляющий загрузочный компакт-диск для исправления ошибок grub: https://help.ubuntu.com/community/Boot-Repair

Другие вопросы по тегам