I run a sata disk as my main - set dual boot win98SE/FC3 - all is ok.
All the following is without the sata installed. The pata is in a caddy.

I have a spare 8Gb (pata) which, at last usage on an old machine, also dual booted Win98SE/ RH9. I do have a backup of the data from this disk so the question is aimed at furthering my understanding of the problem and solutions. Yes, I know I could reformat and start again.

The spare would not boot in my new machine (old one doesn't exist now so can't retry).
error messages - various messages which indicate that the partition or disk size is wrong (too much info to put it all here with the different test configurations).

messed around alot and then fdisk /mbr
now - disk boots to win98SE safe mode (i think its a graphics driver problem). - OK

- running various partition managers (paragon for windows), parted, sfdisk I get indications that the partitions (c.f my table printouts from when the disk was in the old machine) are correct BUT
the overall disk size has a significantly reduced quantity of cylinders (was 1024 - is ~980).

- Using MBRtool look at the content of the MBR. This confirms the small disk size and shows that only two of the four partitions are declared in the MBR. The partitions that are there have CHS values ending outside the declared disk size. (I am aware that linux only uses the relative values). I assume that the internal links between partitions and the MBR are lost or corrupt.

Run knoppix and check the content of the partitions :-
all the data and files appear to be present and correct.
==============
QUESTION

1.
If I run parted using the known partition details will it rewrite the MBR definitions of the 2 missing partitions ?

2.
Is there any way to force the MBR (?? BIOS) to recognise the correct disk size.
I note that an old program cfdisk implies that it can do this - but it is now obsolete and some comments from other forums suggest that it was buggy.

3.
Although the MBR doesn't recognise the linux primary partitions (or those in the ext partition), is there a way to force a linux boot from them ?

==============
Thanks in advance for any suggestions; more data available for specific requests (you don't need the whole sorry history).