(HOWTO: recover from your NTFS partition being converted to a FAT12 one by the Windows XP recovery console fixboot command.)
What a long fun day... So my Windows wouldn't boot, and I decided to use the fixmbr and fixboot functions to rewrite the boot loader. Long story short, the fixboot command overwrote my NTFS drive C with a FAT12 (FAT16?) boot sector. When I ran chkdsk on C:, it thought it was FAT12, and it found nothing but one log file on the hard disk. I lost 180 gigs of data to the fixboot command, and it 'changed' that partition into a 10MB FAT12 one somehow. It ceased to mount in Linux. Well, it did, kind of: http://xtknight.atothosting.com/Screenshot.png
I decided to backup the FAT12 512 byte boot record to a local file (you know, just in case) with a Linux command like this:
# dd if=/dev/sda1 of=/home/user/sda1boot bs=512 count=1
Now I overwrote the boot record with zeroes to cleanse out the FAT12 stuff.
# dd if=/dev/zero of=/dev/sda1 bs=512 count=1
I then came across a free utility that could be run under MSDOS that would do various data recovery things. http://www.cgsecurity.org/wiki/TestDisk
I tried the Linux version, and much to my dismay, it crashed. However the MS-DOS one worked well (use a Win98 startup disk and put it on there). Once I started that program, I selected my hard disk, and the so-called "NTFS" partition that I lost, went to advanced, and used the Search MFT function. I let it go for a while, and no more than ten minutes later it came up with some information that was supposedly the MFT. I hit 'list files', and voila! My files were back. I chose the Write option to write it to the partition. After I rebooted, I could read my partition just fine and all files were intact.
MS truly isn't lying when they say you shouldn't use fixboot too often. But I didn't know it would overwrite my partition with FAT12 stuff. :roll:
Anyway, as far as I can tell, I can access all files now.
Whether you need to overwrite your boot record with nulls, I'm not sure, but all I can say is the thing works now.
What a long fun day... So my Windows wouldn't boot, and I decided to use the fixmbr and fixboot functions to rewrite the boot loader. Long story short, the fixboot command overwrote my NTFS drive C with a FAT12 (FAT16?) boot sector. When I ran chkdsk on C:, it thought it was FAT12, and it found nothing but one log file on the hard disk. I lost 180 gigs of data to the fixboot command, and it 'changed' that partition into a 10MB FAT12 one somehow. It ceased to mount in Linux. Well, it did, kind of: http://xtknight.atothosting.com/Screenshot.png
I decided to backup the FAT12 512 byte boot record to a local file (you know, just in case) with a Linux command like this:
# dd if=/dev/sda1 of=/home/user/sda1boot bs=512 count=1
Now I overwrote the boot record with zeroes to cleanse out the FAT12 stuff.
# dd if=/dev/zero of=/dev/sda1 bs=512 count=1
I then came across a free utility that could be run under MSDOS that would do various data recovery things. http://www.cgsecurity.org/wiki/TestDisk
I tried the Linux version, and much to my dismay, it crashed. However the MS-DOS one worked well (use a Win98 startup disk and put it on there). Once I started that program, I selected my hard disk, and the so-called "NTFS" partition that I lost, went to advanced, and used the Search MFT function. I let it go for a while, and no more than ten minutes later it came up with some information that was supposedly the MFT. I hit 'list files', and voila! My files were back. I chose the Write option to write it to the partition. After I rebooted, I could read my partition just fine and all files were intact.
MS truly isn't lying when they say you shouldn't use fixboot too often. But I didn't know it would overwrite my partition with FAT12 stuff. :roll:
Anyway, as far as I can tell, I can access all files now.