Здравствуйте,
При расположении файлов ISO-образа "ubuntu-20.04.2.0-desktop-amd64.iso" на FAT32 флешке в отдельной папке (именно файлов из ISO-образа, а не самого ISO-образа), находящейся не в корне флешки, Live-система стартует, установка ОС на полностью отформатированный раздел в Legacy/CSM-режиме работает, а вот установка в EFI-режиме заканчивается ошибкой:
"The 'grub-efi-amd64-signed' package failed to install into /target/.
И далее выскакивает окно "Installer crashed".
Удалось выяснить, что установщик в EFI-режиме хочет видеть в корне флешки, которую он монтирует как "/cdrom", папку ".disk" и файлы в ней "cd_type" и "info". Как только я копирую эти файлы из отдельной папки с распакованным ISO-образом в корень флешки, то ошибка пропадает.
Причем прошу обратить внимание, что в Legacy/CSM-установке такой ошибки нет.
Вот более подробно, как я создавал флешку:
У меня есть необходимость хранить несколько различных дистрибутивов Linux на одной флешке. Поэтому было решено распаковать ISO-образ на флешку в одну из папок на флешке и подключить к ней Grub2 для EFI и Grub4dos для Legacy/CSM (мне так более удобно).
1) Я отформатировал флешку в FAT32
2) скопировал вручную все файлы из "ubuntu-20.04.2.0-desktop-amd64.iso" на флешку в папку "/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64"
3) cкопировал папку /DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/EFI в корень флешки
4) Скопировал папку /DISTR/Linux/boot в корень флешки
5) Привел файл /boot/grub/grub.cfg к следующему виду:
set extract_path="/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64"
export extract_path
if loadfont ${extract_path}/boot/grub/font.pf2 ; then
set gfxmode=auto
insmod efi_gop
insmod efi_uga
insmod gfxterm
terminal_output gfxterm
fi
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
menuentry "Ubuntu" {
set gfxpayload=keep
linux ${extract_path}/casper/vmlinuz live-media-path=${extract_path}/casper/ persistent persistent-path=${extract_path}/ cdrom-detect/try-usb=true noprompt floppy.allowed_drive_mask=0 ignore_uuid file=${extract_path}/preseed/ubuntu.seed maybe-ubiquity quiet splash ---
initrd ${extract_path}/casper/initrd
}
menuentry "Ubuntu (safe graphics)" {
set gfxpayload=keep
linux ${extract_path}/casper/vmlinuz live-media-path=${extract_path}/casper/ persistent persistent-path=${extract_path}/ cdrom-detect/try-usb=true noprompt floppy.allowed_drive_mask=0 ignore_uuid file=${extract_path}/preseed/ubuntu.seed maybe-ubiquity quiet splash nomodeset ---
initrd ${extract_path}/casper/initrd
}
menuentry "OEM install (for manufacturers)" {
set gfxpayload=keep
linux ${extract_path}/casper/vmlinuz live-media-path=${extract_path}/casper/ persistent persistent-path=${extract_path}/ cdrom-detect/try-usb=true noprompt floppy.allowed_drive_mask=0 ignore_uuid file=${extract_path}/preseed/ubuntu.seed only-ubiquity quiet splash oem-config/enable=true ---
initrd ${extract_path}/casper/initrd
}
grub_platform
if [ "$grub_platform" = "efi" ]; then
menuentry 'Boot from next volume' {
exit 1
}
menuentry 'UEFI Firmware Settings' {
fwsetup
}
fi
6) Далее подключил Grub4dos и в его меню указал аналогичное:
title ubuntu-20.04.2.0-desktop-amd64
kernel /DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/casper/vmlinuz live-media-path=/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/casper/ persistent persistent-path=/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/ cdrom-detect/try-usb=true noprompt floppy.allowed_drive_mask=0 ignore_uuid file=/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/preseed/ubuntu.seed maybe-ubiquity quiet splash --- vga=791
initrd /DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/casper/initrd
7) Загрузился с флешки в Legacy/CSM-режиме и успешно получилось установить ОС.
Далее загрузился с флешки в EFI-режиме и в конце процесса установки получаю ошибку "The 'grub-efi-amd64-signed' package failed to install into /target/" и далее выскакивает окно "Installer crashed". Но если в корне флешки создам папку .disk и в нее скопирую файлы "/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/.disk/cd_type" и "/DISTR/Linux/ubuntu-20.04.2.0-desktop-amd64/.disk/info", то ошибка пропадёт и установка завершится успешно.
Пробовал форматировать диск для ОС как опцией "Erase disk and install Ubuntu", так и вручную создавать EFI-раздел на 200МБ и основной под систему EXT4 с точкой монтирования "/"
Подскажите, пожалуйста, это баг дистрибутива (в Legacy/CSM ведь работает, а EFI - нет) или я что-то делаю не так?
Upd:Secure Boot отключен.
Спасибо
andytux, - на дистрибутиве ubuntu-21.04-desktop-amd64 такой ошибки нет. Исправили. Спасибо большое за подсказку!