[РЕШЕНО]ошибка grub-efi при установке debiay 9 на ноутбук

Автор hathory, 26 июня 2017, 11:12:21

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

hathory

Доброе время суток, господа.
Прошу помощи у сообщества вот по какому вопросу.
ТТХ: MSI GE70 2OE ms-1757, HDD 1T GPT UEFI, Nvidia GF750 2G (WIFI, bluetooth - realtec, Ethernet - Ateros)
Преамбула: Два года на ноуте стояли Debian 8 и Win8.1, и все было замечательно, но вот вышел релиз 9 и "ничтоже сумняшися" сделал я dist-upgrade, вот тут все и началось, после перезагрузки полностью пропала запись grub из меню efi (винда однако стала грузиться поумолчанию). Попытки восстановить grub через liveCD той же Debian 9, ни к чему не привели, пришлось пойти путем виндузятника и попытаться полностью переустановить Debian:
1. С сохранением винды - grub-install не может установить на dummy;
2. Снес винду и поставил Debian на чистый HDD (512mb efi, 8G swap, 100G ext4 /, 200G ext4 /home, 1G ext2 /boot) - grub-install не может установить на dummy;
3. С автоматической разбивкой HDD - встала, но при загрузке ядра посыпались ошибки:
Открыть содержимое (спойлер)

