Robert Millan wrote: > On Tue, Sep 09, 2008 at 02:47:11AM +0200, phcoder wrote: >> Robert Millan wrote: >>> On Mon, Sep 08, 2008 at 08:27:05PM +0200, phcoder wrote: >>>> Robert Millan wrote: >>>>> On Thu, Sep 04, 2008 at 11:54:43PM +0200, phcoder wrote: >>>>>> BTW GPT module checks the protective MBR. In some cases when legay OS >>>>>> modified the MBR it's no longer "protective MBR". And in theese cases >>>>>> GRUB will refuse to boot. Isn't the magic number check enough? >>>>> If there's at least one protective GPT partition (0xee), I think this >>>>> should >>>>> be considered enough to accept the partmap as GPT. >>>>> >>>> In GPT module if first partition is not of type 0xee then it's >>>> considered that no GPT is present. Is think that this check is >>>> error-prone (with e.g. bootcamp) and unnecessary >>> Agreed. Can you fix this? >>> >> I send a patch for it. However I couldn't test it because of the bug in >> the make system. About the bug I'll post in appropriate thread. In that >> patch the pc module explicitely checks for the absence of GPT table. IMO >> it's ugly. Another alternative would be to assign priorities to the >> partition tables. I also tried this way and send patch for it. Again I >> couldn't test it. > > This patch looks overly complicated. Fixing the discussed problem ought > to be much simpler... > >> - /* Make sure the MBR is a protective MBR and not a normal MBR. */ >> - if (mbr.entries[0].type != GRUB_PC_PARTITION_TYPE_GPT_DISK) >> - return grub_error (GRUB_ERR_BAD_PART_TABLE, "no GPT partition map >> found"); > > ... here, it'd be just a matter of replacing this hardcoded '0' with an > iterator. > > And maybe something similar for partmap/pc.c. > I don't think that this is enough since with bootcamp you can have a MBR without a protective entry. This leaves us with just two option: priorities and ugly check in partmap/pc.c. I would prefer the first one since the second one is unextensible. With first one I'll be able to do something similar to what you can find in other bootmanagers: ability to have more then one "primary" partition (like in http://symon.ru ). Vladimir 'phcoder' Serbinenko
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel