I'm seeing the partition complaints from the FC3 installer that I find many references to elsewhere, but I'm not experiencing the same symptom. Most people complain that once the FC3 installer corrupts the partition table, Windows will no longer boot. I was able to fix that problem with 'fdisk /mbr' from an old Win 98 boot floppy, so now my original Win XP Pro installation on hda boots fine.
My problem is that I still can't install FC3 because of the 'probe partition for geom failed' errors I get throughout the steps in anaconda. Finally when it gets to checking packages anaconda fails completely.
Background:Started with plain old Win XP Pro machine. Installed FC4 using graphical installer. All was well (could boot FC4 or XP), but FC4 wasn't cutting it because I'm trying to build a MythTV machine and there is too much supporting stuff not available for FC4 yet. So I figured I'd install FC3 instead, which is known to work well with MythTV. It was as I was going through the FC3 install (graphical) that I started getting the disk geom errors. (I don't really care about the answer, but was it the FC4 installer screwed up my partition table? If so the problem has been around since FC2 and one would think it would be fixed by now). I wanted to leave hda alone (except for installing GRUB in the MBR) and install Fedora on hdc. So I'm pretty confused why the partition table on hda was touched at all.
When attempting to install FC3, I get the same errors that tastefulasever reports here:
http://forums.fedoraforum.org/archive/index.php/t-23251.html
Namely:
"assertion (heads<256) at disk_dos.c: 472 in function probe_partition_for_geom() failed."
"Assertion (sectors <= 63) at disk_dos.c:476 in function probe_partition_for_geom() failed."
"Assertion (heads>0) at disk_dos.c:476 in function probe_partition_for_geom() failed."
etc. dozens of times while stepping through anaconda.
I have read the proposed solution by Radu Cornea here:
http://www.redhat.com/archives/fedora-test-list/2004-May/msg02114.html
which is refined by Jack Aboutboul here:
http://lwn.net/Articles/86835/
But that procedure suggests rebuilding the partition table manually with (hopefully) valid partition data.
My problem is that the output I get from fdisk/sfdisk doesn't look valid.
Here's what DISKPART from the XP Recovery Console says is on my Drive 0 (hda):
Code:
78160 MB Disk 0 at Id 0 on bus 0 an atapi [MBR]
C: Partition1 [NTFS] 15296 MB ( 4184 MB free)
D: Partition2 [NTFS] 62864 MB ( 14120 MB free)
That appears correct, and in fact when I boot normally into Windows XP my C: and D: drives are working fine.
But here's what I get from sfdisk (once in block units and once in sector units):
Code:
# sfdisk /dev/hda
Disk /dev/hda: 158816 cylinders, 16 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Old situation:
Warning: The partition table looks like it was made
for C/H/S=*/255/63 (instead of 158816/16/63).
For this listing I'll assume that geometry.
Unit = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hda1 * 0+ 1949 1950- 15663343 7 HPFS/NTFS
end: (c,h,s) expected (1023,254,63) found (925,254,63)
/dev/hda2 1950 9963 8014 64372455 f W95 Ext'd (LBA)
start: (c,h,s) expected (1023,254,63) found (926,0,1)
end: (c,h,s) expected (1023,254,63) found (747,254,63)
/dev/hda3 0 - 0 0 0 Empty
/dev/hda4 0 - 0 0 0 Empty
/dev/hda5 1950+ 9963 8014- 64372423+ 7 HPFS/NTFS
start: (c,h,s) expected (1023,254,63) found (926,1,1)
end: (c,h,s) expected (1023,254,63) found (747,254,63)
# sfdisk -uS /dev/hda
Disk /dev/hda: 158816 cylinders, 16 heads, 63 sectors/track
Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Old situation:
Warning: The partition table looks like it was made
for C/H/S=*/255/63 (instead of 158816/16/63).
For this listing I'll assume that geometry.
Unit = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/hda1 * 63 31326749 31326687 7 HPFS/NTFS
end: (c,h,s) expected (1023,254,63) found (925,254,63)
/dev/hda2 31326750 160071659 128744910 f W95 Ext'd (LBA)
start: (c,h,s) expected (1023,254,63) found (926,0,1)
end: (c,h,s) expected (1023,254,63) found (747,254,63)
/dev/hda3 0 - 0 0 Empty
/dev/hda4 0 - 0 0 Empty
/dev/hda5 31326813 160071659 128744847 7 HPFS/NTFS
start: (c,h,s) expected (1023,254,63) found (926,1,1)
end: (c,h,s) expected (1023,254,63) found (747,254,63)
and here's what I get from fdisk (again, once in blocks and once in sectors):
Code:
# fdisk /dev/hda
The number of cylinders for this disk is set to 9964.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups caise problems with:
1) software that runs at boot time (e.g. old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1950 15663343+ 7 HPFS/NTFS
/dev/hda2 1951 9964 64372455 f W95 Ext'd (LBA)
/dev/hda5 1951 9964 64372423+ 7 HPFS/NTFS
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/hda: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders, total 160086528 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 63 31326749 15663343+ 7 HPFS/NTFS
/dev/hda2 31326750 160071659 64372455 f W95 Ext'd (LBA)
/dev/hda5 31326813 160071659 64372423+ 7 HPFS/NTFS
Notice that in both sfdisk and fdisk output, the hda2 and hda5 partitions appear to reside in the same place on the disk. How can that be?
I also tried ficing the geometry as described
here :
Code:
sfdisk -d /dev/hda | sfdisk --no-reread -H240 /dev/hda
but that command fails due to 'extended partition does not start at a cylinder boundary'.
Finally, I also tried starting the installer with "correct geometry" as suggested by
Jack Aboutboul, using the CHS values reported by fdisk above:
Code:
boot: linux hda=9964,255,63
But I still get all of the same geom errors while running anaconda.
Any advice on how I should fix my partition table to make anaconda happy? I have the important stuff from those Win XP C: and D: drives backed up, but I'd really rather not rebuild that Windows installation if I can avoid it.
Thanks in advance for any help you can give.