I need to save data from a failing hard drive.
Sounds like ddrescue or myrescue (or maybe clonezilla?) will be my best friends here, but I'm just wondering what will likely be faster:
- using dd/ddrescue/myrescue/clonezilla to simply clone the failing drive to a new drive of identical capacity
- using rsync/tar/cp to move files from the failing drive to a new drive
?
dd-ish choices avoid moving data back and forth between kernel-space and user-space, right? But rsync and others avoid moving empty space, right?
Another oddly fortunate bit if I choose a dd-ish solution: the failing drive is currently mounted read-only (part of the failure process, I think) so I guess I don't have to worry about data changing while I'm dd'ing.
This is the root partition, so dd would be handy in that I should be able to boot the new drive after it completes.
rsync
will be faster if the disk is readable. If there's any change that the disk is partially unreadable and you have no backup of the contained data, I'd rather runddrescue
to make as exact image of the disk as possible. After that, I'd make another copy of the "exact copy", runfsck
on that and only then mount it. This way the "exact copy" of your failing disk is kept unmodified for additional rescue operations. – Mikko Rantalainen Jun 29 '12 at 08:08