LINUX.ORG.RU

Как правильно установить GRUB efi?

 , ,


1

1

Слетела загрузка свежеустановленной и настроенной системы. Очень не хочется переставлять снова. Помогите пож-та починить загрузку. Изначально проблема обнаружилась в том, что загрузчик поставился вроде не на новый ssd, а на старый. И когда я его вынул, (он был подключён для переноса конфигов и хомяка) система перстала грузиться. Ну я вставил его обратно,загрузился и переставил grub2 как мне казалось правильно. И теперь система никак не грузится вообще. У меня голая консоль root без гуёв. Как правильно поставить загрузчик?

# Установка загрузчика для EFI:
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub

ругается, что не похоже на раздел efi.

Перемещено hobbit из general

★★★

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

efibootmgr -b grub2 -B

Это удаляет только запись в efi-загрузке. Ненужные файлы и каталоги надо удалить самому. У меня вообще только 2 файла в /boot/efi: /EFI/$DISTRONAME/grubx64.efi и /EFI/$DISTRONAME/grub.cfg (я не использую secure boot и shim)

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

Там получается очень тяжелочитаемый raw поток данных, вроде:

Boot0004* grub2	HD(2,GPT,723dbbbd-b741-4b83-afdb-5c6471f69ec2,0x11000,0x96000)/File(\EFI\grub2\grubx64.efi)
      dp: 04 01 2a 00 02 00 00 00 00 10 01 00 00 00 00 00 00 60 09 00 00 00 00 00 bd bb 3d 72 41 b7 83 4b af db 5c 64 71 f6 9e c2 02 02 / 04 04 32 00 5c 00 45 00 46 00 49 00 5c 00 67 00 72 00 75 00 62 00 32 00 5c 00 67 00 72 00 75 00 62 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00

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

О, теперь я знаю, как удалить лишние пункты. Удалил, понравилось. Но в /boot/efi/EFI/ осталась одноимённая параметру –bootloader-id=grub3 папка. Удалил вообще все пункты и все каталоги в этой папке.

С удовольствием перезагрузился и убедился, что слетел не только systemd-boot, но и grub2.

Починился через загрузочную флешку:

bootctl install --make-entry-directory=y

Поставил и grub, удалив перед этим /boot/grub.

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
hikikomori ★★★
() автор топика
Ответ на: комментарий от Dimez

Так не должно быть, ты что-то сделал не так.

но так есть. Я начисто снёс и поставил заново:

bootctl install --make-entry-directory=y
Created "/boot/efi/EFI/systemd".
Created "/boot/efi/EFI/BOOT".
Created "/boot/efi/EFI/Linux".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/boot/efi/EFI/BOOT/BOOTX64.EFI".
Created "/boot/efi/445d5d8be1c44c6fb686e282daf905b4".
! Mount point '/boot/efi' which backs the random seed file is world accessible, which is a security hole! !
! Random seed file '/boot/efi/loader/random-seed' is world accessible, which is a security hole! !
Random seed file /boot/efi/loader/random-seed successfully refreshed (32 bytes).
Created EFI boot entry "Linux Boot Manager".

А почему он пишет про security hole?

И зачем создал пустой каталог 445d5d8be1c44c6fb686e282daf905b4?

В обещм всё работает, но всё равно есть:

dp: 04 01 2a 00 02 00 00 00 00 10 01 00 00 00 00 00 00 60 09 00 00 00 00 00 bd bb 3d 72 41 b7 83 4b af db 5c 64 71 f6 9e c2 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 73 00 79 00 73 00 74 00 65 00 6d 00 64 00 5c 00 73 00 79 00 73 00 74 00 65 00 6d 00 64 00 2d 00 62 00 6f 00 6f 00 74 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00

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

Это не ОКР, а тяга к знаниям. Я поставил оба, чтобы если сломаю grub или systemd-boot, остался запасной вариант загрузки без ремонта**. Хочу в них разобраться, если ряд*** не закрытых вопросов.

** всё равно, когда грохнул systemd-boot, grub обвалился вместе с ним.

*** хочу изменить тему оформления - шрифты, цвета, картинки. Но что-то не получается.

Поэтому, пока не готов ни выбрать какой-то один, ни перейти на rEFInd, который вообще не знаю.

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

остался запасной вариант загрузки без ремонта

Открываешь uefi shell, грузишь \EFI\grub-backup\grubx64.efi

хочу изменить тему оформления - шрифты, цвета, картинки.

Смысл? Ты загрузчик grub в нормальном варианте вообще не видишь.

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

Права доступа. Fmask и dmask в /etc/fstab. Первая ссылка в гугле.

У меня это https://bbs.archlinux.org/viewtopic.php?id=287790

Не понял то или про другое.

На это права доступа? А что тут не так? Можете по-русски объяснить, я аглицкий не оч.

