Как запустить vmlinuz-linux из efi shell ? Я прыгаю в ESP и типа vmlinuz-linux
(vmlinuz-linux находится в ESP), но он говорит vmlinuz-linux isn't recognized as an internal or external command, operable program, or batch file
, почему я должен запустить загрузчик сначала я не понимаю.
Как запустить vmlinuz-linux из efi shell?
3 ответа
просто типа /vmlinuz-linux root=PARTUUID=3518bb68-d01e-45c9-b973-0b5d918aae96 initrd=/initramfs-linux.img
от этого https://wiki.archlinux.org/index.php/EFISTUB#Booting_EFISTUB но пришлось удалить косую черту /
до vmlinuz-linux
чтобы заставить его работать.
нужно ли загрузчик или нет зависит от конкретной версии ядра Linux поддерживает загрузку стаб ели.
посмотреть следующую дополнительную информацию: https://www.kernel.org/doc/Documentation/efi-stub.txt
IIRC, оболочка EFI не будет запускать файлы как программы, если их имена не заканчиваются на .efi
. Таким образом, вы должны сначала переименовать файл ядра так, чтобы его имя заканчивалось на .efi
.
если вы не можете переименовать файл ядра, вы все равно можете запустить ядро с помощью EFI stub loader через другую программу boot manager, такую как gummiboot/systemd-boot или rEFInd. Эти инструменты не заботятся о расширении имени файла-по крайней мере, не так сильно, как оболочка. (функция автоматического сканирования rEFInd совпадает для *.efi
,vmlinuz*
,bzImage*
и kernel*
, но ручная настройка загрузки для обеих программ будет работать с любым именем файла.)
также, как говорит fpmurphy1, ядро должно быть скомпилировано с поддержкой EFI stub. Большинство дистрибутивов включили эту поддержку в свои ядра 3.3.0 и более поздних версий, но она может быть не на 100% универсальной, особенно если вы компилируете ядро самостоятельно. (Последний раз я проверял, что поддержка заглушки EFI не была частью конфигурации ядра по умолчанию для полученного источника ядра от kernel.org
.)
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]