I started with a working WinXP box with the following configuration:
c: 30gb WD physical disk (/dev/hda) - FAT32 partition
d: 80gb Maxtor physical disk (/dev/hdb) - NTFS boot partition
I read the advisory regarding FC2/Windows dualboot issues, so loaded up FC2 rescue and used fdisk -l /dev/hda to get the following info: 3739 cyl, 255 heads, 63 sectors.
I then started the FC2 install with the command >linux hda=3739,255,63 as per the advisory.
using FC2 installer, I deleted the FAT32 partition on c: and created a 1024 mb swap and filled the rest of the space with an ext2 linux partition. Install reported a problem with hdd geometry but I went ahead anyway, thinking my initial command had things covered. FC2 install finished alright, booted. I had to edit rc.sysinit to get my 3c905A NIC working, but that shouldn't matter. I rebooted, chose "other" at the GRUB prompt, and got the infamous error.
Next, I tried the sfdisk fix as documented in the advisory. Here's the output from my first stage. There were no warnings, so this is unedited:
Code:
# partition table of /dev/hda
unit: sectors
/dev/hda1 : start= 63, size= 57962457, Id=83, bootable
/dev/hda2 : start= 57962520, size= 2104515, Id=82
/dev/hda3 : start= 0, size= 0, Id= 0
/dev/hda4 : start= 0, size= 0, Id= 0
and this is what happened at the second step:
Code:
cat MyPartitionTable.txt | sfdisk --no-reread -H255 /dev/hdaWarning: HDIO_GETGEO says that there are 16 heads
Disk /dev/hda: 59598 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/hda1 * 0+ 3607 3608- 28981228+ 83 Linux
/dev/hda2 3608 3738 131 1052257+ 82 Linux swap
/dev/hda3 0 - 0 0 0 Empty
/dev/hda4 0 - 0 0 0 Empty
New situation:
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/hda1 * 63 57962519 57962457 83 Linux
/dev/hda2 57962520 60067034 2104515 82 Linux swap
/dev/hda3 0 - 0 0 Empty
/dev/hda4 0 - 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
BLKRRPART: Device or resource busy
The command to re-read the partition table failed
Reboot your system now, before using mkfs
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
What strikes me as odd is the fact that its trying to re-read the partition table despite --no-reread being specified at the commandline.
Anybody have any thoughts?