Установка загрузчика efi в Ubuntu 18.04 (x86)

После установки Ubuntu 18.04 (x86) (далее - система) с загрузчиком EFI завершающий этап установки вываливается с ошибкой. Система установлена, загрузчик - нет, исправить такую ситуацию возможно при помощи некоторых манипуляций в терминале. Вот действия, которые необходимо произвести:

Загружаемся с загрузочной флешки в LiveUSB (режим UEFI). Определяемся с диском, на котором стоит система. Допустим, встроенный диск ноутбука определен ядром как sda, он имеет 2 раздела:
sda1 [boot, esp] 512 Гб FAT32 - раздел для хранения конфигов EFI
sda2 всё_остальное_место EXT4 - корневой раздел системы (он же root раздел, он же "/" с точки зрения установленной на диск системы)
Определить это можно любым удобным способом. Через тот же gparted или disks, или же через консольную lsblk. В сущности, это Вы должны знать, т.к. систему ставили Вы.
Исходя из этих условий, открываем терминал (Ctrl+Alt+T) и начинаем вводить по одной команде (если ошибка на каком-либо этапе возникает - то останавливаем процесс, и спрашиваем что происходит, демонстрируя вывод ошибки на форуме, или рыская по ней в гугле):

Код: Bash
  1. sudo mount /dev/sda2 /mnt                                           #если у Вас не sda2 - подставляем свои данные вместо sda2!!!
  2. sudo mount /dev/sda1 /mnt/boot/efi                                  #если у Вас не sda1 - подставляем свои данные вместо sda2!!!
  3. for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
  4. sudo cp /etc/resolv.conf /mnt/etc/                                  #это чтобы сеть была доступна после выполнения chroot'a
  5. modprobe efivars                                                    # убеждаемся что подгружен модуль ядра для работы с EFI
  6. sudo chroot /mnt
  7. sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi
  8. exit
  9. for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done
  10. sudo umount /mnt/boot/efi                                           #размонтируем ESP-раздел (чтобы не повредить)
  11. sudo umount /mnt
  12. sudo reboot

По идее всё. После перезагрузки грузитесь не с флешки, а с встроенного диска ноутбука, - система должна стартовать. Примечание: если по каким-то причинам раздел sda1 у Вас сейчас не существует - создайте его средствами gparted. Основная ценность у Вас на разделе sda2 (корневом)

Не надо использовать GRUB

Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию

grub-install --target=x86_64-efi --efi-directory=esp_mount --bootloader-id=grub

Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой

bootctl install --path=/boot

Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рейтинг*