[systemd-devel] Partition discovery broken, invalid UUID in efi variable

Kay Sievers kay at vrfy.org
Fri Mar 21 11:14:00 PDT 2014


On Fri, Mar 21, 2014 at 6:24 PM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
> On Fri, Mar 21, 2014 at 06:04:24PM +0100, Kay Sievers wrote:
>>On Fri, Mar 21, 2014 at 5:55 PM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
>>> On Fri, Mar 21, 2014 at 05:43:48PM +0100, Kay Sievers wrote:
>>>> On Fri, Mar 21, 2014 at 8:28 AM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
>>>> > While trying to use the discovereable partitions stuff I ran into the following:
>>>> >
>>>> > Running systemd-efi-boot-generator on my machine results in:
>>>> > "Failed to read ESP partition UUID: Input/output error"
>>>> > The cause for this is that, the efi variable LoaderDevicePartUUID which is
>>>> > supposed to hold an UUID only contains the literal string "ESP", which can't be
>>>> > parsed by systemd.
>>>>
>>>> What does this say on your box?
>>>>   $ cat /sys/firmware/efi/efivars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
>>>>    Acpi(PNP0A03,0)/Pci(1F|2)/?/HD(Part1,Sig000012AF-0666-0000-EA27-0000D6190000)
>>>
>>> $ cat /sys/firmware/efi/efivars/LoaderDeviceIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
>>> Acpi(PNP0A03,0)/Pci(1F/2)/?/HD(Part1,SigESP)
>>
>> Your setup uses the *type* UUID for the EFI system partition as the
>> *object* UUID of the partition?
>>
>> If that's the case, this cannot really work, object UUIDs need to be
>> unique, created from randomness, not pre-defined.
>
> This did also seem wrong to me. So it is definitevely a broken system and no
> configuration error on my part?

Whatever tool created the EFI system partition in the GPT table did it wrong.

That the well-known UUIDs are translated to a string is a gnuefi lib
stupidity. You would need to change the GPT entry to have a random
object UUID, then all should work on gummiboot + systemd side.

But be careful, if you have Windows installed, it might (I don't know)
have trouble when the UUID is changed.

Kay


More information about the systemd-devel mailing list