<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI</id>
	<title>Установка Linux на EFI - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://lorwiki.zhbert.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI"/>
	<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI&amp;action=history"/>
	<updated>2026-10-12T23:42:26Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI&amp;diff=391&amp;oldid=prev</id>
		<title>Admin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI&amp;diff=391&amp;oldid=prev"/>
		<updated>2023-02-27T18:39:19Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 21:39, 27 февраля 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI&amp;diff=390&amp;oldid=prev</id>
		<title>lor&gt;Cetjs2: Откат правок 31.173.242.246 (обсуждение) к версии Cetjs2</title>
		<link rel="alternate" type="text/html" href="http://lorwiki.zhbert.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Linux_%D0%BD%D0%B0_EFI&amp;diff=390&amp;oldid=prev"/>
		<updated>2018-05-09T14:43:05Z</updated>

		<summary type="html">&lt;p&gt;Откат правок &lt;a href=&quot;/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/31.173.242.246&quot; title=&quot;Служебная:Вклад/31.173.242.246&quot;&gt;31.173.242.246&lt;/a&gt; (&lt;a href=&quot;/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:31.173.242.246&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Обсуждение участника:31.173.242.246 (страница не существует)&quot;&gt;обсуждение&lt;/a&gt;) к версии &lt;a href=&quot;/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Cetjs2&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Участник:Cetjs2 (страница не существует)&quot;&gt;Cetjs2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Предупреждение ==&lt;br /&gt;
