Trying to use TestDisk, but somewhat baffled by how slow it seems...
My situation : A friend brought a damaged laptop to see if I could extract files from the hard disk, along with a USB external drive. I needed space on the USB drive to copy files, so I deleted the content of a folder. The operation hanged and now Windows is unable to access the drive. It somewhat sees it, but Disk Manager and Windows Explorer just hang when trying to access it.
I installed TestDisk and tried to recover the content. It started analyzing the drive, but every cylinder it tries to analyze generate a Read error. A quick calculation tells me that analyzing every cylinder will take more than 400 days ! That seems excessive for a 500 GB drive...
Here's my log :
Code: Select all
Sun Jul 1 19:26:05 2012
Command line: TestDisk
TestDisk 6.13, Data Recovery Utility, November 2011
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
OS: Windows 7 (7601) SP1
Compiler: GCC 4.3, Cygwin 1007.7
Compilation date: 2011-11-15T08:36:54
ext2fs lib: 1.41.8, ntfs lib: 10:0:0, reiserfs lib: 0.3.1-rc8, ewf lib: 20100226
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(/dev/sda)=500107862016
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(/dev/sdb)=500107861504
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(\\.\PhysicalDrive0)=500107862016
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(\\.\PhysicalDrive1)=500107861504
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(\\.\C:)=481755660288
filewin32_getfilesize(\\.\D:) GetFileSize err Incorrect function.
filewin32_setfilepointer(\\.\D:) SetFilePointer err Incorrect function.
Warning: can't get size for \\.\D:
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(\\.\F:)=500105217024
disk_get_size_win32 IOCTL_DISK_GET_LENGTH_INFO(\\.\Q:)=16777216000
file_pread(4,1,buffer,976784129(60801/254/63)) lseek err Invalid argument
file_pread(5,1,buffer,976784129(60801/254/63)) lseek err Invalid argument
Hard disk list
Disk /dev/sda - 500 GB / 465 GiB - CHS 60801 255 63, sector size=512 - HITACHI HTS727550A9E, S/N:XXXXXXXXXXXXXX, FW:JF3Z
Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63, sector size=512 - Seagate FreeAgent Go, S/N:XXXXXXXX, FW:0148
Partition table type (auto): Intel
Disk /dev/sdb - 500 GB / 465 GiB - Seagate FreeAgent Go
Partition table type: Intel
Analyse Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63
Current partition structure:
Partition: Read error
Ask the user for vista mode
file_pread(5,1,buffer,976768065(60801/0/1)) read err: Invalid argument
Allow partial last cylinder : Yes
search_vista_part: 1
search_part()
Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63
file_pread(5,8,buffer,32(0/0/33)) read err: Invalid argument
file_pread(5,8,buffer,40(0/0/41)) read err: Invalid argument
file_pread(5,3,buffer,48(0/0/49)) read err: Invalid argument
file_pread(5,3,buffer,95(0/1/33)) read err: Invalid argument
file_pread(5,8,buffer,111(0/1/49)) read err: Invalid argument
file_pread(5,11,buffer,158(0/2/33)) read err: Invalid argument
file_pread(5,2,buffer,2080(0/33/2)) read err: Invalid argument
file_pread(5,2,buffer,51(0/0/52)) read err: Invalid argument
file_pread(5,2,buffer,98(0/1/36)) read err: Invalid argument
file_pread(5,2,buffer,119(0/1/57)) read err: Invalid argument
file_pread(5,2,buffer,169(0/2/44)) read err: Invalid argument
Is there any hope ?
Bruno G.