Ubuntu Linux ddrescue - Can someone give me a good command to run in terminal?

I'm a newbie to Linux.
but I'm a confident Windows user.

I have a damaged hard drive with many bad sectors from my parents windows computer, attached via Sata cable to a Virtual Ubuntu (on my Windows Desktop).
I want to use ddrescue (GNU) to create a Disk Image.
Can someone tell me what to type into the ubuntu Terminal to achieve the following:
  • invoke ddrescue.
  • skip over bad sectors (to avoid wasting hours and hours of time).
  • create a Log (map file) to enable ddrescue to resume itself if the computer hangs or crashes or restarts.
  • avoid imaging the Windows System Files (MBR) partition (as I dont intend to restore windows.. I only want to recover data and not waste time imaging windows OS files).

Extra Questions (to add to the above):
  • Am I supposed to Un-Mount the damaged drive before invoking ddrescue ? how can I do this ?
  • Will I be able to run ddrescue a 2nd time more thoroughly to try to image the sectors that were skipped on the 1st image and then MERGE these 2 images to create a more complete image ?
  • Can I control how often the mapfile saves itself ?
  • Can I control how many attempts it makes to read a sector before skipping to the next sector ?

Software/hardware info
I'm running Ubuntu GNOME from a USB Memory Stick (virtual machine, and with Persistence on my Windows 7 Desktop computer).
Faulty Hard drive is connected to the motherboard with Sata Cable.

PS: Am I correct in doing this with Virtual Ubuntu ? or would I be better off installing ubuntu as a dual boot on my windows desktop ?
I am under the impression that the virtual machine Persistence setting will allow for the ddrescue mapfile to resume itself if the computer crashes or restarts.


Imo, your approach is totally wrong. Understand you're not interested in a disk image, but you can't just skip over bad data. Run chkdsk c: /f /r or fsck to remap bad sectors. If that gets really ugly, then get a new drive!


Linux HDs are found in the /dev mount point as
  • /dev/sd{a,b,c}N
The system will obey the /etc/fstab to automount the required partitions AFTER testing the boot device.

NEVER run fsck on a mounted device - - but who IS mounted? issue mount to see.
so first un-mount
  • umount /dev/sdxxx
  • fsck -M /dev/sdxxx
During a boot, the HDs will be scanned if
  1. the dirty bit is on
  2. the rescan period since last scan has lapsed