跳转到主要内容

systemd-efivars-clear.service

systemd

systemd-efivars-clear.service

8

systemd-efivars-clear.service

Request that the boot loader's EFI variables are erased on next boot

systemd-efivars-clear.service

/usr/lib/systemd/systemd-efivars-clear

Description

systemd-efivars-clear.service is a service that requests that systemd-boot(7) erases all EFI variables owned by the boot loader and by systemd on the next boot. It does so by setting the LoaderFactoryResetVariables EFI variable. Note that this service does not immediately erase any variables, but simply asks the boot loader to do so at next boot, where the user will be asked for confirmation before the operation is done. After erasing the variables the boot loader reboots the system.

The EFI variables erased are all those in the Boot Loader Interface vendor UUID namespace (4a67b082-0a4c-41cf-b6c7-440b29bb8c4f) and in systemd's own vendor UUID namespace (8cf2644b-4b0b-428f-9387-6d876050dc67), with the exception of the FactoryResetRequest variable, which is retained so that the factory reset of the OS itself can take place on the subsequent boot.

systemd-efivars-clear.service is typically hooked into the factory-reset.target unit in order to issue the request before an immediate reboot. A pending request is withdrawn again by systemd-factory-reset cancel, see systemd-factory-reset(8). See Factory Reset for more information.

Options

The following options are understood:

--graceful
Exit cleanly and execute no operation if the system was not booted via UEFI, or the boot loader does not support erasing EFI variables.

Kernel Command Line

systemd-efivars-clear understands the following kernel command line parameters:

systemd.efivars_allow_clear=
Takes a boolean argument. If false the service will succeed, but instead of requesting the erase operation from the boot loader it will not execute any operation. If not specified defaults to true.

See Also

systemd(1), systemd-boot(7), systemd-tpm2-clear.service(8), systemd-factory-reset-request.service(8)