Что такое vmlinuz.efi?

Да, я знаю, что это ядро;)

Я видел этот файл, когда просматривал 64-битные ISO 13.04. Я работаю над их ремиксом на мою флешку. Однако я хочу, чтобы у моего ремикса было обновленное ядро ​​по сравнению с компакт-диском. Это значит, что мне нужно будет создать vmlinux.efi.

Конечно, чтобы иметь возможность сделать что-то, я должен знать, что это такое.

Это просто старое 64-битное ядро? Возможно, это загрузочная заглушка EFI?

Аспект загрузочной заглушки не имеет смысла, потому что он загружен из GRUB в EFI и даже не находится в EFI / BOOT. Может быть, это просто будущее, если это заглушка загрузки EFI? В статье, которую я нашел в вики сообщества, говорится что-то вроде «она называется vmlinuz.efi», потому что она 64-битная. Это тоже кажется немного странным. Я имею в виду, это помогает дифференцироваться, но можно было бы выбрать лучшее имя, если бы оно не было загрузочным EFI.

Одна вещь, которую я нахожу странной, заключается в том, что Isolinux и GRUB загружают его так же, как если бы это было просто ядро ​​... поэтому его реальное назначение немного загадочно. Могут ли загрузочные заглушки EFI быть загружены как обычные ядра?

Ну, в том-то и дело, что я не могу найти никаких дискуссий о том, почему было выбрано это имя файла и что это такое. Итак, мы надеемся, что кто-то здесь знает, что это такое и как это работает.

РЕДАКТИРОВАТЬ:

Info / MD5 всех ядер с Ubuntu, Kubuntu, Xubuntu и Lubuntu CD:

DISTRO: lubuntu
vmlinuz: Linux kernel x86 boot executable bzImage, version 3.8.0-19-generic (buildd@allspice) #29-Ubuntu SMP Wed Apr 17 18, RO-rootFS, swap_dev 0x5, Normal VGA
deacc3c3a21beb4913c43a00bb6d5e01  vmlinuz
DISTRO: kubuntu
vmlinuz: Linux kernel x86 boot executable bzImage, version 3.8.0-19-generic (buildd@allspice) #29-Ubuntu SMP Wed Apr 17 18, RO-rootFS, swap_dev 0x5, Normal VGA
deacc3c3a21beb4913c43a00bb6d5e01  vmlinuz
DISTRO: xubuntu
vmlinuz: Linux kernel x86 boot executable bzImage, version 3.8.0-19-generic (buildd@allspice) #29-Ubuntu SMP Wed Apr 17 18, RO-rootFS, swap_dev 0x5, Normal VGA
deacc3c3a21beb4913c43a00bb6d5e01  vmlinuz
DISTRO: ubuntu
vmlinuz.efi: Linux kernel x86 boot executable bzImage, version 3.8.0-19-generic (buildd@allspice) #29-Ubuntu SMP Wed Apr 17 18, RO-rootFS, swap_dev 0x5, Normal VGA
1919b5acd184538ecb978f6361f98bf1  vmlinuz.efi

Одно из Ubuntu ISO явно отличается. Я начинаю думать, что это должно быть ядро ​​загрузочной заглушки EFI ... но все еще не нашел ничего, что могло бы подтвердить или опровергнуть это.

6
задан 9 August 2013 в 16:38

1 ответ

Загрузчик заглушки EFI является компонентом ядра , а не отдельной программой. Когда загрузчик заглушки EFI включен в ядро, этот файл ядра для EFI выглядит как обычная программа EFI, но это все еще обычное ядро, которое может быть загружено обычными загрузчиками Linux - GRUB, LILO, ELILO, SYSLINUX, и т.д. Заглушка EFI была доступна начиная с ядра 3.3.0, и AFAIK, все ядра Ubuntu, созданные с тех пор, включили эту функцию.

Нет закона, согласно которому ядра с загрузчиками заглушек EFI должны иметь имена файлов, оканчивающиеся на .efi. На самом деле ядра, установленные на жесткий диск, не имеют расширения имени файла .efi; похоже, это уникально для ядра на установочном диске, по крайней мере, в Ubuntu. Оболочка EFI не будет запускать программу, если у нее нет расширения .efi. Таким образом, присвоение ядру такого имени файла обеспечивает один из способов восстановления и тестирования для опытных пользователей, которые в противном случае могли бы быть им недоступны, а именно - запуск ядра вручную из оболочки EFI. Я не могу быть уверен, но я подозреваю, что разработчики Ubuntu теперь называют свои ядра таким образом, чтобы предоставить средства резервного копирования для запуска ядра или, возможно, просто для того, чтобы показать, что оно содержит поддержку заглушки EFI. OTOH, ядро ​​32-битного установочного диска Ubuntu не имеет расширения .efi, но включает поддержку заглушки EFI. Я подозреваю, что разработчики Ubuntu просто не называют свои ядра последовательно.

Можно запустить приложение EFI (например, ядро ​​Linux с поддержкой заглушки EFI) из любого места на диске. Подкаталог «casper» не является местом, где обычно находятся загрузчики, но можно запускать программы EFI оттуда.

Какой бы источник вы ни читали, в котором говорится, что 64-битное ядро ​​имеет расширение .efi , потому что это 64-битное ядро ​​неправильно. На практике 32-разрядная версия Ubuntu имеет ядро, в котором отсутствует это расширение, поэтому в мире Ubuntu существует корреляция, но причинно-следственная связь не возникает. Как правило, в Linux расширение .efi не указывает на 64-битное ядро ​​- существует множество 64-битных ядер, у которых этого расширения нет, и может быть желательно назовите 32-битное ядро ​​с таким расширением на 32-битном компьютере на основе UEFI (хотя Ubuntu этого не делает). Это расширение имени файла просто идентифицирует приложение EFI, которое может быть 32-разрядным (x86 / IA-32), 64-разрядным (x86-64 / AMD64) или какой-либо другой архитектурой (ARM или Itanium).

0
ответ дан 9 August 2013 в 16:38
  • 1
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37
  • 2
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37
  • 3
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37
  • 4
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37
  • 5
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37
  • 6
    Большое спасибо за Ваш подробный и четкий ответ! Я мог бы пойти с Вашим clonezilla предложением (а также не обновляющий до 14,04) – YKC 19 December 2014 в 21:37

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

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