[ 0.366426] ACPI Error: No handler for Region [EC___] (ffff9b76470bf678) [EmbeddedContro1] (20160831/evreg ion-166)
[ 0.366431] ACPI Error: Region EmbeddedControl (ID=3) has no handler (20160831 L/exfldio-299)
[ 0.366435] ACPI Error: Method parse/execution failed [\_SB.PCIO.LPCB.EC._REG I (Node ffff3b76470c0bl8), AE_NOT_EXIST (20160831/psparse-543)
ACPI Error: [\_SB_.PCI0.GFX0.DD02._BCL] Namespace lookup failure, AE_NJT_FOUND (2016083l/psargS-359)
[ 0.798598] ACPI Error: Method parse/execution failed [\_SB.PCIO.PEGO.PEGP.DD 02._BCL] (Node ffff9b76470flafO), AE_N0T_FOUND (20160831/psparse-543)
[свернуть]
Причем Debian устанавливается без ошибок, вылет только при установке загрузчик grub-install.

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

Вложение:

[вложение удалено администратором]
Иногда, продуктивный шаг вперед, является результатом удачного пинка в зад

Lord_Markus

Копайте в сторону ноутбука, возможно что решение лежит в самом биосе.
Было у меня такое на Самсунговском моноблоке, там тупо стояла защита от загрузки других ОС.

phantom85

Присоединяюсь к вопросу, попытка установить не на ноут, "Не удалось выполнить команду grub-install dummy" иногда просто доходит до 50% и дальше ничего минут 40 ждал.
Linux 3.12-0.bpo.1-amd64 #1 SMP Debian 3.12.9-1~bpo70+1 (2014-02-07) x86_64 GNU/Linux

mrgoodvin

С live нужно установить. Где вывод команд? grub-efi может ставиться в двух режимах: загрузка с efi и без доступа к efi.
Почитайте это - https://habrahabr.ru/post/314412/, но рекомендую ставить как раз grub.
https://wiki.archlinux.org/index.php/GRUB_(Русский)
Загружаетесь с live, создаете каталог system в /mnt.
Нужен пакет grub-efi под свою архитектуру (можете ставить что-то и другое, см. ссылку выше, но grub-efi прост в установке и при обновлении маловероятны проблемы).
Загрузиться с live. Устанавливаете пакеты grub-efi (следовательно должен быть доступ к интернету), efibootmgr.
Создать каталог system (live) в /mnt и монтируем в него (/mnt/system) корень.
Так же создать efi (если таковой не имеется) в /mnt/system/boot/, монтируем в него (/mnt/system/boot/efi) раздел efi(fat32).
Монтируем и т.п (см. ссылки).
sudo mount --bind /dev /mnt/system/dev
sudo mount --bind /proc /mnt/system/proc
sudo chroot /mnt/system
sudo grub-mkdevicemap
grub-mkconfig > /boot/grub/grub.cfg

Дальше уже зависит что кто куда хочет ставить и в каком режиме была загрузка. 1 ГБ для /boot очень жирно, да и и есть ли смысл при наличии efi еще и создавать отдельный раздел для файлов grub, лишние монтирование раздела. Сомнительное преимущество конечно то что его можно загнать в read only. Предпочтительней ставить на раздел с efi, или же по умолчанию в /grub.
Пример команды установки загрузчика (более детально см. ссылки):
//efi
grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --bootloader-id=grub

//not efi
grub-install --efi-directory=/boot/efi --boot-directory=/boot/efi/EFI --target=x86_64-efi --removable

exit
Делаем umount для dev, proc и system, efi
sudo umount /mnt/system/dev
sudo umount /mnt/system/proc
sudo umount /mnt/system/boot/efi
sudo umount /mnt/system

Более детально нужно скрестить части следующих двух статей https://lin.in.ua/articles/2-Debian/4-Opisanie_processa_perenosa_Ubuntu_Debian_na_drygoj_vinchester.html, https://wiki.archlinux.org/index.php/GRUB_(Русский)

hathory

Господа, спасибо большое за помощь, проблема решена следующим образом:
При ручной разбивке hdd grub встать так и не захотел, даже по методу mrgoodvin, отдельное спасибо за помощь
ЦитироватьС live нужно установить. Где вывод команд? grub-efi может ставиться в двух режимах: загрузка с efi и без доступа к efi...
По-этому переустановил систему с ручной разбивкой, но не трогая efi раздел, как система его установила так и оставил, в результате grub-efi встал не пискнув, подозреваю при ручном формировании раздела efi установщик что то делает не так. Так что можно сказать, что проблема решена при помощи костыля.
Однако такое положение дел меня не очень устроило, не люблю когда есть недопонимание с системой, по-этому пошел другим путем:
-затер hdd;
- установил систему без grub'a (efi раздел создал вручную);
- с liveCD Debian 8 смонтировал раздел boot и кинул в /boot/efi/EFI/ загрузчик refind; мануал тут https://geektimes.ru/post/275854/ и еще тут https://wiki.archlinux.org/index.php/REFInd_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
- перезагрузился.
Все, теперь refind грузит ядро системы напрямую и без проблем, после установки Win 8 он сам ее нашел и сам создал варианты загрузки.
Да не запинают меня адепты linux'a, но refind мне понравился больше grub'a, прост в настройках, по функционалу конечно немного уступает, но исключает много проблем с установкой.

По поводу вывода ошибок при загрузке, то они оказывается были всегда, просто на debian 8 они не выводились, посмотрел лог загрузки на восьмерке, те же ошибки, кому интересна расшифровка ошибок читаем ниже:
Открыть содержимое (спойлер)
Эти сообщения обусловлены таблицей DSDT. Там где указаны методы \_SB.PCIO..... , это ошибки/варнинги таблицы DSDT, а вот где указано EmbeddedControl связаны как то с ядром, в моем случае к подключенному к LPC bus (Low Pin Count bus) — это за контроллер подсветки клавиатуры, в биосе на него есть ссылка, но так как у меня младшая модель ноутбука, то подсветки нет, а ссылка в биосе осталась (биос один для всей линейки ноутов)- вот и ошибки.
ACPI Error: [\_SB_.PCI0.GFX0.DD02._BCL] Namespace lookup failure, AE_NJT_FOUND (2016083l/psargS-359)
ACPI Error: Method parse/execution failed [\_SB.PCIO.PEGO.PEGP.DD 02._BCL] (Node ffff9b76470flafO), AE_N0T_FOUND (20160831/psparse-543
Это ошибки связаны с наличием двух видеокарт, подозреваю у нашего ядра проблемы и с интеловской GPU и с Nvidia, разобраться более подробно не хватает знаний, если кто-то даст вектор куда копать - буду очень благодарен
[свернуть]
Иногда, продуктивный шаг вперед, является результатом удачного пинка в зад