This email is a warning and solution that I hope will help someone out
there.  Also included (of course) is my fix!

Symptom: After installing Linux Mandrake 7.1, Windows can't read any FAT
drives in the extended partition.

Further description: Computer that I was installing on had a 13G drive
partitioned as follows:
Primary DOS partition: 2 G for Windows.
DOS Extended partition: the rest.
Within that extended partition: 5 G FAT32 data partition for Windows.
The rest I left for Linux partitions.
After installing Mandrake I discovered that Windows could not read
FAT32 partition - seeing as all the programs and data and many
important things for the last six months were installed on the 5G FAT32 I
started to sweat.  Especially since I knew very little about partitions
and the like.   Windows FDISK saw the entire extended partition as
"NON-DOS" and refused to read it.  Mandrake, installed on a
couple partitions at the end of the extended partition, still worked quite
happily.  I was worried that Mandrake had somehow tried to resize the 
5G DOS partition and messed it up, or killed it altogether (which
would have been a Bad Thing).  After
educating myself extremely hurriedly on these topics, I discovered
what the problem was: Mandrake had changed the type of the DOS Extended
partition (that occupied the rest of the disk) from "Extended" to "Linux
Extended" (as seen by fdisk) at some point during the install.  Of course
without telling me about it.
This problem was reproduceable as after fixing it the first time I had to
reinstall Mandrake (for various other complicated reasons) and it did
exactly the same thing again.

The fix:
Note: if you know nothing about partitions don't mess
around with fdisk !! Do as I did and forgo a night's sleep and learn all
you can on the web, docs, etc about what is going on _before_ looking at
fdisk.  Then A) the problem, whether or not it is exactly the same as
here, will be much easier to solve, and B) you will have gained some
valuable knowledge, like I did :)  I intend this email to be a
guide/confirmation/help in pointing out what's wrong; don't leap to do
this if you're not sure that you are having exactly the same problem.

 - boot into Mandrake, or use a rescue disk (which is actually
what I was using as I had rewritten my Master Boot Record from windows
early in the diagnostic process, thinking that was part of the problem,
and thus I couldn't boot Linux anymore).
- Be Root
- run "fdisk /dev/hdX" where X is probably "a" (it was for me) if the
problem is on your first fixed disk.
- VERIFY that this is indeed your problem: type "p"; if your partition
table looks something like this (concoted) example it probably is:
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       243   whatever   6  FAT16
/dev/hda2           244       523   whatever  85  Linux Extended
/dev/hda5           244       399   whatever   6  FAT32
/dev/hda6           400       506   whatever  83  Linux
/dev/hda7           507       523   whatever  82  Linux swap
note how the Linux extended partition takes up the rest of the disk and
the FAT32 partition is contained within it.

- note the number (ie "hda2", "hda3", as you can see in the example it's
2) of the "Linux Extended" partition - it very likely takes up all
the space that isn't used by the first, primary, partition; and most all
other partitions are within it.
- hit ("t") to change the partition type.  First you type the number, then
the new type.  List all of the types and pick the one called
"Extended" (type 5 if I recall).
- write the table to disk
- reboot into Windows, all should be well

If this doesn't fix it or your problem doesn't sound quite the same don't
mess around with fdisk unless you know what you're doing.  Or you might be
using some tools like "gpart" to recover your partitions from scratch :)

If you have the same problem as this and this works then I feel I will
have done my duty in life :)

Mark

------------------------------------------------------
"Science is like sex: sometimes something useful comes out, but that is 
not the reason we are doing it" -- Richard Feynman 


Reply via email to