[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-ddrescue] Utility to mark unused space as done
From: |
Antonio Diaz Diaz |
Subject: |
Re: [Bug-ddrescue] Utility to mark unused space as done |
Date: |
Mon, 20 Feb 2012 20:40:06 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.7.11) Gecko/20050905 |
Hello Robert,
Robert Backhaus wrote:
I really need a set of utilities (for different filessytems) that can
use a partial dump and log file, and create a log file with the unused
sections of the drive marked read. It seems such a required function
that it is hard to believe that no one has created them, but I have
not been able to find them.
Tampering with logfiles (for example, marking as read what has not been
really read) is almost always a bad idea. I think a much better way of
doing what you want is to create one or more "domain logfiles" to
delimit what areas to recover and in what order, and use the same real
logfile during all the process.
An additional feture would be to be able to mark particular files
(pagefile.sys and hyberfile.sys come to mind) as read.
Just don't create domain logfiles for them, or create a domain logfile
for them, invert it with ddrescuelog, and then use it as a logic AND
mask for other domain logfiles (see ddrescuelog).
If my dreams came true, displaying filenames that are known and their
blocks, so that I can know where the important files are and recover
them first.
This is indeed very useful, but it is a task for the filesystem tools,
which know the filesystem internals, not for ddrescue.
If this was done, a change to the logfile structure would be also
useful: an additional type of block, say with the marking character a
number from 0 to 9, indicating priority (logically it would be like ?,
ie untried). This would go along with a new option, where you could
specify the minimum priority that ddrescue would attempt to read.
If you can set priorities, you can generate a series of domain logfiles
and apply them sequentially.
workflow would go like this:
1. run ddrescue using -s to get the first few megabytes.
2. Run the utility to analyze the partial log file, which would mark
unused blocks as +, and mark known files like this
0xposition 0xsize ? # /hyberfile.sys
0xposition 0xsize ? # /Users/
What about fragmented files? Or several files in the same block (I think
some filesystems pack small files like this)?
3. Edit the log file, changing the ? to + for files I do not need to
recover, and changing the ? to, say '9' for things I need. For
instance
0xposition 0xsize + # /hyberfile.sys
0xposition 0xsize 9 # /Users/
A logfile with one or more lines per file may have many thousands of
lines. Good luck editing such a file. :-)
Anyway, that's my dream, but has anyone produced the simple(r) 'mark
unused' utilities? At least for ntfs and/or vfat?
IIRC, several people have written scripts, but I do not remember what
they do exactly. Also, I think some of the scripts needed some software
from Microsoft to work.
It may also be difficult for such tools to work at all in the cases
where the bad blocks have affected the filesystem structure.
Regards,
Antonio.