I'm going to try to keep this as brief as possible
I have a new 40gig drive which I want to use in an old laptop (a Toshiba Tecra 500CDT) dual booting Linux and Win98. I installed Linux ok using /boot as a 30meg partition at the begining of the drive (this booted fine). I then copied a windows install to a 300 meg partition between the linux /boot and / partitions.
This all worked fine on my desktop machine, when I put the drive into the laptop linux boots fine, but when I try to boot win98 I get Grub's "Error: 18 Selected cylinder exceeds maximum supported by BIOS". The windows partition is well below the 8gig and even the 512meg bios size limits, and should be well below the 1024th cylinder. When I type "geometry" on the Grub command line I get 2/255/63 on the laptop and the correct (I think) 4864/255/63 on the desktop. The Grub help says that one can use "geometry" to set the disk's geometry, but I have not managed to get this to work. Also on the laptop when it tried to list the partitions it reports the first partition correctly, but reports 2 and 3 as Error 18.
Something that may or may not be relevant: I have been using Partition Magic (which reports the same 4864/255/63 geometry) for the copying/moving/resizing, and when I tried to use parted it said that it could not align the partitions (or something) and that this may mean that the partition table was wrong.
Also the original laptop hard drive is 1.2gigs and boots fine, I think it's about 2000/16/63. Maybe.
It doesn't look like there are any bios upgrades to help me.
Might the proper use of "geometry" solve my problem, is the partition table at fault, could lilo help at all, or is there anything else any of you good people can help me with?