Sometime Today, Kinjal Sonpal assembled some asciibets to say:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 747 6000246 b Win95 FAT32 /dev/hda2 748 995 1992060 b Win95 FAT32 /dev/hda3 996 1245 2008125 5 Extended /dev/hda5 * 996 1200 1646631 83 Linux /dev/hda6 1201 1245 361431 82 Linux swap
Ok, I'd probably also need the output of fdisk under dos, but there are two things I can tell you from this.
1. Why do you have two active partitions? 2. The way windows numbers partitions is like this:
First (C:) active primary dos partition, then (D:, E:, etc) first, second, etc logical drive in extended dos partition, then all other primary partitions.
Note: an extended partition is a primary partition that can contain secondary partitions.
What you have above, is three primary partitions - two windows, and one extended partition.
The problem really is that your two windows partitions are both primary. One of them should have been secondary.
Because of this, the second primary partition which was D: before has become E: now.
Windows does not look at the partition table to find out the type of partition or the size. It looks at the first 256 bytes of a partition. DOS partitions have these bytes zeroed out. If your linux partition also has these bytes zeroed out (which is not impossible), then windows will think that it is a dos drive, and try to show it. Of course, it can't make sense of the data structures on the disk, so tells you that it is invalid media.
How to fix it? I have no idea.
Philip