Page 1 of 1

Writing partition table doesn't seem to stick

Posted: 31 Jul 2015, 13:18
by Kallisti
Hello,

I'm helping out a friend who\s hard drive stopped working. Using TestDisk I was able to see the partition, list the files and copy almost 40GB of data from it. I then changed the partition from D(eleted) to P(rimary) and wrote it to the disk. TestDisk tells me I need to reboot, so I do, but after boot Windows is still telling me that it is a RAW disk. See logs below.

I ran CrystalDiskInfo and the disk has Caution due to Current Pending Sector Count, not sure what that means. Looking in the log it seems some sectors are bad but that shouldn't prevent the partition table to be written, right?

Any help would be appreciated!
Partition table type (auto): Intel
Disk /dev/sdb - 750 GB / 698 GiB
Partition table type: Intel

Analyse Disk /dev/sdb - 750 GB / 698 GiB - CHS 91200 255 63
Geometry from i386 MBR: head=255 sector=63
NTFS at 0/32/33
Current partition structure:
1 P HPFS - NTFS 0 32 33 91200 242 50 1465141248
No partition is bootable
Analyse Disk /dev/sdb - 750 GB / 698 GiB - CHS 91200 255 63
Geometry from i386 MBR: head=255 sector=63
NTFS at 0/32/33
Current partition structure:
1 P HPFS - NTFS 0 32 33 91200 242 50 1465141248
No partition is bootable

search_part()
Disk /dev/sdb - 750 GB / 698 GiB - CHS 91200 255 63
NTFS at 0/32/33
filesystem size 1465141248
sectors_per_cluster 8
mft_lcn 786432
mftmirr_lcn 2
clusters_per_mft_record -10
clusters_per_index_record 1
HPFS - NTFS 0 32 33 91200 242 50 1465141248
NTFS, blocksize=4096, 750 GB / 698 GiB
file_pread(5,8,buffer,1465143296(91200/242/51)) ReadFile The drive cannot find the sector requested.

file_pread(5,1,buffer,1465143296(91200/242/51)) ReadFile The drive cannot find the sector requested.

file_pread(5,1,buffer,1465143297(91200/242/52)) lseek err Invalid argument
file_pread(5,14,buffer,1465143298(91200/242/53)) lseek err Invalid argument
file_pread(5,3,buffer,1465143312(91200/243/4)) lseek err Invalid argument
file_pread(5,3,buffer,1465143359(91200/243/51)) lseek err Invalid argument
file_pread(5,8,buffer,1465143375(91200/244/4)) lseek err Invalid argument
file_pread(5,11,buffer,1465143422(91200/244/51)) lseek err Invalid argument
file_pread(5,2,buffer,1465145344(91201/20/20)) lseek err Invalid argument

Results
* HPFS - NTFS 0 32 33 91200 242 50 1465141248
NTFS, blocksize=4096, 750 GB / 698 GiB

interface_write()
1 * HPFS - NTFS 0 32 33 91200 242 50 1465141248