ValdikSS / Super-UEFIinSecureBoot-Disk

Super UEFIinSecureBoot Disk: Boot any OS or .efi file without disabling UEFI Secure Boot
729 stars 107 forks source link

Ошибка `failed to start grubx64_real.efi: (14) Not Found` при попытке запуска через pxe. #4

Open don-rumata opened 4 years ago

don-rumata commented 4 years ago

Перенёс файловую структуру в корень tftp-сервера, дополнительно скопировав все файлы из EFI/BOOT и каталог EFI/grub в корень. DHCP-сервер настроен так:

} elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
                next-server 10.10.10.10;
                option option-66 "10.10.10.10";
        if option arch = 00:06 {
                filename "bootia32.efi";
        } elsif option arch = 00:07 {
                filename "bootx64.efi";
        } else {
                filename "pxelinux.0";
        }

После добавления ключей через MOK (аддон через ZeroNet скачал, но пока не добавлял) происходит загрузка, но пишет ошибку failed to start grubx64_real.efi: (14) Not Found

Кусок syslog:

in.tftpd[16105]: remap: input: bootx64.efi
in.tftpd[16105]: remap: done
in.tftpd[16105]: RRQ from 10.10.10.112 filename bootx64.efi
in.tftpd[16105]: tftp: client does not accept options
in.tftpd[16106]: remap: input: bootx64.efi
in.tftpd[16106]: remap: done
in.tftpd[16106]: RRQ from 10.10.10.112 filename bootx64.efi
in.tftpd[16108]: remap: input: grubx64.efi

Если делать как написано тут - меню grub появляется, ubuntu начинает ставиться и в syslog гораздо больше информации о запрошенных файлах.

ValdikSS commented 4 years ago

Возможно, это ошибка Shim, я видел подобные проблемы в репозитории Shim. Посмотрите там.

don-rumata commented 4 years ago

Т.е. попробовать разные бинарники из разных дистров\версий?

ValdikSS commented 4 years ago

По-моему, эта ошибка всё ещё не исправлена, если это всё-таки ошибка Shim. Использование других бинарников не поможет.

ValdikSS commented 4 years ago

Я не уверен, как в UEFI реализована загрузка через TFTP, полагаю, что софт должен поддерживать TFTP, а не просто загрузку файла с файловой системы. Если это так, то preloader (grubx64.efi) не содержит кода для поддержки TFTP, и, соответственно, не может найти grubx64_real.efi на файловой системе.

don-rumata commented 4 years ago

Ну тут предлагают качнуть grubnetx64.efi.signed и сохранить его как grubx64.efi. Наверное да, вставка net не просто так.

sebaxakerhtc commented 3 years ago

Я тоже пытаюсь побороть эту проблемку. Кто-то смог победить?

sebaxakerhtc commented 3 years ago

preloader (grubx64.efi) не содержит кода для поддержки TFTP

Так и есть. Было выяснено путём замены grubx64.efi на

grubnetx64.efi

don-rumata commented 3 years ago

И чё, поехало?

sebaxakerhtc commented 3 years ago

И чё, поехало?

Ничего не получилось. Даже IDA пытался проверить, где проблема. Увидел, что в коде есть строки для PXE и LAN, но непонятно, почему не работает

don-rumata commented 3 years ago

А про http там ничего нет? Может его как-то прикрутить?

sebaxakerhtc commented 3 years ago

С этим проблем нет после загрузки iPXE. Но лично моя идея была грузить EFI iPXE в Secure Boot режиме.

пт, 7 мая 2021 г., 00:44 don Rumata @.***>:

А про http там ничего нет? Может его как-то прикрутить?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk/issues/4#issuecomment-833888891, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHZDR4XEIT6QCC2KGAHSMZLTMMET3ANCNFSM4J7CWYMQ .