1BOOTCTL(1) bootctl BOOTCTL(1)
2
3
4
6 bootctl - Control the firmware and boot manager settings
7
9 bootctl [OPTIONS...] {COMMAND}
10
12 bootctl can check the EFI boot loader status, list available boot
13 loaders and boot loader entries, and install, update, or remove the
14 systemd-boot(7) boot loader on the current system.
15
17 The following options are understood:
18
19 --esp-path=
20 Path to the EFI System Partition (ESP). If not specified, /efi/,
21 /boot/, and /boot/efi/ are checked in turn. It is recommended to
22 mount the ESP to /efi/, if possible.
23
24 --boot-path=
25 Path to the Extended Boot Loader partition, as defined in the Boot
26 Loader Specification[1]. If not specified, /boot/ is checked. It is
27 recommended to mount the Extended Boot Loader partition to /boot/,
28 if possible.
29
30 -p, --print-esp-path
31 This option modifies the behaviour of status. Only prints the path
32 to the EFI System Partition (ESP) to standard output and exits.
33
34 -x, --print-boot-path
35 This option modifies the behaviour of status. Only prints the path
36 to the Extended Boot Loader partition if it exists, and the path to
37 the ESP otherwise to standard output and exit. This command is
38 useful to determine where to place boot loader entries, as they are
39 preferably placed in the Extended Boot Loader partition if it
40 exists and in the ESP otherwise.
41
42 Boot Loader Specification Type #1 entries should generally be
43 placed in the directory "$(bootctl -x)/loader/entries/". Existence
44 of that directory may also be used as indication that boot loader
45 entry support is available on the system. Similarly, Boot Loader
46 Specification Type #2 entries should be placed in the directory
47 "$(bootctl -x)/EFI/Linux/".
48
49 Note that this option (similar to the --print-booth-path option
50 mentioned above), is available independently from the boot loader
51 used, i.e. also without systemd-boot being installed.
52
53 --no-variables
54 Do not touch the firmware's boot loader list stored in EFI
55 variables.
56
57 --no-pager
58 Do not pipe output into a pager.
59
60 -h, --help
61 Print a short help text and exit.
62
63 --version
64 Print a short version string and exit.
65
67 status
68 Shows brief information about the system firmware, the boot loader
69 that was used to boot the system, the boot loaders currently
70 available in the ESP, the boot loaders listed in the firmware's
71 list of boot loaders and the current default boot loader entry. If
72 no command is specified, this is the implied default.
73
74 install
75 Installs systemd-boot into the EFI system partition. A copy of
76 systemd-boot will be stored as the EFI default/fallback loader at
77 ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to the top of
78 the firmware's boot loader list.
79
80 update
81 Updates all installed versions of systemd-boot(7), if the available
82 version is newer than the version installed in the EFI system
83 partition. This also includes the EFI default/fallback loader at
84 ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to end of the
85 firmware's boot loader list if missing.
86
87 remove
88 Removes all installed versions of systemd-boot from the EFI system
89 partition and the firmware's boot loader list.
90
91 random-seed
92 Generates a random seed and stores it in the EFI System Partition,
93 for use by the systemd-boot boot loader. Also, generates a random
94 'system token' and stores it persistently as an EFI variable, if
95 one has not been set before. If the boot loader finds the random
96 seed in the ESP and the system token in the EFI variable it will
97 derive a random seed to pass to the OS and a new seed to store in
98 the ESP from the combination of both. The random seed passed to the
99 OS is credited to the kernel's entropy pool by the system manager
100 during early boot, and permits userspace to boot up with an entropy
101 pool fully initialized very early on. Also see systemd-boot-system-
102 token.service(8).
103
104 See Random Seeds[2] for further information.
105
106 is-installed
107 Checks whether systemd-boot is installed in the ESP. Note that a
108 single ESP might host multiple boot loaders; this hence checks
109 whether systemd-boot is one (of possibly many) installed boot
110 loaders — and neither whether it is the default nor whether it is
111 registered in any EFI variables.
112
113 list
114 Shows all available boot loader entries implementing the Boot
115 Loader Specification[1], as well as any other entries discovered or
116 automatically generated by the boot loader.
117
118 set-default ID, set-oneshot ID
119 Sets the default boot loader entry. Takes a single boot loader
120 entry ID string as argument. The set-oneshot command will set the
121 default entry only for the next boot, the set-default will set it
122 persistently for all future boots.
123
125 On success, 0 is returned, a non-zero failure code otherwise.
126
128 If $SYSTEMD_RELAX_ESP_CHECKS=1 is set the validation checks for the ESP
129 are relaxed, and the path specified with --esp-path= may refer to any
130 kind of file system on any kind of partition.
131
132 Similarly, $SYSTEMD_RELAX_XBOOTLDR_CHECKS=1 turns off some validation
133 checks for the Extended Boot Loader partition.
134
136 systemd-boot(7), Boot Loader Specification[1], Boot Loader
137 Interface[3], systemd-boot-system-token.service(8)
138
140 1. Boot Loader Specification
141 https://systemd.io/BOOT_LOADER_SPECIFICATION
142
143 2. Random Seeds
144 https://systemd.io/RANDOM_SEEDS
145
146 3. Boot Loader Interface
147 https://systemd.io/BOOT_LOADER_INTERFACE
148
149
150
151systemd 243 BOOTCTL(1)