PSRumbagh said:
My external USB 2.0 hard drive (H
is a 250 GB Seagate Free Agent about 22
months old. Windows XP Home SP3 is no longer recognizing it. "Device
Manager" sometimes says that it is working properly, other times that there
is no driver installed. "Properties" shows File system = RAW (used to be
FAT32), used = 0 bytes, free = 0 bytes. For the last several weeks I have
been getting warnings that there are mixed file types on it during boot up.
Several shut downs ago I got warning that a write to H: had failed. Hard
drive "ON" light is on and disk is spinning. USB port is working OK. I
don't have another PC to test hard drive on. Has Seagate had a catastrophic
failure or something else perhaps OS?
If it was a problem with the partition table, you could try the
Testdisk program. But for it to work, you need working hardware.
If the disk is failing, such a repair attempt could make things
worse. Downloading the Seagate diagnostic would be the first step.
Testdisk is here.
The first link, shows some of the capabilities in terms of repair.
You don't necessarily have to go through all the steps shown. This
example is intended to demonstrate how the program interface works.
http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step
The download links are here. Unzip to get at the executable.
And remember that you can use <control>-C to quit the program
at any time.
http://www.cgsecurity.org/wiki/TestDisk_Download
I've only used TestDisk, to put back an MBR on my Windows boot
drive, after a Linux install wiped it out. I haven't
tried it on a busted partition. Remember, that it is a
"repair in place" utility, so if something goes wrong,
the results could be less than ideal. Data recovery tools
can also be "scavengers", where they don't write to the
broken disk, and only attempt to copy files to a spare
hard drive. "Repair in place" means not having to provide
another disk for recovery purposes, but it also comes with
a higher risk.
You can also image the drive to another drive first. That would
be my first step before TestDisk, if I was working on the broken drive.
The Linux "dd" command can be used to copy, sector by sector, to
another drive. There is even a port of "dd" for Windows,
but figuring out the proper names to use in the syntax,
is harder than it would be in Linux.
http://www.chrysocome.net/dd
The Linux syntax looks something like this, to copy the entire drive
"hda" to the entire drive "hdb". That would copy the broken partition
table and the partitions themselves, without even looking to see
what kind of file system is present. When I did this, the hdb disk
was bigger than the hda disk. I copied a drive with two Windows
partitions and two Linux partitions, with a single command like this.
dd if=/dev/hda of=/dev/hdb
This would copy partition 1 from one drive to another, with some
caveats.
dd if=/dev/hda1 of=/dev/hdb1
There are all sorts of clever things that can be done with that
command, including trashing your boot disk, if somehow you made
"of=your_bootdisk" by accident. So if using the Windows port of the
program, use "dd --list" first to see how the drives are named.
The Windows port runs from the DOS window. I would then try
TestDisk on the copy of the broken disk, so if something goes
wrong, the original disk is still intact. This is a proposed
example of copying one entire Windows drive, to a larger spare
hard drive for safety.
dd if=\\?\Device\Harddisk0\Partition0 of=\\?\Device\Harddisk1\Partition0
HTH and be careful,
Paul