От: Не запускается Debian после замены диска на SSD - решение (баги UEFI)

Автор Лия, 17 сентября 2024, 03:04:53

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

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

Лия

После того, как я заменила диск в ноутбуке на SSD склонировав образ с помощью dd, Debian перестал загружаться - пишет No bootable device
Загрузка через UEFI

Оказалось, это баг в имплементации EFI - упорно не видит debian/grubx64.efi, зато boot/bootx64.efi - сразу загружается :)
Решение: https://wiki.debian.org/GrubEFIReinstall#Troubleshooting (Problem1)
Подробности: https://mjg59.livejournal.com/138188.html

17 сентября 2024, 03:19:53
Допустим, у нас EFI-раздел это /dev/sda1
(его можно найти через sudo fdisk -l /dev/sda (вместо sda - ваш диск)) - обычно раздел подписан как EFI System

Тогда загружаемся с live DVD и
sudo mount /dev/sda1 /mnt
ls /mnt/EFI
(должно показать папку debian)
sudo mkdir /mnt/EFI/boot
sudo cp -v /mnt/EFI/debian/grubx64.efi /mnt/EFI/boot/bootx64.efi
sudo umount /mnt
перезагружаемся в теперь уже рабочий Debian и даём команду
echo "grub-efi-amd64 grub2/force_efi_extra_removable boolean true" | sudo debconf-set-selections

Или
sudo dpkg-reconfigure grub-efi-amd64
(или grub-efi-ia32)
На большинство вопросов отвечаем по умолчанию - Enter
когда спросит Force extra installation to the EFI removable media path - отвечаем Yes


17 сентября 2024, 03:24:48
Если у вас 32-bit UEFI (иногда такое бывает - система 64-bit, а UEFI - 32-bit), тогда вместо grubx64.efi - grubia32.efi, а вместо bootx64.efi - bootia32.efi
Передаю привет полным багов и глюков Intel Bay Trail/Cherry Trail

ferum

Вообще это проблема вовсе не debian и не grub, и даже не клонированного диска.
Клиент всегда прав даже если хочет невозможного.
Принесли весной ноутбук HP с очень уставшим windows 8 на борту с требованием поставить windows 7.
Не помню точно, 15,6 дюймовая модель , UEFI урезан на столько что не работает в legacy режиме.
Вроде не беда, создал из крякнутого образа флешку под UEFI загрузку и всё чудово... до первой перезагрузки при установке. Потом не грузится не с HDD, не с флешки, не с ventoy, не с linux, вообще ни с чего.
К счастью имеется некоторый опыт работы с hackintosh и даже пара установочных флешек с OpenCore в качестве загрузчика.
Достаточно было попасть в загрузчик и сбросить nvram. Дальше спокойно поставил windows 11.
З.Ы. Вообще же тема загрузчиков  малоизученная, да и когда всё работает, кому это интересно?
Русские дебианщики против цифрового слабоумия !

Aalexeey

Цитата: Лия от 17 сентября 2024, 03:04:53это баг в имплементации EFI - упорно не видит debian/grubx64.efi, зато boot/bootx64.efi - сразу загружается
Это злой умысел, не баг. Есть машины которые видят только .efi файл с именем как в винде. Если у вас файловая система на разделе не fat32 и поддерживает линки то лучше сделать вечный(ые) линки на .efi файл внутри debian. Линк положить в КОРЕНЬ EFI раздела диска.
Здесь https://debianforum.ru/index.php/topic,17726.30.html немного касались, где-то ещё тема была, непомню.
https://debianforum.ru/index.php?topic=6879 100% защиты от "Ааааа у меня всё поломалось"

Лия

#3
Цитата: Aalexeey от 17 сентября 2024, 15:40:01Если у вас файловая система на разделе не fat32
EFI partition и должен быть fat32
https://en.wikipedia.org/wiki/EFI_system_partition
https://uefi.org/specs/UEFI/2.10/13_Protocols_Media_Access.html#file-system-format-1

Цитата: Лия от 17 сентября 2024, 03:04:53echo "grub-efi-amd64 grub2/force_efi_extra_removable boolean true" | sudo debconf-set-selections
Вот после этой команды GRUB будет сам обновлять boot/bootx64.efi

17 сентября 2024, 18:55:56
Цитата: Aalexeey от 17 сентября 2024, 15:40:01Здесь https://debianforum.ru/index.php/topic,18016.msg138466.html#new немного касались
Ссылка на сообщение выше?


PbI6A

Делал как-то по работе астру линукс (глюкодром страшный!) для универсальной загрузки efi/bios. Там фишка была в том, что создаётся 1 мб раздел для загрузки bios, security boot раздел 0.5Гб (нафиг такой большой - я не понял, он пустой почти!) для плат security boot only и дальше класические swap и /. Не сложно, в принципе, делается, но до этого у меня были мысли, что раз зависимости efi/bios взаимоисключающие, то и работать оно не будет. Работает!
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

PbI6A

Цитата: PbI6A от 29 октября 2024, 19:07:51Работает!
Буквально вчера повторил сей подвиг на gpt и efi. Но чтобы оно заработало и на bios и на efi, надо запускать специальные команды с ключами. Если кому-то интересно, могу поискать.
LINUX means: Linux Is Not a UniX
Вернулся на Devuan. Счастлив!

dzhoser

Цитата: PbI6A от 29 октября 2024, 19:07:51Делал как-то по работе астру линукс (глюкодром страшный!) для универсальной загрузки efi/bios. Там фишка была в том, что создаётся 1 мб раздел для загрузки bios, security boot раздел 0.5Гб (нафиг такой большой - я не понял, он пустой почти!) для плат security boot only и дальше класические swap и /. Не сложно, в принципе, делается, но до этого у меня были мысли, что раз зависимости efi/bios взаимоисключающие, то и работать оно не будет. Работает!
Это нужно для совместимости с АПМДЗ.
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

RedEye

Цитата: PbI6A от 29 октября 2024, 19:07:51Делал как-то по работе астру линукс (глюкодром страшный!) для универсальной загрузки efi/bios. Там фишка была в том, что создаётся 1 мб раздел для загрузки bios, security boot раздел 0.5Гб (нафиг такой большой - я не понял, он пустой почти!) для плат security boot only и дальше класические swap и /. Не сложно, в принципе, делается, но до этого у меня были мысли, что раз зависимости efi/bios взаимоисключающие, то и работать оно не будет. Работает!

Раздел 1 мб создается при разметке hdd/ssd в gpt при условии создания более 4 разделов в позиции primary