LINUX.ORG.RU

Centos7 Failed to open \EFI\BOOT\grubx64.efi

 , ,


0

3

Товарищи, выручайте. Я новичок в Linux и столкнулся со следующей проблемой: есть ноут (lenovo y510p bios обновлен до последней версии) с UEFI, и есть два жестких диска (оба размечены в gpt) к нему, которые переставляются: HDD1 с Windows10 и HDD2 с CentOS7. Сначала в ноуте работал диск с виндой, после этого там работал HDD2 с центосью. Если потом опять поработать на винде и попытаться запустить центось, то получается такая ошибка: Failed to open \EFI\BOOT\grubx64.efi - Not Found Failed to load image \EFI\BOOT\grubx64.efi: Not Found start_image() returned Not Found

Все это лечится по мануалу с пикабу https://pikabu.ru/story/centos_7_oshibka_zagruzki_5688041

Сам мануал:

1. Зайти в BIOS, и установить для пункта Boot Mode значение UEFI.
2. Запуститься с загрузочной флешки и открыть терминал.
3. В терминале получить root-права.
4. Выполнить следующие команды:
su root
mount /dev/centos/root /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
modprobe efivars
chroot/mnt
efibootmgr --create --label CentOS --disk /dev/sda1 --loader "\EFI\centos\shim.efi"
Помогите разобраться починить и, по возможности, разобраться с причинами. По UEFI кучу статей на хабре прочитал, но не понимаю в чем проблема в данном случае. Винда что ли в NVRAM пишет каждый раз при загрузке свою запись? Также нашел тред на форуме (CentOS x64 на флешке, при установке на другой комп failed to open efi/boot/grubx64.efi), но там не совсем мой случай.

Заранее спасибо.

А разделов efi тоже два, по одному на диск?

mandala ★★★★ ()

Failed to open \EFI\BOOT\grubx64.efi

говорит о том, что этого файла в каталоге нет - а он там должен быть, т.к. uefi загрузчик ищет по этому пути загрузчикк grub, который в свою очередь грузит сам линукс. Вот этой командой

efibootmgr --create --label CentOS --disk /dev/sda1 --loader «\EFI\centos\shim.efi»

ты скорее всего прописываешь в загрузчик uefi нестандартный путь, и тогда он грузится.
Стоит поставить grub и забыть об этом.

redwagon ()
Ответ на: комментарий от mandala

Думаю да. Установка ОС проходила как обычно без дуалбутов и т.п. Просто поставил Винду на один диск, потом достал его и вставил второй диск, на который поставил Centos.

alexjob24 ()
Ответ на: комментарий от alexjob24

Установи grub2-efi на диск с виндой, тогда не должно будет ломаться... Загрузчик винды не пострадает и не надо будет ни чего трогать, винда будет в меню груба, и останентся в эфи-меню.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 2)
Ответ на: комментарий от redwagon

Вечером проверю наличие файлов. Не совсем понимаю зачем нужен grub, если у меня по одной ОС на каждом диске. И все равно остаётся вопрос почему ломается загрузка центрами, если загрузиться с винды. Винда же не может влиять на наличие файлов на жёстком диске, который лежит рядом на столе

alexjob24 ()
Ответ на: комментарий от alexjob24

Спеки уэфи допускают, но не требуют обслуживать два эфи раздела в своём бут-меню, вот бут-меню и слетает. Груб тут будет компромисным решением: уефи запускает груб, а он уже будет дергать ОС.

mandala ★★★★ ()

Известная беда, я тоже ловил на центоси. Загрузка через efi ломается если в машине физически переключать жёсткие диски, например, сначала с одним поработал, потом снял, другой поставил, потом первый вернул и привет grubx64.efi not found. На сайте редхата есть "мануал" как это чинить, суть которого сводится к загрузке в рекавери и переустановке grub. Кто виноват и как это починить раз и навсегда разобраться мне кунфу не хватило. В бессильной злобе считаю это полной дегенерацией по сравнению со старым BIOS, где всё работало(r)(tm)

d_a ★★★★★ ()
Последнее исправление: d_a (всего исправлений: 1)
Ответ на: комментарий от mandala

Спеки уэфи допускают, но не требуют обслуживать два эфи раздела в своём бут-меню, вот бут-меню и слетает.

То есть получается весь этот новый говноефи специально рассчитан только на наглухо заколоченные быдлодевайсы, где даже винты не переставить?

d_a ★★★★★ ()
Ответ на: комментарий от d_a

Зависит от вендора. Линк на спеки я потерял, а то бы показал, там размыто про 2 и более разделов, про бут меню ни слова. Т.е. как с флешки оно норм обязано, а с жестаками с ума сходит у некоторых вендоров: как выход грузиться со второго жестака аки с флешки через горячую клавишу.

У меня на ноуте удобно: ефи-приложение (загрузчик, тот же груб) можно выбрать прям из уефи самого, не надо по лайф-дискам бегать. Правда я два эфи-раздела не пробовал, хоть стоит в корзине от сидюка жестак. И в секьюр-бут можно ключей добавить. Но не всем так повезло...

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 2)
Ответ на: комментарий от mandala

А, ну кстати то что гигабайт ещё поднасрал, это я тоже подумал. Прошивку так точно им обезьяны писали за бананы. Сколько было их плат, все были глюченные, что для интел, что для амд. Интересно, какая у ТС плата.

