Windows Boot Manager Fault, a hard drive with CRC problems.

I have a laptop hard drive, that initially failed to boot. I took the hard drive out and connected it to my PC and was able to see the files on one of the partitions (D Drive). The then connected my external hard to copy the files over, but the pc crashed. The pc was restarted and when i try to connect the laptop external hard, it does not appear in My Computer. I have checked under disk management and the drive is shown an unallocated, when i try to initialize disk, I get an "Data Error CRC" message and The drive size is 320GB and is a seagate Momentus 320 GB. Is the data recoverable?

CRC errors tell us that the hard drive your files are stored on is damaged. A CRC error is generated when the hard drive is instructed by the computer to read a file from the hard drive but fails. The file to read is actually stored as a sequence of 0's and 1's and when the hard disk has read it successfully the file is presented to the user on the computer. When the file can not be read from the disk, one of the causes is a CRC error.

CRC stands for Cyclic Redundancy Check and is a checksum the computer makes of the data it has read. If the checksum is wrong the computer knows the information has been read incorrectly and it will try to read it several times more until eventually either succeeding or giving up. People with CRC problems on their hard drives will notice that file access takes a long time and their computers run very slowly.

The answer is to either get a data recovery company to get the files off of your CRC damaged hard drive, or if the data on the drive is not valuable to you, just go and buy a new hard drive. Throw away a drive that has CRC problems as they are never going to get any better, just worse. Having a hard drive with CRC problems is an accident waiting to happen.

Hard Disk Int13h Operations

Int13h functions provide low level disk input / output capability. Since disk systems usually funnel all i/o operations through these functions, many add-on and three-part products hook into then and relocate the original functions to other vectors.
One of the most popular methods data recovery companies use to reset hard drives and get them out of error states is to issue a 'reset disk' command via the int13h interrupt.
You can try this yourself - grab yourself an assembler and program the registers as follows before issuing the int13h command.

Interrupt 13h - Function 00h
Reset Disk System

Purpose: Restores disk system conditions to power-up state.

Registers at call:
DL=drive (if bit 7 is set both hard disks and floppy disks are reset)
Details: Forces controller to recalibrate drive heads (seek to track 0)

Return Registers:

00h successful completion
01h invalid function in AH or invalid parameter
02h address mark not found
03h disk write protected (floppy)
04h sector not found
05h reset failed (hard disk)
06h disk changed (floppy)
07h drive parameter activity failed (hard disk)
08h DMA overrun
09h attempted DMA across 64k boundary
0Ah bad sector detected (hard disk)
0Bh bad track detected (hard disk)
0Ch unsupported track or invalid media
0Dh invalid number of sectors on format (hard disk)
0Eh control data address mark detected (hard disk)
0Fh DMA arbitration level out of range (hard disk)
10h uncorrectable CRC or ECC error on read
11h data ECC corrected (hard disk)
20h Controller failure
40h Seek failed
80h Timeout (not ready)
AAh Drive not ready (hard disk)
BBh Undefined error (hard disk)
CCh Write fault (hard disk)
E0h Status register error (hard disk)
FFh Sense operation failed (hard disk)