Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Apr 2010 22:15:41 +0400
From:      Andrey V. Elsukov <bu7cher@yandex.ru>
To:        Marcel Moolenaar <xcllnt@mac.com>
Cc:        Lister <lister@kawashti.org>, Marcel Moolenaar <marcel@freebsd.org>, Andriy Gapon <avg@icyb.net.ua>, freebsd-geom@freebsd.org
Subject:   Re: Re: OCE and GPT
Message-ID:  <144661271873741@web84.yandex.ru>
In-Reply-To: <75798832-C041-4796-8C10-5BE61FB7583A@mac.com>
References:  <B814515407B5445092FD63116EA3DA6B@neo> <4BCEE9E2.6010007@yandex.ru> <4BCEEC66.1080804@yandex.ru> <4BCEEF06.8010203@icyb.net.ua> <4BCEF5F8.6090102@yandex.ru> <4BCF04C7.1050701@icyb.net.ua> <50691271872096@web136.yandex.ru> <75798832-C041-4796-8C10-5BE61FB7583A@mac.com>

next in thread | previous in thread | raw e-mail | index | archive | help
21.04.10, 10:59, "Marcel Moolenaar" <xcllnt@mac.com>:
>  UEFI version 2.3, page 99 (paragraph 5.3.1):
>  "Two GPT Header structures are stored on the device: the primary and the
>   backup. The primary GPT Header must be located in LBA 1 (i.e., the second
>   logical block), and the backup GPT Header must be located in the last LBA
>   of the device."

Hi, Marcel

Ok, you are right, but:

GPT Header, page 102 (paragraph 5.3.2):
The following test must be performed to determine if a GPT is valid:
•  Check the Signature
•  Check the Header CRC
•  Check that the MyLBA entry points to the LBA that contains the GUID Partition Table
•  Check the CRC of the GUID Partition Entry Array
If the GPT is the primary table, stored at LBA 1:
•  Check the AlternateLBA to see if it is a valid GPT

So, in our case (when resizing is allowed) it can be more usable to check AlternateLBA (it
can be not equal to last LBA) for correct primary header. IMHO. 

Marcel, what you think about recover and reinit verbs?

-- 
WBR, Andrey V. Elsukov



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?144661271873741>