Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
UEFI(8)			FreeBSD	System Manager's Manual		       UEFI(8)

     UEFI -- Unified Extensible	Firmware Interface bootstrapping procedures

     The UEFI Unified Extensible Firmware Interface provides boot- and run-
     time services to operating	systems.  UEFI is a replacement	for the	legacy
     BIOS on the i386 and amd64	CPU architectures, and is also used on arm64
     and ia64.

     The UEFI boot process loads system	bootstrap code located in an EFI Sys-
     tem Partition (ESP).  The ESP is a	GPT or MBR partition with a specific
     identifier	that contains an msdosfs(5) FAT	file system with a specified
     file hierarchy.

	   Partition Scheme    ESP Identifier
	   GPT		       C12A7328-F81F-11D2-BA4B-00A0C93EC93B
	   MBR		       0xEF

     The UEFI boot process proceeds as follows:
	   1.	UEFI firmware runs at power up and searches for	an OS loader
		in the EFI system partition.  The path to the loader may be
		set by an EFI environment variable.  If	not set, the default
		is /EFI/BOOT/BOOTX64.EFI.  The default UEFI boot configuration
		for FreeBSD installs boot1.efi as /EFI/BOOT/BOOTX64.EFI.
	   2.	boot1.efi reads	boot configuration from	/boot.config or
		/boot/config.  Unlike other first-stage	boot loaders,
		boot1.efi passes the configuration to the next stage boot
		loader and does	not itself act on the contents of the file.
	   3.	boot1.efi searches partitions of type freebsd-ufs and
		freebsd-zfs for	loader.efi.  The search	begins with partitions
		on the device from which boot1.efi was loaded, and continues
		with other available partitions.  If both freebsd-ufs and
		freebsd-zfs partitions exist on	the same device	the
		freebsd-zfs partition is preferred.  boot1.efi then loads and
		executes loader.efi.
	   4.	loader.efi loads and boots the kernel, as described in

     The vt(4) system console is automatically selected	when booting via UEFI.

		   First stage UEFI bootstrap
		   msdosfs(5) FAT file system image containing boot1.efi for
		   use by bsdinstall(8)	and the	bootcode argument to gpart(8).
		   Final stage bootstrap
		   default kernel
		   typical non-default kernel (optional)

     vt(4), boot.config(5), msdosfs(5),	boot(8), gpart(8), uefisign(8)

     UEFI boot support first appeared in FreeBSD 10.1.

     UEFI boot support was developed by	Benno Rice <>,	Ed
     Maste <>, and Nathan Whitehorn
     <>.	The FreeBSD Foundation sponsored portions of
     the work.

     EFI environment variables are not supported by loader(8) or the kernel.

FreeBSD	13.0		       February	11, 2016		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help