Re: hda has changed heads

From: Andries Brouwer (aebr@win.tue.nl)
Date: Thu Jan 16 2003 - 16:21:09 EST


On Thu, Jan 16, 2003 at 09:51:34PM +0100, Michael Dreher wrote:
> Hello,
>
>
> Am Samstag, 11. Januar 2003 23:16 schrieb Andries Brouwer:
> > On Sat, Jan 11, 2003 at 10:49:11PM +0100, Michael Dreher wrote:
> > > Basically, I dont care about the new number of heads,
> >
> > Right
> >
> > > but now lilo complains like this (it did not complain before):
> >
> > Try giving LILO the keyword linear or lba32.
> > Then it does not need any idea about the geometry at bootloader
> > install time.
>
> I tried, and it does not work.
>
>
> karpfen:/home/dreher # lilo
> Added testing *
> Added linux
> Added failsafe
> Added linux-2.5.56
> Added linux-2.5.54
> Device 0x0300: Invalid partition table, 2nd entry
> 3D address: 1/0/20 (20160)
> Linear address: 1/12/318 (321300)
>
> Contrary to what it prints here, lilo has added nothing.
>
> It should write the boot sector for windows on /dev/hda5, but can not
> do that because it does not understand the partition table anymore.
>
> My box is running 2.5.56 at the moment.
> I wanted to install 2.5.58. But lilo refuses to change the MBR, because
> of the number of changed heads. Even if I start it as lilo -L.
>
>
> My solution is: reboot into 2.5.54. run lilo there. reboot into 2.5.58.
> Repeat for 2.5.59.
>
> This is annoying. Any ideas how to solve this ?

You have not revealed your lilo version.
The above error message does not occur in a recent lilo,
so probably you have some older version. Looking at a
random older source I see

    if ((lin_3d > part_table[part].start_sect || (lin_3d <
      part_table[part].start_sect && cyl != BIOS_MAX_CYLS-1)) && !nowarn) {
        fflush(stdout);
        fprintf(stderr,"Device 0x%04X: Invalid partition table, %d%s entry\n",
          dev_nr & ~PART_MASK,part+1,!part ? "st" : part == 1 ? "nd" : part ==
          2 ? "rd" : "th");
...
        if (!cfg_get_flag(cf_options,"fix-table") && !cfg_get_flag(cf_options,
          "ignore-table")) exit(1);

So, there is a warning here that is fatal unless nowarn or ignore-table is set.
The nowarn is set by the lilo -w option.
So, try giving lilo the -w flag. Or upgrade to a more recent lilo.

Andries
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jan 23 2003 - 22:00:14 EST