d_a ★★★★★ ()
Ответ на: комментарий от d_a

У меня ноут lenovo и мать вроде тоже. Во всяком случае не видел на ней обозначений других производителей

alexjob24 ()
Ответ на: комментарий от mandala

Кстати, как с флешки тоже не грузится центось, я пробовал подключать через usb диск с центосью.

alexjob24 ()
Ответ на: комментарий от mandala

Т.е. если ставить grub, то так, чтобы на обоих дисках было все одинаково?

alexjob24 ()
Ответ на: комментарий от alexjob24

Не, просто выбираешь один диск, ставишь на него груб, он видит все ос на всех дисках и ты не переключаешь потом диски вообще.

mandala ★★★★ ()
Ответ на: комментарий от mandala

O_o Это как так? Два диска с разными осями, я вынимаю один и ставлю другой

alexjob24 ()
Ответ на: комментарий от alexjob24

man os-prober — оно ищет все ОС на компе и добавляет их в конфиг загрузчика автоматически года проиcходит grub2-update

А диски нельзя не вынимать?

Еще я тут говорил: попробуй «горячую» загрузку одного из дисков (не добавляя его загрузчик в меню уефи), чтобы меню не шатать. Т.е. например у меня нажимаешь ESC прям при старте компа и выбираешь диск, флешку, что-то еще что нашлось — уефи сама сканирует и грузит. Только там имя загрузчика должно быть дефолтное по дефолтному пути /EFI/Boot/bootx64.efi — можно просто скопировать, у винды должен быть уже такой файл.

mandala ★★★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от alexjob24

но винда может и правда взаимодействовать с uefi и что то там портить (было дело кода линуксы вообще убивали прошивку уефи, давно, но это не сказки-страшилки про вредные ос).

mandala ★★★★ ()
Ответ на: комментарий от d_a

Загрузка через efi ломается если в машине физически переключать жёсткие диски, например, сначала с одним поработал, потом снял, другой поставил, потом первый вернул и привет grubx64.efi not found.

Сколько так делал - не ломается. UEFI сам сканирует fat-раздел и добавляет в загрузку grub. В этом то и плюс - то, что не надо при жонглировании дисками(или клонировании/копировании дисков) восстанавливать загрузчик из-под рекавери.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

А я сколько делал -- ломается. И у ТС. И у людей здесь https://www.google.com/search?q=grubx64.efi not found

В этом то и плюс

Это вредительская говнотехнология и никаких плюсов в ней нет (кроме может шкурной выгоды отдельных вендоров из северной америки, не будем показывать пальцем).

не надо при жонглировании дисками(или клонировании/копировании дисков) восстанавливать загрузчик из-под рекавери.

Иронично то что именно это я и делал.

d_a ★★★★★ ()
Ответ на: комментарий от mandala

было дело кода линуксы вообще убивали прошивку уефи, давно

Я лично закирпичил одну плату, сделав rm -rf / со смонтированным efivars, и нет, это было не так давно (Удаление /sys/firmware/efi/efivars может повредить материнскую плату (комментарий)). Господи как же я люблю efi.

d_a ★★★★★ ()
Ответ на: комментарий от d_a

Это вредительская говнотехнология и никаких плюсов в ней нет (кроме может шкурной выгоды отдельных вендоров из северной америки, не будем показывать пальцем).

Не совсем. Изначально задумка хорошая, реализация в реальной жизни + лоббирование некоторых корпораций привело к тому, что мы имеем. В BIOS-режиме был полный абзац из подпорок и костылей и переключение режимов. Другое дело, что ради совместимости некоторая часть из них перекочевала и в UEFI.

Deleted ()
Ответ на: комментарий от d_a

А я сколько делал — ломается. И у ТС.

Недостаточно информации. Надо смотреть fdisk -l и листинг efi-партиций. Про конкретные реализации двух efi-партиций уже выше говорили.

Deleted ()
Ответ на: комментарий от mandala

Только там имя загрузчика должно быть дефолтное по дефолтному пути /EFI/Boot/bootx64.efi — можно просто скопировать, у винды должен быть уже такой файл

Вот сегодня потыкался. Подрубил оба диска (с вин10 и с Центосью) и загрузился с флешки убунту. На диске с центосью в папке /EFI/Boot/ похоже не было файла bootx64.efi. По совету копирнул туда этот файл с диска с виндой. Перезагрузился и в по горячей клавише пытался вызвать бут-меню, в этот момент моргал светодиод об активности диска с центосью и горел логотип производителя ноута Lenovo (обычно на этой стадии еще можно открыть настройки биос). Но ни бут меню, ни загрузки не произошло, а комп завис и все так же осталось висеть Лого Леново. Пришлось перезагружаться и дальше ошибка та же.

alexjob24 ()
Ответ на: комментарий от Deleted

Товарищи, я готов восстановить работоспособность CentOS по указанной в первом сообщении схеме и зафиксировать всю необходимую информацию (могу настройки BIOS пофоткать или даже видео записать). После этого сменю диск и покажу, что стало в результате. Только вы скажите по пунктам, что конкретно нужно сделать и какую информацию собрать. Иначе получается очень долгое антинаучное тыканье

alexjob24 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.