Next: , Previous: , Up: Top   [Index]


11 Ddrescuelog

Ddrescuelog is a tool that manipulates ddrescue logfiles, shows logfile contents, converts logfiles to/from other formats, compares logfiles, tests rescue status, and can delete a logfile if the rescue is done. Ddrescuelog operations can be restricted to one or several parts of the logfile if the domain setting options are used.

When performing logic operations (AND, OR, XOR) on logfiles of different extension, only the blocks present in both files are processed.

Here are some examples of how to use ddrescuelog, alone or in combination with other tools.


Example 1: Delete the logfile if the rescue is finished (all data is recovered without errors left).

ddrescue -f /dev/hda /dev/hdb logfile
ddrescuelog -d logfile

Example 2: Rescue two ext2 partitions in /dev/hda to /dev/hdb and repair the file systems using badblock lists generated with ddrescuelog. File system block size is 4096.
Note: you do need to partition /dev/hdb beforehand.

fdisk /dev/hdb                                <-- partition /deb/hdb
ddrescue -f /dev/hda1 /dev/hdb1 logfile1
ddrescue -f /dev/hda2 /dev/hdb2 logfile2
ddrescuelog -l- -b4096 logfile1 > badblocks1
ddrescuelog -l- -b4096 logfile2 > badblocks2
e2fsck -v -f -L badblocks1 /dev/hdb1
e2fsck -v -f -L badblocks2 /dev/hdb2

Example 3: Rescue a whole disc with two ext2 partitions in /dev/hda to /dev/hdb and repair the file systems using badblock lists generated with ddrescuelog. Disc sector size is 512, file system block size is 4096. Arguments to options ‘-i’ and ‘-s’ are the starting positions and sizes of the partitions being rescued.
Note: you do not need to partition /dev/hdb beforehand, but if the partition table on /dev/hda is damaged, you’ll need to recreate it somehow on /dev/hdb.

ddrescue -f /dev/hda /dev/hdb logfile
fdisk /dev/hdb                                <-- get partition sizes
ddrescuelog -l- -b512 -i63b -o0 -s9767457b -b4096 logfile > badblocks1
ddrescuelog -l- -b512 -i9767520b -o0 -s128520b -b4096 logfile > badblocks2
e2fsck -v -f -L badblocks1 /dev/hdb1
e2fsck -v -f -L badblocks2 /dev/hdb2

Next: , Previous: , Up: Top   [Index]