Date: Mon, 13 Jul 2015 19:19:25 -0600 (MDT) From: Warren Block <wblock@wonkity.com> To: Adrian Chadd <adrian.chadd@gmail.com> Cc: Allan Jude <allanjude@freebsd.org>, Hans Ottevanger <hans@beastielabs.net>, "Andrey V. Elsukov" <bu7cher@yandex.ru>, freebsd-current <freebsd-current@freebsd.org> Subject: Re: Lenovo BIOS boot fix Message-ID: <alpine.BSF.2.20.1507131905460.70573@wonkity.com> In-Reply-To: <CAJ-Vmo=ofDKa5cUsEQh%2B=9CzOPN80yEQQL2meGRcZDW3Qeq2wQ@mail.gmail.com> References: <55A1FFD5.7080008@freebsd.org> <55A2030B.7010405@freebsd.org> <55A2835F.1030004@yandex.ru> <55A2ACDD.408@freebsd.org> <55A36FBE.1020206@beastielabs.net> <55A3D01E.40102@freebsd.org> <alpine.BSF.2.20.1507130915250.56039@wonkity.com> <55A3DF26.5020602@freebsd.org> <CAJ-Vmo=ofDKa5cUsEQh%2B=9CzOPN80yEQQL2meGRcZDW3Qeq2wQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 13 Jul 2015, Adrian Chadd wrote: > I'm really confused. Why is the active flag not set again? > > I thought that was the whole point of the active flag in the partition table. At one point, smart people explained this to me. My fault if I do not remember it correctly (not that it will stop me from attempting an explanation): MBR partitions have active flags. The BIOS is supposed to boot from the one that is set active. It is not required that one be set active, though. Most BIOS systems will still boot without any MBR partitions set active, presumably from the first partition. The PMBR on a GPT disk is a simulation of an MBR. However, according to the GPT standard, that simulated first MBR partition in the PMBR must not be set active. A strict UEFI implementation will *not* boot if there is an active flag set for a PMBR partition. Earlier versions of the FreeBSD PMBR had the PMBR partition set active, which was wrong. The current version is correct. I'm fairly sure we've seen people with both problems on the mailing lists and in the forums: BIOS systems that would not boot without an MBR partition set active, and UEFI systems that would not boot when a PMBR partition was set active. They are rare, but it goes to prove you can't win. (To fix old, incorrect FreeBSD PMBR versions, gpart can be used to set the "active" property on the GPT disk itself, which clears an active flag set on a PMBR partition. So the problem should already be fixed, but this is the "set active" we are talking about.)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.20.1507131905460.70573>