Действительно ли GRUB является лучшим bootloading решением? Существует ли более легкая альтернатива?

Если у Вас есть desktop/gui среда, Вы могли бы хотеть попытаться установить автоключ. Среди прочего это позволяет Вам присвоить макросы нажатиям клавиш, которые могут сделать почти что-либо, что можно вообразить - особенно, если Вы знаете Python.

https://code.google.com/p/autokey/

Существует две версии. Один для gtk (гном) и другой для QT (kde).

Если проблема - то, что ключи не распознаются, то я не знаю, как зафиксировать это, но showkey и команды xev запустят Вас в правильном направлении. Раньше была программа горячих клавиш или модуль, но это обесценивалось.

26
13.04.2017, 15:36
4 ответа

ELILO

Управление загрузчиками EFI для Linux: использование ELILO

Мне действительно сложно решить, какую часть из этого скопировать + вставить, потому что все это действительно хорошо, поэтому я ' Я просто попрошу вас прочитать это.

Род Смит

Создал и поддерживает как gdisk , так и rEFInd .

Но прежде, чем вы это сделаете, я хотел бы немного прокомментировать это. Ссылка ELILO выше ведет на одну из многих страниц, посвященных загрузке UEFI, которые вы найдете на rodsbooks.com , написанных Родом Смитом. Он опытный технический писатель, и если вы когда-либо гуглили тему загрузки UEFI и не читали что-то из его, скорее всего, вы пропустили несколько первых результатов.

Загрузка Linux UEFI

В основном, ядро ​​Linux может напрямую выполняться микропрограммой.

В приведенной выше ссылке он упоминает загрузчик EFI ядра Linux - это то, что вы должны использовать, на мой взгляд, поскольку он позволяет ядру Linux вызываться непосредственно самой прошивкой. Независимо от того, что вы делаете , что-то выполняется прошивкой - и похоже, что это что-то grub . Если прошивка может напрямую загружать ядро ​​вашей ОС, что хорошего в загрузчике? Прошивка UEFI монтирует раздел GPT в формате FAT, помеченный таблицей разделов esp , и выполняет путь, сохраненный в качестве загрузочной переменной UEFI во встроенном модуле флэш-памяти. Итак, вы можете поместить ядро ​​Linux в этот раздел FAT и сохранить его путь в этой загрузочной переменной. Внезапно ядро ​​оказывается собственным загрузчиком.

Загрузчики

В системах UEFI загрузчики избыточны, включая ELILO.

Проблема, с которой были разработаны загрузчики, заключалась в том, что системы BIOS считывали только первый сектор загрузочного отмеченного раздела и выполняли его. Немного сложно сделать что-либо значимое с ядром на 512 байт, поэтому обычным делом было написать крошечную утилиту, которая могла бы смонтировать файловую систему, в которой вы сохранили настоящее ядро ​​, и загрузить ее по цепочке.

На самом деле, 512 байт часто было недостаточно даже для загрузчиков. grub , например, фактически загружает себя по цепочке до того, как когда-либо загружает ваше ядро, потому что он заклинивает свою вторую стадию в пустом пространстве между загрузочным сектором и первым сектором вашей файловой системы. Это своего рода грязный прием, но он сработал.

Диспетчеры загрузки

Однако для упрощения настройки могут быть полезны некоторые посредники.

REFInd Рода Смита запускается как приложение EFI - это относительно новая концепция. Это программа, которая запускается с диска прошивкой и возвращается в нее. Что делает rEFInd, так это позволяет вам управлять меню загрузки, а затем возвращает ваш выбор загрузки в прошивку для выполнения. Он поставляется с драйверами файловой системы UEFI - так, например, вы можете использовать загрузчик EFI-заглушки ядра на не-FAT разделе (например, в вашем текущем / boot ). Им предельно просто управлять - если такое вообще необходимо - и это добавляет простоту исполняемого ядра системы к удобству настраиваемого диспетчера загрузки.

Атомарное косвенное обращение

Ядру не нужны символические ссылки - оно может монтировать --bind .

Если на вашем / есть какой-либо путь, по которому вы должны запретить символическую ссылку, то это / boot . Осиротевшая символическая ссылка в / boot - это , а не проблема, которую вам когда-либо придется решать. Тем не менее, довольно распространенной практикой является установка сложных косвенных указаний в / boot несколькими дистрибутивами - даже если это ужасная идея - для обработки обновлений ядра на месте и / или нескольких конфигураций ядра.

