GPT boot has less features than legacy MBR-based one (Was: UEFI, loader.efi and /boot.config)

Emmanuel Vadot manu at bidouilliste.com
Fri Jan 18 21:10:23 UTC 2019


On Fri, 18 Jan 2019 22:50:31 +0300
Lev Serebryakov <lev at FreeBSD.org> wrote:

> On 18.01.2019 22:35, Rodney W. Grimes wrote:
> 
> >>> errm.. you press a key and enter device and or loader path. if it is not working - the code is there to be fixed.
> >>  And loader looks to "bootme" attribute and try to boot from partition
> >> which has one, even if it is loaded from other partition itself.
> >>
> >>> GPT does not have the concept of active partition.
> >>  It has "bootme" / "bootonce" attributes. And [zfs]gptboot doesn't have
> >> any tools to set these attributes, AFAIK. Same for UEFI boot code.
> > 
> > The gpart(8) command is used to set/unset these.
>  gpart need booted system. NanoBSD typically have two "system"
> partitions, "old" (previous) and "new" (current). After upgrade they
> switched (new code is written to "previos" partition and bootable
> atteibute is set to it, "active" in case of MBR and "bootme" in case of
> GPT).
> 
>   If this new partition has problems and could not be booted, it is hard
> to boot from "old" (previous) one. MBR + boot0 could (interactively)
> change active partition before system is booted, and this problem could
> be solved with one keypress: you select old partition on boot.
> 
> -- 
> // Lev Serebryakov
> 

 With UEFI Boot* variable you could do :

 - Update previous partition and set BootNext to it
 - If it fail next boot will be on current partition due to BootOrder
 - If it succeed, change the BootOrder to have the new partition first.

-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the freebsd-current mailing list