Здесь рассказывается, как сделать так, чтобы ядро Linux загружалось прошивкой (U)EFI без загрузчика типа GRUB. Это нужно далеко не всем. Если вы хотите готовый дистрибутив, например, Ubuntu, поставить на компьютер с UEFI, смотрите инструкцию к своему дистрибутиву. Скорее всего, нужно просто загрузиться с LiveDVD в режиме UEFI, запустить установку обычным способом, и всё настроится автоматически.&lt;br /&gt;
&lt;br /&gt;
== Подготовка дискового пространства ==&lt;br /&gt;
EFI может работать с таблицей разделов MBR, но рекомендуется использовать GPT, поэтому, если нет технических преград, то лучше всего переразметить диск в GPT.&lt;br /&gt;
&lt;br /&gt;
''Стоит отметить, что в некоторых случаях это можно сделать без потери имеющихся разделов — если они не пересекают область, отводимую под GPT (33 сектора в начале и в конце диска)''.&lt;br /&gt;
== Разметка дискового пространства ==&lt;br /&gt;
Первым создаётся загрузочный раздел объёмом не менее 512 MiB (526.7 MB) FAT32 с флагом &amp;lt;tt&amp;gt;esp&amp;lt;/tt&amp;gt; (EFI System Partition), это даст хэш &amp;lt;tt&amp;gt;ef00&amp;lt;/tt&amp;gt; (GPT) или &amp;lt;tt&amp;gt;0xEF&amp;lt;/tt&amp;gt; (MBR). На самом деле, в случае если у Вас GPT, флаг &amp;lt;tt&amp;gt;esp&amp;lt;/tt&amp;gt; это просто алиас на флаг &amp;lt;tt&amp;gt;boot&amp;lt;/tt&amp;gt;. Если что-то сделано не так, ядро (или любой другой загрузчик) не запустятся с этого раздела.&lt;br /&gt;
Хотелось бы добавить, что размер в 512 MiB совсем необязателен для современных систем, минимальный размер данного раздела должен быть не менее суммы размеров ядра и initrd, обычно 50—100 MiB бывает достаточно для домашнего компьютера. &lt;br /&gt;
&lt;br /&gt;
Вообще, загрузочный раздел не обязан быть первым (об этом будет упомянуто ниже), но если Вы захотите переразметить диск, то PARTUID может измениться при перемещении/изменении раздела, потому мы создаём его один раз и навсегда.&lt;br /&gt;
&lt;br /&gt;
В остальном можно разметить диск как угодно, основываясь на документации Вашего дистрибутива или личных пожеланиях.&lt;br /&gt;
&lt;br /&gt;
== Настройка (U)EFI ==&lt;br /&gt;
&lt;br /&gt;
Если ваш дистрибутив поставляет подписанное ядро, то отключать Secure Boot не нужно, иначе ядро не будет загружено.&lt;br /&gt;
&lt;br /&gt;
Если же ваш дистрибутив поставляет неподписанное ядро, или вы не умеете подписывать ядра, то Secure Boot нужно отключить, иначе ядро не будет загружено.&lt;br /&gt;
&lt;br /&gt;
Также желательно отключить CSM (Legacy Mode).&lt;br /&gt;
&lt;br /&gt;
== Подготовка ядра ==&lt;br /&gt;
&lt;br /&gt;
Нельзя просто взять и запустить из EFI любое приложение, потому ядро должно быть собрано соответствующим образом.&lt;br /&gt;
&lt;br /&gt;
Проверьте конфигурацию ядра, данные переменные должны быть включены:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Symbol: EFI_PARTITION [=y]&lt;br /&gt;
 Type  : boolean&lt;br /&gt;
 Prompt: EFI GUID Partition support&lt;br /&gt;
 Location:&lt;br /&gt;
  -&amp;gt; Enable the block layer (BLOCK [=y])&lt;br /&gt;
   -&amp;gt; Partition Types&lt;br /&gt;
    -&amp;gt; Advanced partition selection (PARTITION_ADVANCED [=y])&lt;br /&gt;
 Defined at block/partitions/Kconfig:247&lt;br /&gt;
 Depends on: BLOCK [=y]&lt;br /&gt;
 Selects: CRC32 [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Symbol: EFI [=y]&lt;br /&gt;
 Type  : boolean&lt;br /&gt;
 Prompt: EFI runtime service support&lt;br /&gt;
 Location:&lt;br /&gt;
  -&amp;gt; Processor type and features&lt;br /&gt;
 Defined at arch/x86/Kconfig:1667&lt;br /&gt;
 Depends on: ACPI [=y]&lt;br /&gt;
 Selects: UCS2_STRING [=y] &amp;amp;&amp;amp; EFI_RUNTIME_WRAPPERS [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Symbol: EFI_STUB [=y]&lt;br /&gt;
 Type  : boolean&lt;br /&gt;
 Prompt: EFI stub support&lt;br /&gt;
 Location:&lt;br /&gt;
  -&amp;gt; Processor type and features&lt;br /&gt;
   -&amp;gt; EFI runtime service support (EFI [=y])&lt;br /&gt;
 Defined at arch/x86/Kconfig:1683&lt;br /&gt;
 Depends on: EFI [=y] &amp;amp;&amp;amp; !X86_USE_3DNOW [=n]&lt;br /&gt;
 Selects: RELOCATABLE [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 Symbol: EFI_VARS [=y]&lt;br /&gt;
 Type  : tristate&lt;br /&gt;
 Prompt: EFI Variable Support via sysfs&lt;br /&gt;
 Location:&lt;br /&gt;
  -&amp;gt; Firmware Drivers&lt;br /&gt;
   -&amp;gt; EFI (Extensible Firmware Interface) Support&lt;br /&gt;
 Defined at drivers/firmware/efi/Kconfig:4&lt;br /&gt;
 Depends on: EFI [=y]&lt;br /&gt;
 Selected by: GOOGLE_SMI [=n] &amp;amp;&amp;amp; GOOGLE_FIRMWARE [=n] &amp;amp;&amp;amp; ACPI [=y] &amp;amp;&amp;amp; DMI [=y] &amp;amp;&amp;amp; EFI [=y]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFIVAR_FS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
— включать не нужно.&lt;br /&gt;
&lt;br /&gt;
Если это не так, Вам нужно пересобрать ядро с нужными опциями (для этого обратитесь к соответствующей документации).&lt;br /&gt;
Также желательно указать в &amp;lt;tt&amp;gt;CONFIG_CMDLINE&amp;lt;/tt&amp;gt; путь к root, '&amp;lt;tt&amp;gt;root=/dev/sdXY&amp;lt;/tt&amp;gt;'.&lt;br /&gt;
&lt;br /&gt;
Затем нужно положить ядро и (если есть) initrd в загрузочный раздел. Обычно его кладут в &amp;lt;tt&amp;gt;/boot/EFI/Distro&amp;lt;/tt&amp;gt; (обязательно должен быть каталог EFI (заглавными буквами).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# cp /usr/src/linux/arch/x86/boot/bzImage /boot/EFI/Distro/kernel.efi&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
Вместо &amp;lt;tt&amp;gt;Distro&amp;lt;/tt&amp;gt; — имя дистрибутива, но этого каталога может и не быть. kernel.efi, в зависимости от архитектуры ядра (обратите внимание, некоторые поставщики EFI не опознают архитектуру x86, в таком случае Вам придётся использовать x86_64 (amd64) ядро).&lt;br /&gt;
&lt;br /&gt;
== Подготовка загрузчика ==&lt;br /&gt;
&lt;br /&gt;
Теперь нужно заставить EFI узнать, что у нас есть новое ядро.&lt;br /&gt;
&lt;br /&gt;
Для начала нужно загрузиться в любой дистрибутив в режиме EFI (например, я предпочел SystemRescueCD, потому что в нём уже имеются все необходимые утилиты), для этого нужно в настройках EFI указать приоритет загрузки (если Вы отключили CSM, то диск запустится в режиме EFI) или в меню загрузчика EFI (читайте документацию к своей материнской плате, например, у меня это кнопка F8) выбрать нужный диск с префиксом UEFI.&lt;br /&gt;
&lt;br /&gt;
Все действия, указанные ниже, выполняются от пользователя root.&lt;br /&gt;
&lt;br /&gt;
В первую очередь для работы с EFI нужно подгрузить модуль ядра:&lt;br /&gt;
&amp;lt;pre&amp;gt;# modprobe efivars&amp;lt;/pre&amp;gt;&lt;br /&gt;
Если в Вашем дистрибутиве отсутствует &amp;lt;tt&amp;gt;efibootmgr&amp;lt;/tt&amp;gt;, его нужно установить.&lt;br /&gt;
&lt;br /&gt;
Затем говорим EFI, что теперь есть новое ядро:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# efibootmgr -c -d /dev/sdX -pY -L &amp;quot;My Distro EFI Kernel&amp;quot; -l '\&amp;lt;your_vmlinuz&amp;gt;'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Разберём каждый аргумент по порядку:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; — создать загрузочную запись;&lt;br /&gt;
* &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; — диск, на котором находится ядро, в нашем случае это &amp;lt;tt&amp;gt;/dev/sda&amp;lt;/tt&amp;gt; (у Вас может быть другой диск);&lt;br /&gt;
* &amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt; — раздел, в котором находится ядро, в нашем случае это «&amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt;» (у Вас может быть другой раздел);&lt;br /&gt;
* &amp;lt;tt&amp;gt;-L&amp;lt;/tt&amp;gt; — отображаемое имя в списке, в нашем случае это «&amp;lt;tt&amp;gt;My Distro EFI Kernel&amp;lt;/tt&amp;gt;», здесь можно оставить место для фантазии, но стоит учесть, что кириллицу и спецсимволы прошивка EFI может не поддерживать;&lt;br /&gt;
* &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; — путь к ядру, в нашем случае это &amp;lt;tt&amp;gt;\EFI\Distro\Boot64.efi&amp;lt;/tt&amp;gt;, обратите внимание, что EFI использует '''обратный слэш''' в пути;&lt;br /&gt;
* &amp;lt;tt&amp;gt;-u&amp;lt;/tt&amp;gt; — опции, передаваемые ядру, здесь указывается раздел, где установлен Ваш дистрибутив (пользователям systemd нужно добавить &amp;lt;tt&amp;gt;init=/usr/lib/systemd/systemd&amp;lt;/tt&amp;gt; перед &amp;lt;tt&amp;gt;quiet&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Вы также можете отсортировать меню загрузки, удалить ненужные пункты, отключить их и т. д. Все возможности перечислены в &amp;lt;tt&amp;gt;man efibootmgr&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь можно перезагрузить компьютер и загрузиться с собранного ядра.&lt;br /&gt;
&lt;br /&gt;
Eсли / расположен на подтоме btrfs, нужно в опциях так же указать rootflags=subvol=&amp;lt;subvolume_with_/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== systemd-boot ===&lt;br /&gt;
Простой менеджер загрузки для UEFI систем ранее известный как gummiboot. Устанавливается в ESP, ядра для загрузки тоже должны находиться на том же разделе. При использовании systemd-boot удобно монтировать ESP как /boot&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# bootctl --path=esp install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Где esp, путь до смонтированного esp. Далее следует поместить ядро и initramfs на тот же esp раздел.&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Конфигурация состоит из основного файла меню и конфигурации отдетных записей (пунктов) меню.&lt;br /&gt;
&lt;br /&gt;
Основные параметры конфигурации разположены в &amp;lt;tt&amp;gt;esp/loader/loader.conf&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default arch&lt;br /&gt;
timeout 3&lt;br /&gt;
editor 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где, &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt; — пункт меню загружаемый по умолчанию, имя файла без .conf; &amp;lt;tt&amp;gt;timeout&amp;lt;/tt&amp;gt; — время отображения загрузочного меню, при 0 меню отображаться не будет; &amp;lt;tt&amp;gt;editor&amp;lt;/tt&amp;gt; — будет ли доступен редактор параметров загрузки. &lt;br /&gt;
&lt;br /&gt;
Конфигурация пунктов загрузочного меню хранится в файлах &amp;lt;tt&amp;gt;esp/loader/entries/*.conf&amp;lt;/tt&amp;gt;, например&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
title          Arch Linux&lt;br /&gt;
linux          /vmlinuz-linux&lt;br /&gt;
initrd         /initramfs-linux.img&lt;br /&gt;
options        root=PARTUUID=14420948-2cea-4de7-b042-40f67c618660 rw&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>lor&gt;Cetjs2</name></author>
	</entry>
</feed>