SYSTEMD-BOOT(7) systemd-boot SYSTEMD-BOOT(7) systemd-boot sd-boot - UEFI systemd-boot (: sd-boot) UEFI . . systemd-boot UEFI . systemd-boot EFI (ESP) /efi/ /boot/ /boot/efi/ (XBOOTLDR) ( /boot/). initrd EFI ESP . Linux CONFIG_EFI_STUB EFI. systemd-boot : o 1 UAPI.1 [1] /loader/entries/ ESP . Linux initrd EFI . o 2 UAPI.1 [1] EFI /EFI/Linux/ ESP . o EFI . o Apple macOS . o EFI Shell . o " " UEFI. o UEFI ESP. systemd-boot : o ( ...) EFI. o systemctl systemctl reboot --boot-loader-entry=... ( " ") systemctl reboot --boot-loader-menu=... ( ) [2]. systemctl(1) . o EFI EFI . EFI /efi/ /boot/ . systemd-gpt-auto-generator(8) . o UEFI [2]. systemd-analyze(1). o . [3]. o ESP ' ' EFI . o UEFI . . bootctl(1) ESP systemd-boot . kernel-install(8) ESP . systemd-stub(7) UEFI Linux. ( ) . : ^ () v () j k PageUp PageDown Home End / 239. () -> () 239. d EFI . 260. D EFI . 260. e 239. +, t EFI . 239. -, T EFI . 239. r . EFI . 250. R . EFI . 250. p 250. h, ?, F1 239. f . F2 F10 Del Esc. 250. Shift+o . 255. Shift+b . 255. : l 239. w Windows 239. a macOS 239. s EFI 239. 1, 2, 3, 4, 5, 6, 7, 8, 9 1 ... 9 239. . ( ) . . . . . . systemctl reboot --boot-loader-menu= . : <- () -> () / 239. Ctrl+c 239. Ctrl+k 239. Ctrl+w Alt+Backspace 239. Ctrl+Del Alt+d 239. () 239. UEFI systemd-boot +/-. systemd-boot ESP UEFI /efi/ /boot/ /boot/efi/ . /boot/ . systemd-boot /loader/loader.conf ESP ( EFI). loader.conf(5). UAPI.1 Boot Loader Specification[1] /loader/entries/ ESP . UAPI.1 Boot Loader Specification[1] /EFI/Linux/ ESP . /loader/random-seed ESP. systemd-boot /EFI/systemd/drivers/ ESP. EFI .efi ( x86-64 x64.efi). . /loader/keys/NAME/{db,dbx,KEK,PK}.auth NAME . auto "secure-boot-enroll". loader.conf(5). EFI EFI systemd-boot . UUID "4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" . LoaderBootCountPath . . systemd-bless-boot.service(8) boot-complete.target. 240. LoaderConfigTimeout LoaderConfigTimeoutOneShot . . LoaderConfigTimeout LoaderConfigTimeoutOneShot ( LoaderConfigTimeout) . LoaderConfigTimeout t/T . 240. LoaderConfigConsoleMode . . LoaderConfigConsoleMode . LoaderConfigConsoleMode r/R . 250. LoaderDevicePartUUID UUID ( EFI). . ( systemd-stub(7) .) systemd-gpt-auto-generator(8) . 220. LoaderDeviceURL URL . . 258. LoaderEntries . . 240. LoaderEntryPreferred LoaderEntryDefault LoaderEntrySysFail LoaderEntryOneShot . . LoaderEntryOneShot LoaderEntryDefault . LoaderEntryPreferred LoaderEntryDefault . bootctl(1) set-default set-oneshot . LoaderEntryDefault d . 240. LoaderEntryLastBooted . /loader/loader.conf "@saved". loader.conf(5). LoaderEntryLastBooted LoaderEntryOneShot. LoaderEntryDefault. LoaderEntryOneShot. LoaderEntryLastBooted . 250. LoaderEntrySelected . . 240. LoaderFeatures . . bootctl(1) . 240. LoaderFirmwareInfo LoaderFirmwareType . . bootctl(1) . 240. LoaderTpm2ActivePcrBanks TCG EFI TPM 2.0 EFI_TCG2_BOOT_HASH_ALG_*. TPM2 0. . systemd-analyze(1) . 258. LoaderImageIdentifier EFI ( LoaderDevicePartUUID ). . ( systemd-stub .) bootctl(1) . 220. LoaderInfo . . bootctl(1) . 240. LoaderTimeExecUSec LoaderTimeInitUSec LoaderTimeMenuUsec . . systemd-analyze(1) . 240. LoaderSystemToken ( ). . 243. [2]. SMBIOS 11 systemd-boot SMBIOS 11. "=" . systemd-boot systemd-boot . : io.systemd.boot.kernel-cmdline-extra 1 PCR12 . 256. io.systemd.boot-entries.extra:ID= systemd-boot. . #1 ( ) #1. #1 ESP XBOOTLDR. : io.systemd.boot-entries.extra:fooos-current.conf=title FooOS (Current) uki-url http://example.com/somedir/fooos.efi . . . 258. io.systemd.boot.loglevel . ( ) "emerg" "alert" "crit" "err" "warning" "notice" "info" "debug". 259. systemd-boot UAPI.1[1] / . "+" ( "-") .conf .efi : (' ') (' ') ( ' ' 0). : 1. ' ' ' '. . 2. ' ' ''. ( '') . 3. ' ' ' ' ''. . systemd-bless-boot.service(8) ' ' '' . ' ' ' ' . ( '') -- ' ' ( ''). : foo.conf 3 . foo+3.conf. foo+2-1.conf. foo+1-2.conf . foo+0-3.conf ''. foo.conf '' . ' ' : '' '' ' ' . ''. '' ' ' ( ) '' '' ' '. kernel-install(8) ' ' /etc/kernel/tries . SYSTEMD-BOOT qemu[4] OVMF[5] ( UEFI ) -kernel EFI systemd-boot (UKIs). systemd-boot x64: qemu-system-x86_64 -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2 -kernel /usr/lib/systemd/boot/efi/systemd-bootx64.efi -drive file=... [ ... ] ( .) systemd-boot ESP ESP ( ). -drive ESP. bootctl(1), loader.conf(5), systemd-bless-boot.service(8), systemd-boot-random-seed.service(8), kernel-install(8), systemd-stub(7), UAPI.1[1], [2], TPM2 PCR systemd[6] 1. UAPI.1 https://uapi-group.org/specifications/specs/boot_loader_specification 2. https://systemd.io/BOOT_LOADER_INTERFACE 3. https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT 4. qemu https://www.qemu.org/docs/master/ 5. OVMF https://www.linux-kvm.org/downloads/lersek/ovmf-whitepaper-c770f8c.txt 6. TPM2 PCR systemd https://systemd.io/TPM2_PCR_MEASUREMENTS 3 . . : . systemd 260.2 SYSTEMD-BOOT(7)