Личинка установки с помощью пользовательского идентификатора загрузчика, например, “MyUbuntu”

Я могу переустановить личинку с помощью идентификатора загрузчика по умолчанию "человечность"

Но если я использую пользовательское имя как "MyUbuntu", я не могу сделать успешную установку личинки.

Тестовая установка на хорошо загружающейся Ubuntu 18.04:

1: Удалите существующую личинку:

rm -r /boot/efi/EFI/*

2: Установите новую личинку:

grub-install --target=x86_64-efi --bootloader-id=MyUbuntu /dev/sda

2: Личинка обновления:

update-grub

Система теперь загружается в консоль Grub. EFI видел новую запись загрузки в меню начальной загрузки очень хорошо.

enter image description here enter image description here

Просто взял пик в /boot/grub/grub.cfg, это все еще говорит: menuentry 'Ubuntu' --class ubuntu.....

2
задан 28 March 2019 в 02:14

2 ответа

После того, как я столкнулся с systemd-начальной-загрузкой как с загрузчиком, я никогда не оглядывался назад на GRUB. systemd-загрузитесь, по моему мнению, более стабильный путь и имеет намного лучший способ конфигурации. И "стабильным" я подразумеваю, что это не столь уязвимо как GRUB. GRUB настолько легко повредить. Просто добавление нового диска к Вашему полю может дать Вам большую проблему (из-за, возможно, идентичного идентификатора загрузчика, который Вы не можете изменить и т.д.),

Единственный недостаток systemd-начальной-загрузки является отсутствием поддержки безопасной начальной загрузки, но это не проблема для меня, и что Ваше ядро должно быть расположено в разделе EFI вместо корневого раздела, поскольку это имеет место с GRUP.

С systemd-начальной-загрузкой я возвратил полный контроль над процессом начальной загрузки... ДА

Это должен быть загрузчик по умолчанию вместо GRUB.

ОБНОВЛЕНИЕ, Как сделать (Debian/Ubuntu):
(Это скорее поверхностно руководство, но я надеюсь, что это запустит Вас. Другие источники: Arhlinux.., freedesktop.. и readme..)

1: Сначала скопируйте файлы ядра от Вас корневой раздел, например. /boot/vmlinuz-4.9.0-8-amd64 и /boot/initrd.img-4.9.0-8-amd64, к Вашему разделу EFI. Можно разместить их в подпапку по Вашему выбору или даже в корневую папку, если Вам нравится.

2: Во многих руководствах говорится, что Вам нужен доступ к переменным EFI, но я не уверен, необходимо ли это. Но протестировать, если Вы имеете, работать efivar --list.
Устанавливать при пропавших без вести: apt install efivar

3: Установите systemd-загрузчик на разделе EFI: bootctl --path=/mnt/efi install (используйте Вас собственный путь к Вашему смонтированному разделу EFI),

4: Отредактируйте файл /mnt/efi/loader/loader.conf к чему-то как:

timeout 5
# default 6a9857a393724b7a981ebb5b8495b9e-*

(не выяснили, как использовать автодобавленный UUID в файле, таким образом, я просто разметил его),

5: Каждый файл в /mnt/efi/loader/entries/*.conf соответствуйте в записи загрузки в systemd-меню-начальной-загрузки. Таким образом для добавления текущей ОС делают файл, смотрящий что-то как:

title      Debian 9 :-)
linux      /debian9/vmlinuz-4.9.0-6-amd64
initrd     /debian9/initrd.img-4.9.0-6-amd64
options    root=UUID=084917b7-8be2-4e86-838d-f771a9902e08`

(Измените путь к файлам ядра, которые Вы скопировали на шаге 1. Измените UUID к UUID файловой системы Вас корневой раздел (используйте команду Linux lsblk -o name,uuid)

Общая информация:
bootctl установит два файла загрузчика в Вашем разделе EFI:

../BOOT/BOOTX64.EFI
../systemd/systemd-bootx64.efi

Эти файлы идентичны. Ваша BIOS EFI на Вашей материнской плате moust загружает/указывает одному из них. Или сделайте это в BIOS непосредственно или используйте команду Linux efibootmgr....

Для добавления, новые записи загрузки просто создают новое /mnt/efi/loader/entries/*.conf файлы, которые указывают на правильные файлы ядра и корневой раздел.

Файлы ядра ДОЛЖНЫ быть расположены на разделе EFI (FAT32).
Раздел EFI должен быть измерен соответственно. Я думаю, файлы ядра для, например, Debian/Ubuntu о 50-60MB. Таким образом, если у Вас есть две установки, Вам нужны 120 МБ.

2
ответ дан 2 December 2019 в 03:29

Я использую простой обходной путь. После запуска grub-install с --bootloader-id запустите grub-install без аргументов. Это создаст запись Ubuntu. Удалите его, если хотите, но теперь ваш идентификатор будет работать «волшебным образом». Очень раздражает, кажется, старый баг. Надеюсь, я помогу.

0
ответ дан 16 March 2020 в 20:15

Другие вопросы по тегам:

Похожие вопросы: