Если у Вас есть desktop/gui среда, Вы могли бы хотеть попытаться установить автоключ. Среди прочего это позволяет Вам присвоить макросы нажатиям клавиш, которые могут сделать почти что-либо, что можно вообразить - особенно, если Вы знаете Python.
https://code.google.com/p/autokey/
Существует две версии. Один для gtk (гном) и другой для QT (kde).
Если проблема - то, что ключи не распознаются, то я не знаю, как зафиксировать это, но showkey и команды xev запустят Вас в правильном направлении. Раньше была программа горячих клавиш или модуль, но это обесценивалось.
Мне действительно сложно решить, какую часть из этого скопировать + вставить, потому что все это действительно хорошо, поэтому я ' Я просто попрошу вас прочитать это.
gdisk
, так и rEFInd
. Но прежде, чем вы это сделаете, я хотел бы немного прокомментировать это. Ссылка ELILO выше ведет на одну из многих страниц, посвященных загрузке UEFI, которые вы найдете на rodsbooks.com , написанных Родом Смитом. Он опытный технический писатель, и если вы когда-либо гуглили тему загрузки UEFI и не читали что-то из его, скорее всего, вы пропустили несколько первых результатов.
В приведенной выше ссылке он упоминает загрузчик EFI ядра Linux - это то, что вы должны использовать, на мой взгляд, поскольку он позволяет ядру Linux вызываться непосредственно самой прошивкой. Независимо от того, что вы делаете , что-то выполняется прошивкой - и похоже, что это что-то grub
. Если прошивка может напрямую загружать ядро вашей ОС, что хорошего в загрузчике? Прошивка UEFI монтирует раздел GPT в формате FAT, помеченный таблицей разделов esp , и выполняет путь, сохраненный в качестве загрузочной переменной UEFI во встроенном модуле флэш-памяти. Итак, вы можете поместить ядро Linux в этот раздел FAT и сохранить его путь в этой загрузочной переменной. Внезапно ядро оказывается собственным загрузчиком.
Проблема, с которой были разработаны загрузчики, заключалась в том, что системы 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"
И это все, что нужно.
Если вы все еще хотите ELILO, вы можете найти инструкции по установке по ссылке выше. Если вам нужен rEFInd, вы найдете ссылки на него в первом абзаце. Обычно, если вы хотите выполнить любую конфигурацию загрузки UEFI, сначала прочтите rodsbooks.com .
Я использую LILO вместо GRUB2. Честно говоря, это был не мой выбор - установка GRUB2 не удалась в программе установки Debian на Live CD, но затем был выбран вариант установки LILO, который оказался успешным. У меня есть 2-летний ноутбук под управлением Debian Stable. LILO безупречно работает на меня.
.LILO по-прежнему можно использовать даже с UEFI BIOS. Обычно UEFI может загружать ядро Linux напрямую. Однако это зависит от самого UEFI.
Однако, если вам действительно нужен экран выбора загрузки, например, если вы загружаетесь в несколько ОС на одной машине, тогда вам может пригодиться небольшой загрузчик.
Я бы подумал об использовании вместо него EXTLINUX . Это вариант SYSLINUX, но он находится в разделах типа ext
.
Прелесть EXTLINUX в том, что, хотя он более расширяемый и имеет гораздо больше возможностей, чем LILO, он может быть таким же простым и активно поддерживается.
Я не помню эквивалента update-grub
. Однако есть более старая система, которая все еще поддерживается в Debian. (Он используется для загрузки на моем сервере ARM).
Самая последняя версия ядра имеет символическую ссылку на / boot / vmlinuz
, а initrd - на /boot/initrd.img
. Он обновляется пакетом ядра. Загрузчик указывает на них и разыменовывает символическую ссылку при каждой загрузке.
Так что у вас вполне может не быть возможности восстановления. В любом случае это не будет наиболее широко проверенный вариант, поэтому еще более желательно иметь рабочий загрузочный диск :-).
Обновление: если вашей целью является что-то иное, чем буквально запуск LILO на современном компьютере, вероятно, есть лучшие альтернативы, как описано в другом (-ых) ответе (-ах) здесь :).
Сказанное выше имеет смысл только для исходной версии LILO, основанной на BIOS. Современное оборудование обеспечивает совместимость с BIOS поверх EFI, если вам не нужна безопасная загрузка или загрузка Windows 8 из того же меню. Теоретически вы можете заставить работать ELILO, но он не поддерживает безопасную загрузку или загрузку Windows 8. ELILO больше не имеет смысла в целом, поэтому я предполагаю, что за этим стоит не так много сообщества.