I'm trying to use ddrescue to help a family member whose 750gb laptop HDD is failing (Windows 7). They went and bought a 1tb laptop drive and so I loaded up the SystemRescue CD on their laptop and popped the new one into a USB enclosure, used fdisk to set up matching partitions (for the 3 partitions that matter) and began to try and run ddrescue on the main data partition:
Code:
ddrescue -f -v -r 3 /dev/sda2 /dev/sdb2 /tmp/ddrescue.log
1. For the first 50 gb or so, it seemed like 95% of it was "rescued" while the errsize was maybe 5 gb. I left it and came back about an hour or two later and it was now at 150 gb, but now the errsize was about 146 gb and the rescued was only 4 gb. My first question is - why would suddenly all of that "rescued" amount go away and become errors?
2. After pass 1 (copying), it's now trimming failed data. Pass 1 ended with roughly the same ratio with only about 25 gb rescued out of the 700 gb on the partition. It's "trimmed" about 500 gb so far and the rescued amount has only increased to about 45 gb.
3. I noticed the old drive has a 4k physical sector size and 512 byte logical sector size - would not specifying a 4k sector size have anything to do with the problems? Here's fdisk -l output for the drives:
Code:
root@sysresccd /root % fdisk -l
Disk /dev/sda: 750.2 GB, 750156374016 bytes, 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xb7b7c155
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 409599 203776 7 HPFS/NTFS/exFAT
/dev/sda2 409600 1425383423 712486912 7 HPFS/NTFS/exFAT
/dev/sda3 1425383424 1456826367 15721472 7 HPFS/NTFS/exFAT
/dev/sda4 1456826368 1465147119 4160376 c W95 FAT32 (LBA)
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000952ec
Device Boot Start End Blocks Id System
/dev/sdb1 2048 409599 203776 7 HPFS/NTFS/exFAT
/dev/sdb2 409600 1425383423 712486912 7 HPFS/NTFS/exFAT
/dev/sdb3 1425383424 1456826367 15721472 7 HPFS/NTFS/exFAT
Here's the current output:
Code:
root@sysresccd /root % ddrescue -f -v -r 3 /dev/sda2 /dev/sdb2 /tmp/ddrescue.log
GNU ddrescue 1.16
About to copy 729586 MBytes from /dev/sda2 to /dev/sdb2
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 sectors Initial skip size: 128 sectors
Sector size: 512 Bytes
Press Ctrl-C to interrupt
rescued: 44881 MB, errsize: 684 GB, current rate: 94208 B/s
ipos: 201835 MB, errors: 1387, average rate: 797 kB/s
opos: 201835 MB, time since last successful read: 0 s
Trimming failed blocks...
Any help would be appreciated. Also, my understanding is that since I'm using a logfile, I can interrupt and re-run the same command to resume where I left off. Is that correct? And if I do that, but change the sector size, will it cause problems since it's already beyond the first pass?