При попытке установить GRUB на USB-накопитель из полной Linux, grub-install: error: не удалось получить канонический путь к `/ efi / boot '

Я пытаюсь установить GRUB на USB в качестве загрузчика, чтобы я мог загрузиться в систему, которая обычно не может загрузиться в NVMe.

Предпочтительно использовать безопасный стиль загрузки UEFI.

Для парня, который плохо знаком с Linux и GRUB, я уже потратил более 10 часов на формирование концепции и начальные исследования.

В зеркальной системе, которая полностью поддерживает загрузку NVMe с установленным полным Linux, я создал флэш-диск GTP, отформатированный как раздел EFI, смонтировал раздел EFI в / efi

user@user-PC:/$ sudo -s
[sudo] password for user: 

root@user-PC:/# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0  55.5M  1 loop /snap/core18/1988
loop1         7:1    0   219M  1 loop /snap/gnome-3-34-1804/66
loop2         7:2    0  64.8M  1 loop /snap/gtk-common-themes/1514
loop3         7:3    0    51M  1 loop /snap/snap-store/518
loop4         7:4    0  31.1M  1 loop /snap/snapd/11036
sda           8:0    1   3.6G  0 disk 
├─sda1        8:1    1   256M  0 part ### This is the EFI partition, so Linux wont mount it
└─sda2        8:2    1   3.4G  0 part /media/user/DATA
sr0          11:0    1  1024M  0 rom  
nvme0n1     259:0    0 238.5G  0 disk 
├─nvme0n1p1 259:1    0   100M  0 part /boot/efi
├─nvme0n1p2 259:2    0    16M  0 part 
├─nvme0n1p3 259:3    0 137.9G  0 part 
├─nvme0n1p4 259:4    0   499M  0 part 
└─nvme0n1p5 259:5    0   100G  0 part /

root@user-PC:/# mkfs.msdos -F 32 -n GRUB2EFI /dev/sda1
mkfs.fat 4.1 (2017-01-24)
root@user-PC:/# mount /dev/sda1 /efi

root@user-PC:/# mkdir -p /efi/etc/default
root@user-PC:/# cp -a /etc/grub.d /efi/etc
root@user-PC:/# cp /etc/default/grub /efi/etc/default

root@user-PC:/home/user# grub-install --target=x86_64-efi --uefi-secure-boot --efi-directory=/efi/boot --bootloader-id=GRUB --removable --verbose
Installing for x86_64-efi platform.
grub-install: info: adding `hd0' -> `/dev/nvme0n1' from device.map.
grub-install: info: adding `hd1' -> `/dev/sda' from device.map.
grub-install: error: failed to get canonical path of `/efi/boot'.
root@user-PC:/home/user#

См. Последнюю строку. Любой эксперт может пролить свет на это? Большое спасибо, спасибо.

1
задан 5 May 2021 в 08:58

1 ответ

После сна на ночь, я подумал о том, чтобы прочитать больше ссылок и перепроверить свои команды.

Учебник YouTube основан на BIOS/MBR, но основные шаги те же

Ссылка на GRUB/UEFI

После удаления /boot из команды grub-install все заработало:

grub-install --target=x86_64-efi --uefi-secure-boot --efi-directory=/efi --bootloader-id=GRUB --removable –verbose

Это загрузка UEFI. Для проверки я подключил USB и в настройках загрузки BIOS отключил загрузку с NVMe. Зеленый индикатор на USB мигал, и он загрузился нормально. Перезагрузил компьютер без USB, компьютер (правильно) не смог найти загрузочное устройство.

Я ухожу и выложу полную историю команд, как только у меня появится шанс восстановить систему и повторить процесс (у меня была резервная копия системы для многократного тестирования)

0
ответ дан 7 May 2021 в 17:40

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

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