
ознакомиться
1. Прежде всего, тебе нужен отдельный /boot раздел и диск разбитый как GPT.
Если собирал ядро сам, то 32Mb будет более чем достаточно, но так как это инструкция для общего случая, то рекомендую ставить 128Mb, благо, по сегодняшним меркам это не так уж плохо.
Разбивать диск рекомендую программной gdisk, если не боишься консоли и готов читать встроенные инструкции или gparted, если хочешь привычный мышетыкательный нитерфейс.
2. Этот раздел должен быть в FAT32 из-за специфики работы EFI.
mkfs.vfat -F32 /dev/sdXY, где X и Y это буква и номер /boot раздела соответственно.
3. Далее есть несколько способов запуска нашего ядра.
Напрямую при помощи "биоса". Работает только с собранным вручную ядром
В этом случае нужно создать директорию /boot/efi/boot/ и скопировать наше ядро туда с именем bootx64.efi или bootx32.efi. Если всё сделали правильно, то при выборе загрузочного диска появится новая опция и никаких дополнительных действий не потребуется.
Напрямую, но с дополнительным прописыванием при помощи efibootmgr. Работает в большинстве случаев
Устанавливаем efibootmgr и прописываем
efibootmgr -d /dev/sdX -p Y -c -L "Название в Загрузчике" -l /vmlinuz-linux -u "root=/dev/sdXY rw initrd=/initramfs-linux.img"
Где X- буква диска, на котором у вас рут /, а Y- соответственно, раздел.
Убедись, что ты установил ядро и в /boot/ лежат файлы vmlinuz-linux и initramfs-linux.img. Если они называются иначе (например, initramfs любит так делать), то обязательно подправь запись, иначе ничего не загрузится.
Проверь запись, выполнив efibootmgr
С помощью загрузчика, вроде GRUB
Установи efibootmgr и grub и выполни
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=название_при_загрузке --recheck
Не забудь сменить target на свой Естественно, этот способ наименее надёжен, так как за вас всё делает программа и добавляет сомнительно полезный GRUB.
4. Готово, у тебя должна загрузиться система с EFI.
Я рекомендую использовать именно второй способ, поскольку он сочетает удобство, простоту и надёжность.
Я слышал, что Secure Boot не даёт загрузить Linux
Отчасти. Он был разработан, чтобы только правильно подписанный код можно было запустить при помощи EFI в биосе. Этот код можно получить, например, у Microsoft. Соответственно, далеко не у всех он есть.
Но хорошая новость в том, что, как правило, он легко отключается в самом биосе.
команды
проверка используем BIOS или UEFI.
test -d /sys/firmware/efi && echo UEFI || echo BIOS
efibootmgr
--create или -c, чтобы создать новую запись;
--part или -p, за которой следует номер раздела, на котором находится EFI System Partition;
--disk или -d, за которой следует диск, на котором находится системный раздел EFI;
--label или -L, за которой следует метка, которую необходимо использовать для загрузочной записи;
--loader или -l, за которой следует путь к образу EFI для загрузки
увидеть номер системного раздела EFI, тип таблицы разделов (GPT), UUID системного раздела EFI и файл загрузчика
sudo efibootmgr -v
создать запись
efibootmgr --create --disk /dev/sdX --part Y --label "Arch Linux" --loader /vmlinuz-linux --unicode 'root= block_device_identifier rw initrd=\initramfs-linux.img'
передав в качестве аргументов следующие значения: --bootnum или -b с идентификатором, и --delete-bootnum или -B, означающая, что нужно удалить запись:
sudo efibootmgr -b номер -B
Чтобы сделать загрузочную запись активной, выполните:
sudo efibootmgr -b номер -a
сделать не активной
sudo efibootmgr -b номер -A
Изменение порядка загрузки
sudo efibootmgr -o 0003,0001,0004,0000
В данном примере пункт 0003 станет первым, 0001 вторым, 0004 третьим и 0000 четвертым в меню UEFI BIOS.
Изменение порядка загрузки только для следующей загрузки
efibootmgr -n 4
ссылки
взято тут
https://wiki.debian.org/EFIStub
http://help.ubuntu.ru/wiki/uefiboot
https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface_(Русский)
https://wiki.archlinux.org/title/EFISTUB
https://linux.die.net/man/8/efibootmgr
Настройка UEFI-загрузчика. Самое краткое руководство в мире
Настройка UEFI Dual Boot системы, приправленной rEFInd
Научите: Win7 + GPT + Grub
Converting to GPT in Ubuntu
https://wiki.gentoo.org/wiki/GRUB#EFI_system_partition
http://manual.aptosid.com/en/part-gdisk-en.htm
UEFI не видит установленный Linux (РЕШЕНО)