UUID=C221-BABF                            /boot/efi      vfat    umask=0077 0 2
UUID=b3d8a598-fc31-4483-a0b2-750c534492c9 /boot          ext4    defaults,noatime 0 2
hikikomori ★★★
() автор топика
Ответ на: комментарий от Dimez

Открываешь uefi shell,

Каким образом? Я такое в systemd-boot не видел. Пустой черный экран, одна строка варианта загрузки. Что-то надо нажать надо для выхода в этот шел?

грузишь \EFI\grub-backup\grubx64.efi

это сперва его туда ещё скопировать надо.

Смысл? Ты загрузчик grub в нормальном варианте вообще не видишь.

Почему вы(Ок, переходим на ты, товарищ) так думаете? Я вижу его в убогом текстовом варианте с дефолтным плохо читаемым шрифтом в каком-то графическом режиме. Раньше либо в текстовом режиме показывалось, хорошо читаемое и винрарно выглядящее, либо в графическом с логотипом бомжары, красивым оформлением, эстетичное короче.

Вот я хочу это исправить. Обидно, почему оформление постоянно в говно стремится. раньше на загрузчик приятно было полюбоваться как на эстетический продукт.

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

Я такое в systemd-boot не видел

А это и не system-boot, а uefi shell в твоей материнской плате (которого, кстати, может запросто и не быть, тогда лучше его положить заранее в виде efi-файла)

это сперва его туда ещё скопировать надо.

Ну скопируй.

Я вижу его в убогом текстовом варианте

А я не вижу, у меня сразу ядро грузится, если я не нажал нужную клавишу, зачем смотреть в grub?

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

А это и не system-boot, а uefi shell в твоей материнской плате (которого, кстати, может запросто и не быть, тогда лучше его положить заранее в виде efi-файла)

А этот шел точно есть в моей плате? Как это проверить и загрузиться в него?

в виде efi-файла - где его взять? И куда ложить, чтобы можно было с него загрузиться?

А я не вижу, у меня сразу ядро грузится, если я не нажал нужную клавишу, зачем смотреть в grub?

В bios можно выбрать для загрузки либо пункт с названием, и тогда загрузится system-boot, либо накопитель целиком, тогда загрузится grub2.

Я хочу видеть при загрузке красивое меню, привык к нему в прошлые годы, когда ещё не похерили эстетику приложений соевые хипстерные куколды.

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

в виде efi-файла - где его взять? И куда ложить, чтобы можно было с него загрузиться?

Главное, «в виде efi-файла». Почему ты думаешь, что он не слетит, точно так-же как груб. И будешь его восстанавливать, чтобы потом запустить груб, когда можно сразу восстановить груб.

Куда? Как любой ЕФИ-загрузчик, на ESP.

Лучше озадачиться, чтобы у тебя всегда был рабочий груб, пусть даже вообще системы не будет. Чтобы этим грубом ты мог в любое время, любую программу-систему запустить, из любого положения.

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

В bios можно выбрать для загрузки либо пункт с названием, и тогда загрузится system-boot…

ЕФИ-режим, system-boot только в нем и умеет работать.

либо накопитель целиком, тогда загрузится grub…

А это намекает на легаси-режим.

Вот тут и возникают вопросы…

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

А этот шел точно есть в моей плате? Как это проверить и загрузиться в него?

Удивительно, но посмотреть в биосе - есть ли там пункт UEFI Shell :)

https://linuxhint.com/wp-content/uploads/2021/06/image77.png

в виде efi-файла - где его взять?

Например, вытащить отсюда: https://github.com/pbatard/UEFI-Shell (могу ошибаться, очень давно не использовал скачиваемый UEFI Shell)

И куда ложить, чтобы можно было с него загрузиться?

«ложат» кирпичи, а файл надо поместить на EFI-партицию.

В bios можно выбрать для загрузки либо пункт с названием, и тогда загрузится system-boot, либо накопитель целиком, тогда загрузится grub2.

Чот нерелевантная чушь какая-то понаписана. «Либо накопитель целиком» означает либо CSM-загрузку, либо EFI/boot/bootx64.efi (загрузка по-умолчанию). Повторяю ещё раз - изучи матчасть.

Я хочу видеть при загрузке красивое меню, привык к нему в прошлые годы, когда ещё не похерили эстетику приложений соевые хипстерные куколды.

Мне всегда казалось, что перед навешиванием красивостей надо с базой хорошо разобраться, не?

соевые хипстерные куколды

А сам ведёшь себя также.

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

Удивительно, но посмотреть в биосе - есть ли там пункт UEFI Shell :)

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

А сам ведёшь себя также.

У меня всё годами работало искаропки и не было повода разбираться. Потом дизайн grub скатился в говно. В этом я виноват?

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

Я этого не говорил.

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

Простой вопрос - Как мне перевести меню grub в текстовой режим? Я что не пробую изменить, либо эффект не тот, либо без эффекта вовсе.

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