Hi,
I have tried the solution posted on that mailing list to recover dual booting with windows 2000 and it doesn't work. The computer is a Toshiba Portégé 3480CT. Windows 2000 is on the first partition, in a FAT32. I first used a self compiled parted to shrink the fat, the partition table was modified and windows 2000 was unbootable. Then I installed fedora core 2. The partition table was remodified. I can do anything on that computer there is nothing valuable on it. The fedora core 2 is up to date.
The windows friendly CHS is 2432,255,63.
Booting without hda=2432,255,63, I have:
----------------------------------------------------------------------- [root@sissine root]# fdisk -l
Disk /dev/hda: 20.0 GB, 20003880960 bytes 16 heads, 63 sectors/track, 38760 cylinders Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System /dev/hda1 1 8127 4095976+ c W95 FAT32 (LBA) Partition 1 does not end on cylinder boundary. /dev/hda2 * 8129 22345 7164990 83 Linux Partition 2 does not end on cylinder boundary. /dev/hda3 22345 22950 305235 82 Linux swap Partition 3 does not end on cylinder boundary. /dev/hda4 22951 38760 7968240 f W95 Ext'd (LBA) Partition 4 does not end on cylinder boundary. /dev/hda5 22951 38760 7968208+ 83 Linux [root@sissine root]# sfdisk -d /dev/hda # partition table of /dev/hda unit: sectors
/dev/hda1 : start= 63, size= 8191953, Id= c /dev/hda2 : start= 8193150, size= 14329980, Id=83, bootable /dev/hda3 : start= 22523130, size= 610470, Id=82 /dev/hda4 : start= 23133600, size= 15936480, Id= f /dev/hda5 : start= 23133663, size= 15936417, Id=83
[root@sissine root]# -----------------------------------------------------------------------
I try the solution proposed on the mailing list and I get:
----------------------------------------------------------------------- [root@sissine root]# sfdisk -d /dev/hda | sfdisk --no-reread -H255 -C2432 /dev/hda Warning: HDIO_GETGEO says that there are 16 heads Warning: BLKGETSIZE/HDIO_GETGEO says that there are 38760 cylinders
Disk /dev/hda: 2432 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+ 509- 510- 4095976+ c W95 FAT32 (LBA) /dev/hda2 * 510 1401 892 7164990 83 Linux /dev/hda3 1402 1439 38 305235 82 Linux swap /dev/hda4 1440 2431 992 7968240 f W95 Ext'd (LBA) /dev/hda5 1440+ 2431 992- 7968208+ 83 Linux New situation: Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System /dev/hda1 63 8192015 8191953 c W95 FAT32 (LBA) /dev/hda2 * 8193150 22523129 14329980 83 Linux /dev/hda3 22523130 23133599 610470 82 Linux swap /dev/hda4 23133600 39070079 15936480 f W95 Ext'd (LBA) /dev/hda5 23133663 39070079 15936417 83 Linux Warning: partition 1 does not end at a cylinder boundary
sfdisk: I don't like these partitions - nothing changed. (If you really want this, use the --force option.) -----------------------------------------------------------------------
I try with --force:
----------------------------------------------------------------------- [root@sissine root]# sfdisk -d /dev/hda | sfdisk --force --no-reread -H255 -C2432 /dev/hda Warning: HDIO_GETGEO says that there are 16 heads Warning: BLKGETSIZE/HDIO_GETGEO says that there are 38760 cylinders
Disk /dev/hda: 2432 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+ 509- 510- 4095976+ c W95 FAT32 (LBA) /dev/hda2 * 510 1401 892 7164990 83 Linux /dev/hda3 1402 1439 38 305235 82 Linux swap /dev/hda4 1440 2431 992 7968240 f W95 Ext'd (LBA) /dev/hda5 1440+ 2431 992- 7968208+ 83 Linux New situation: Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System /dev/hda1 63 8192015 8191953 c W95 FAT32 (LBA) /dev/hda2 * 8193150 22523129 14329980 83 Linux /dev/hda3 22523130 23133599 610470 82 Linux swap /dev/hda4 23133600 39070079 15936480 f W95 Ext'd (LBA) /dev/hda5 23133663 39070079 15936417 83 Linux Warning: partition 1 does not end at a cylinder boundary 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).) -----------------------------------------------------------------------
It seems to have worked, but windows is still unbootable and nothing changed, and fdisk -l is exactly the same.
I tried to boot with with hda=2432,255,63, and it isn't better:
----------------------------------------------------------------------- [root@sissine root]# fdisk -l
Disk /dev/hda: 20.0 GB, 20003880960 bytes 255 heads, 63 sectors/track, 2432 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/hda1 1 510 4095976+ c W95 FAT32 (LBA) Partition 1 does not end on cylinder boundary. /dev/hda2 * 511 1402 7164990 83 Linux /dev/hda3 1403 1440 305235 82 Linux swap /dev/hda4 1441 2432 7968240 f W95 Ext'd (LBA) /dev/hda5 1441 2432 7968208+ 83 Linux [root@sissine root]# sfdisk -d /dev/hda # partition table of /dev/hda unit: sectors
/dev/hda1 : start= 63, size= 8191953, Id= c /dev/hda2 : start= 8193150, size= 14329980, Id=83, bootable /dev/hda3 : start= 22523130, size= 610470, Id=82 /dev/hda4 : start= 23133600, size= 15936480, Id= f /dev/hda5 : start= 23133663, size= 15936417, Id=83 [root@sissine root]# sfdisk -d /dev/hda | sfdisk --no-reread -H255 -C2432 /dev/hda
Disk /dev/hda: 2432 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+ 509- 510- 4095976+ c W95 FAT32 (LBA) /dev/hda2 * 510 1401 892 7164990 83 Linux /dev/hda3 1402 1439 38 305235 82 Linux swap /dev/hda4 1440 2431 992 7968240 f W95 Ext'd (LBA) /dev/hda5 1440+ 2431 992- 7968208+ 83 Linux New situation: Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System /dev/hda1 63 8192015 8191953 c W95 FAT32 (LBA) /dev/hda2 * 8193150 22523129 14329980 83 Linux /dev/hda3 22523130 23133599 610470 82 Linux swap /dev/hda4 23133600 39070079 15936480 f W95 Ext'd (LBA) /dev/hda5 23133663 39070079 15936417 83 Linux Warning: partition 1 does not end at a cylinder boundary
sfdisk: I don't like these partitions - nothing changed. (If you really want this, use the --force option.) [root@sissine root]# sfdisk -d /dev/hda | sfdisk --no-reread --force -H255 -C2432 /dev/hda
Disk /dev/hda: 2432 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+ 509- 510- 4095976+ c W95 FAT32 (LBA) /dev/hda2 * 510 1401 892 7164990 83 Linux /dev/hda3 1402 1439 38 305235 82 Linux swap /dev/hda4 1440 2431 992 7968240 f W95 Ext'd (LBA) /dev/hda5 1440+ 2431 992- 7968208+ 83 Linux New situation: Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System /dev/hda1 63 8192015 8191953 c W95 FAT32 (LBA) /dev/hda2 * 8193150 22523129 14329980 83 Linux /dev/hda3 22523130 23133599 610470 82 Linux swap /dev/hda4 23133600 39070079 15936480 f W95 Ext'd (LBA) /dev/hda5 23133663 39070079 15936417 83 Linux Warning: partition 1 does not end at a cylinder boundary 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).) [root@sissine root]# -----------------------------------------------------------------------
Still no boot of windows, nothing changed.
Any idea where the trouble is? I can give more informations, make some tests.
Pat
I should add that I don't need windows to work, I never use it but I would like that bug/issue to be resolved.
I attach the mbr # dd bs=512 count=1 if=/dev/hda of=/tmp/mbr.data and the 10 first sectors of /dev/hda1 # dd bs=512 count=10 if=/dev/hda1 of=/tmp/drv.data
Pat