Skip to contentSkip to conversation

hda has changed heads

DISCUSSION Michael Dreher 2 participants 7 messages Jan 11, 2003 – Jan 16, 2003

lore
Share & tools
lore
#0 lore raw

Hello all,

under 2.5.50 I got the following (sorry for localization):

karpfen:/home/dreher # uname -a
Linux karpfen 2.5.50 #1 Sun Dec 1 21:51:57 CET 2002 i686 unknown

karpfen:/home/dreher # fdisk -l

Festplatte /dev/hda: 255 Köpfe, 63 Sektoren, 4998 Zylinder
Einheiten: Zylinder mit 16065 * 512 Bytes

Gerät boot. Anfang Ende Blöcke Id Dateisystemtyp

/dev/hda1             1        20    160618+  82  Linux Swap
/dev/hda2   *        21       256   1895670    6  FAT16
/dev/hda3           257      3912  29366820   83  Linux
/dev/hda4          3913      4998   8723295    5  Erweiterte
/dev/hda5          3913      4998   8723263+   b  Win95 FAT32

karpfen:/home/dreher # exit

On the other hand, under 2.5.54 (and 2.5.56) I get

karpfen:/usr/src/linux # uname -a
Linux karpfen 2.5.54 #2 Thu Jan 2 22:47:22 CET 2003 i686 unknown

karpfen:/usr/src/linux # fdisk -l

Festplatte /dev/hda: 16 Köpfe, 63 Sektoren, 79656 Zylinder
Einheiten: Zylinder mit 1008 * 512 Bytes

Gerät boot. Anfang Ende Blöcke Id Dateisystemtyp
/dev/hda1 1 319 160618+ 82 Linux Swap
Partition 1 endet nicht an einer Zylindergrenze:

     phys=(19, 254, 63) should be (19, 15, 63)
/dev/hda2   *       319      4080   1895670    6  FAT16
Partition 2 endet nicht an einer Zylindergrenze:
     phys=(255, 254, 63) should be (255, 15, 63)
/dev/hda3          4081     62348  29366820   83  Linux
Partition 3 endet nicht an einer Zylindergrenze:
     phys=(1023, 254, 63) should be (1023, 15, 63)
/dev/hda4         62348     79656   8723295    5  Erweiterte
Partition 4 endet nicht an einer Zylindergrenze:
     phys=(1023, 254, 63) should be (1023, 15, 63)

/dev/hda5 62348 79656 8723263+ b Win95 FAT32

Basically, I dont care about the new number of heads, but now lilo complains like this (it did not complain before):

karpfen:/etc # lilo
Added testing *
Added linux
Added failsafe
Added linux-2.5.54
Added linux-2.5.50
Device 0x0300: Invalid partition table, 2nd entry
3D address: 1/0/20 (20160)
Linear address: 1/12/318 (321300)
karpfen:/etc #

Best wishes,
Michael

#1 lore raw
Quoted 1 line · Michael Dreher

Basically, I dont care about the new number of heads,

Right

Quoted 1 line

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.

Andries

#2 lore raw

Am Samstag, 11. Januar 2003 23:16 schrieben Sie:

Quoted 11 lines · Michael Dreher
Quoted 2 lines

Basically, I dont care about the new number of heads,

Right

Quoted 1 line

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 did already:

karpfen:/home/dreher # more /etc/lilo.conf
boot = /dev/hda
change-rules
reset
read-only
menu-scheme = Wg:kw:Wg:Wg
lba32
prompt
timeout = 80
message = /boot/message

  image  = /boot/bzImage
  label  = testing
  root   = /dev/hda3
  vga    = 791

......

Will try with "linear" next.

Michael

#3 lore raw
In reply to Andries Brouwer

Hello,

Am Samstag, 11. Januar 2003 23:16 schrieb Andries Brouwer:

Quoted 10 lines · Michael Dreher
Quoted 1 line

Basically, I dont care about the new number of heads,

Right

Quoted 1 line

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 ?

Thanks,
Michael

#4 lore raw

Hello,

Quoted 1 line

My solution is: reboot into 2.5.54.

typo. read 2.5.50.

Quoted 3 lines

run lilo there. reboot into 2.5.58. Repeat for 2.5.59.

This is annoying. Any ideas how to solve this ?

Thanks,
Michael

#5 lore raw
In reply to Michael Dreher
Quoted 38 lines · Michael Dreher

Hello,

Am Samstag, 11. Januar 2003 23:16 schrieb Andries Brouwer:

Quoted 10 lines · Michael Dreher
Quoted 1 line

Basically, I dont care about the new number of heads,

Right

Quoted 1 line

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.

Quoted 4 lines

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

#6 lore raw

Re: hda has changed heads [solved]

Am Donnerstag, 16. Januar 2003 22:21 schrieb Andries Brouwer:

Quoted 8 lines · Michael Dreher
Quoted 5 lines

My solution is: reboot into 2.5.50. run lilo there. reboot into 2.5.58.

This is annoying. Any ideas how to solve this ?

You have not revealed your lilo version.

The old version was 22.1. Now I have upgraded to 22.3.2, and it works:

karpfen:/home/dreher # lilo
Warning: Kernel & BIOS return differing head/sector geometries for device 0x80

    Kernel: 14120 cylinders, 16 heads, 63 sectors
      BIOS: 1024 cylinders, 255 heads, 63 sectors

Added testing *
Added linux
Added failsafe
Added linux-2.5.56
Added linux-2.5.50
Added windows

Very good. Thank you very much for your quick help.

Michael