Это проблема для систем EFI , не настроенных для загрузки драйверов файловой системы (например, поставляемых с пакетом rEFInd) , потому что FAT - довольно глупый файловая система в целом, и она их не понимает.

Я лично не использую драйверы файловой системы UEFI, поставляемые с rEFInd,хотя большинство дистрибутивов включают в себя пакет rEFInd, который можно установить с помощью диспетчера пакетов, и забыть об использовании собственной ужасной символьной конфигурации / boot и упакованных драйверов файловой системы UEFI от rEFInd.

Моя конфигурация

Однажды я написал для нее набор инструкций и разместил здесь , но это выглядит так:

% grep esp /etc/fstab && 
> ls /esp/EFI

LABEL=ESP          /esp  vfat defaults      0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0 

arch_root/  arch_sqsh/  arch_xbmc/  BOOT/  ipxe/

Поэтому я просто поместил эти две строки в свой / etc / fstab , указывающий на папку, в которой я собираюсь содержать новую установку Linux / boot , и я почти перестал беспокоиться обо всем этом. Мне также нужно сделать:

cat /boot/refind_linux.conf 

"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"

Помимо установки пакета refind-efi через pacman для первого, это все, что требуется для установки как можно большего количества отдельных установок / конфигураций. как я желаю. Обратите внимание, что большая часть приведенной выше строки состоит из специфичных для btrfs параметров монтирования, указанных в качестве параметров ядра. Более типичный /boot/refind_linux.conf , вероятно, будет выглядеть так:

"Menu Entry" "root=/dev/sda2"

И это все, что нужно.

rodsbooks.com

Если вы все еще хотите ELILO, вы можете найти инструкции по установке по ссылке выше. Если вам нужен rEFInd, вы найдете ссылки на него в первом абзаце. Обычно, если вы хотите выполнить любую конфигурацию загрузки UEFI, сначала прочтите rodsbooks.com .

28
27.01.2020, 19:40

Я использую LILO вместо GRUB2. Честно говоря, это был не мой выбор - установка GRUB2 не удалась в программе установки Debian на Live CD, но затем был выбран вариант установки LILO, который оказался успешным. У меня есть 2-летний ноутбук под управлением Debian Stable. LILO безупречно работает на меня.

.
3
27.01.2020, 19:40

LILO по-прежнему можно использовать даже с UEFI BIOS. Обычно UEFI может загружать ядро ​​Linux напрямую. Однако это зависит от самого UEFI.

Однако, если вам действительно нужен экран выбора загрузки, например, если вы загружаетесь в несколько ОС на одной машине, тогда вам может пригодиться небольшой загрузчик.

Я бы подумал об использовании вместо него EXTLINUX . Это вариант SYSLINUX, но он находится в разделах типа ext .

Прелесть EXTLINUX в ​​том, что, хотя он более расширяемый и имеет гораздо больше возможностей, чем LILO, он может быть таким же простым и активно поддерживается.

1
27.01.2020, 19:40

Я не помню эквивалента update-grub . Однако есть более старая система, которая все еще поддерживается в Debian. (Он используется для загрузки на моем сервере ARM).

Самая последняя версия ядра имеет символическую ссылку на / boot / vmlinuz , а initrd - на /boot/initrd.img . Он обновляется пакетом ядра. Загрузчик указывает на них и разыменовывает символическую ссылку при каждой загрузке.

Так что у вас вполне может не быть возможности восстановления. В любом случае это не будет наиболее широко проверенный вариант, поэтому еще более желательно иметь рабочий загрузочный диск :-).


Обновление: если вашей целью является что-то иное, чем буквально запуск LILO на современном компьютере, вероятно, есть лучшие альтернативы, как описано в другом (-ых) ответе (-ах) здесь :).

Сказанное выше имеет смысл только для исходной версии LILO, основанной на BIOS. Современное оборудование обеспечивает совместимость с BIOS поверх EFI, если вам не нужна безопасная загрузка или загрузка Windows 8 из того же меню. Теоретически вы можете заставить работать ELILO, но он не поддерживает безопасную загрузку или загрузку Windows 8. ELILO больше не имеет смысла в целом, поэтому я предполагаю, что за этим стоит не так много сообщества.

1
27.01.2020, 19:40

Теги

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