2018-03-11 11:22:09 +01:00
<?xml version='1.0'?> <!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX - License - Identifier: LGPL - 2.1+ -->
2018-06-15 14:25:22 +09:00
<refentry id= "systemd-boot" conditional= 'ENABLE_EFI'
2018-03-11 11:22:09 +01:00
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo >
2018-06-15 14:25:22 +09:00
<title > systemd-boot</title>
2018-03-11 11:22:09 +01:00
<productname > systemd</productname>
</refentryinfo>
<refmeta >
2018-06-15 14:25:22 +09:00
<refentrytitle > systemd-boot</refentrytitle>
2018-03-11 11:22:09 +01:00
<manvolnum > 7</manvolnum>
</refmeta>
<refnamediv >
2018-06-15 14:25:22 +09:00
<refname > systemd-boot</refname>
2018-03-11 11:22:09 +01:00
<refname > sd-boot</refname>
<refpurpose > A simple UEFI boot manager</refpurpose>
</refnamediv>
<refsect1 >
<title > Description</title>
2018-06-20 11:59:11 +02:00
<para > <command > systemd-boot</command> (short: <command > sd-boot</command> ) is a simple UEFI boot manager. It
provides a graphical menu to select the entry to boot and an editor for the kernel command line. systemd-boot
2018-06-22 13:03:21 +02:00
supports systems with UEFI firmware only.</para>
2018-06-20 11:59:11 +02:00
<para > systemd-boot loads boot entry information from the EFI system partition (ESP), usually mounted at
<filename > /boot</filename> , <filename > /efi</filename> , or <filename > /boot/efi</filename> during OS
runtime. Configuration file fragments, kernels, initrds and other EFI images to boot generally need to reside on
the ESP. Linux kernels must be built with <option > CONFIG_EFI_STUB</option> to be able to be directly executed as an
EFI image. During boot systemd-boot automatically assembles a list of boot entries from the following
sources:</para>
<itemizedlist >
<listitem > <para > Boot entries defined with <ulink
url="https://github.com/systemd/systemd/blob/master/doc/BOOT_LOADER_SPECIFICATION.md">Boot Loader
Specification</ulink> description files located in <filename > /loader/entries/</filename> on the ESP. These
usually describe Linux kernel images with associated initrd images, but alternatively may also describe
arbitrary other EFI executables.</para> </listitem>
<listitem > <para > Unified kernel images following the <ulink
2018-06-22 13:03:21 +02:00
url="https://github.com/systemd/systemd/blob/master/doc/BOOT_LOADER_SPECIFICATION.md">Boot Loader
Specification</ulink> , as executable EFI binaries in <filename > /EFI/Linux/</filename> on the ESP.
</para> </listitem>
2018-06-20 11:59:11 +02:00
<listitem > <para > The Microsoft Windows EFI boot manager, if installed</para> </listitem>
<listitem > <para > The Apple MacOS X boot manager, if installed</para> </listitem>
<listitem > <para > The EFI Shell binary, if installed</para> </listitem>
<listitem > <para > A reboot into the UEFI firmware setup option, if supported by the firmware</para> </listitem>
</itemizedlist>
<para > <citerefentry > <refentrytitle > kernel-install</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry> may be
used to copy kernel images onto the ESP and to generate description files compliant with the Boot Loader
Specification. <citerefentry > <refentrytitle > bootctl</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> may be
used from a running system to locate the ESP, list available entries, and install systemd-boot itself.</para>
<para > systemd-boot will provide information about the time spent in UEFI firmware using the <ulink
url="https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface">Boot Loader Interface</ulink> . This
information can be displayed using
2018-03-11 11:22:09 +01:00
<citerefentry > <refentrytitle > systemd-analyze</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> .
</para>
</refsect1>
<refsect1 >
<title > Key bindings</title>
<para > The following keys may be used in the boot menu:</para>
<variablelist >
<varlistentry >
<term > ↑ (Up)</term>
<term > ↓ (Down)</term>
<term > j</term>
<term > k</term>
<term > PageUp</term>
<term > PageDown</term>
<term > Home</term>
<term > End</term>
<listitem > <para > Navigate up/down in the entry list</para> </listitem>
</varlistentry>
<varlistentry >
<term > ↵ (Enter)</term>
<listitem > <para > Boot selected entry</para> </listitem>
</varlistentry>
<varlistentry >
<term > d</term>
<listitem > <para > Make selected entry the default</para> </listitem>
</varlistentry>
<varlistentry >
<term > e</term>
<listitem > <para > Edit the kernel command line for selected entry</para> </listitem>
</varlistentry>
<varlistentry >
<term > +</term>
<term > t</term>
<listitem > <para > Increase the timeout before default entry is booted</para> </listitem>
</varlistentry>
<varlistentry >
<term > -</term>
<term > T</term>
<listitem > <para > Decrease the timeout</para> </listitem>
</varlistentry>
<varlistentry >
<term > v</term>
2018-06-15 14:25:22 +09:00
<listitem > <para > Show systemd-boot, UEFI, and firmware versions</para> </listitem>
2018-03-11 11:22:09 +01:00
</varlistentry>
<varlistentry >
<term > P</term>
<listitem > <para > Print status</para> </listitem>
</varlistentry>
<varlistentry >
<term > Q</term>
<listitem > <para > Quit</para> </listitem>
</varlistentry>
<varlistentry >
<term > h</term>
<term > ?</term>
<listitem > <para > Show a help screen</para> </listitem>
</varlistentry>
<varlistentry >
<term > Ctrl + l</term>
<listitem > <para > Reprint the screen</para> </listitem>
</varlistentry>
</variablelist>
<para > The following keys may be used during bootup or in the boot menu to
directly boot a specific entry:</para>
<variablelist >
<varlistentry >
<term > l</term>
<listitem > <para > Linux</para> </listitem>
</varlistentry>
<varlistentry >
<term > w</term>
<listitem > <para > Windows</para> </listitem>
</varlistentry>
<varlistentry >
<term > a</term>
<listitem > <para > OS X</para> </listitem>
</varlistentry>
<varlistentry >
<term > s</term>
<listitem > <para > EFI shell</para> </listitem>
</varlistentry>
<varlistentry >
<term > 1</term>
<term > 2</term>
<term > 3</term>
<term > 4</term>
<term > 5</term>
<term > 6</term>
<term > 7</term>
<term > 8</term>
<term > 9</term>
2018-06-20 11:59:11 +02:00
<listitem > <para > Boot entry number 1 … 9</para> </listitem>
2018-03-11 11:22:09 +01:00
</varlistentry>
</variablelist>
<para > In the editor, most keys simply insert themselves, but the following keys
may be used to perform additional actions:</para>
<variablelist >
<varlistentry >
<term > ← (Left)</term>
<term > → (Right)</term>
<term > Home</term>
<term > End</term>
<listitem > <para > Navigate left/right</para> </listitem>
</varlistentry>
<varlistentry >
<term > Esc</term>
<listitem > <para > Abort the edit and quit the editor</para> </listitem>
</varlistentry>
<varlistentry >
<term > Ctrl + k</term>
<listitem > <para > Clear the command line</para> </listitem>
</varlistentry>
<varlistentry >
<term > Ctrl + w</term>
<term > Alt + Backspace</term>
<listitem > <para > Delete word backwards</para> </listitem>
</varlistentry>
<varlistentry >
<term > Alt + d </term>
<listitem > <para > Delete word forwards</para> </listitem>
</varlistentry>
<varlistentry >
<term > ↵ (Enter)</term>
<listitem > <para > Boot entry with the edited command line</para> </listitem>
</varlistentry>
</variablelist>
2018-06-15 14:25:22 +09:00
<para > Note that unless configured otherwise in the UEFI firmware, systemd-boot will
2018-03-11 11:22:09 +01:00
use the US keyboard layout, so key labels might not match for keys like +/-.
</para>
</refsect1>
2018-06-20 11:59:11 +02:00
<refsect1 >
<title > Files</title>
<para > The files systemd-boot reads generally reside on the UEFI ESP which is usually mounted to
<filename > /boot/</filename> , <filename > /efi/</filename> or <filename > /boot/efi</filename> during OS
runtime. systemd-boot reads runtime configuration such as the boot timeout and default entry from
<filename > /loader/loader.conf</filename> on the ESP (in combination with data read from EFI variables). See
<citerefentry > <refentrytitle > loader.conf</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> . Boot entry
description files following the <ulink
url="https://github.com/systemd/systemd/blob/master/doc/BOOT_LOADER_SPECIFICATION.md">Boot Loader
Specification</ulink> are read from <filename > /loader/entries/</filename> on the ESP. Unified kernel boot entries
following the <ulink url= "https://github.com/systemd/systemd/blob/master/doc/BOOT_LOADER_SPECIFICATION.md" > Boot
Loader Specification</ulink> are read from <filename > /EFI/Linux/</filename> on the ESP.</para>
</refsect1>
2018-03-11 11:22:09 +01:00
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > bootctl</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > loader.conf</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
2018-06-20 11:56:39 +02:00
<ulink url= "https://github.com/systemd/systemd/blob/master/doc/BOOT_LOADER_SPECIFICATION.md" > Boot Loader Specification</ulink> ,
<ulink url= "https://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface" > Boot Loader Interface</ulink>
2018-03-11 11:22:09 +01:00
</para>
</refsect1>
</refentry>