Page 1 of 1

A question related to Passes and Resume...

Posted: 27 Apr 2025, 21:08
by sujitvp
I am using photorec to restore files from (source) an 8TB HDD with ext4 FS, with about 3TB data (that was accidentally deleted due to a misconfigured rsync run), to (destination) a separate HDD. I have been using the session resume feature to stop-restart sessions as needed to keep the systems operational (the processing has been running for 2+ weeks).

I noticed something that made me curious about how the passes work. In one of the resumed runs, when I checked the CLI, I noticed that it indicated Pass 1. A few days later, in the same session, it indicated Pass 3. However, when this session was stopped and resumed (and in every other session), the pass indicator has always shown Pass 0.
Looking at the session files, I cannot see any information that would determine which Pass to resume to. Hence, I am assuming that photorec determines passes internally, but how and when does it determine it? I would have thought that the passes likely would sequentially go (first full scan with Pass 0, then with Pass 1, etc.), but my observations have me thinking otherwise.

This is more for my learning, and to make sure I am not messing up my recovery process.

I am using PhotoRec 7.1, Data Recovery Utility, July 2019 on Linux.

Re: A question related to Passes and Resume...

Posted: 28 Apr 2025, 14:55
by cgrenier
Usually, the passes are only
- pass 0: finding the blocksize
- pass 1: data recovery

There may be extra passes when
- FAT unformat (can only be enabled in expert mode),
- Keep corrupted files as be set to Yes, (By default, No)
- Paranoid : Yes (Brute force enabled) (By default, yes, Brute force disabled)
- PhotoRec asks for a new destination because the destination disk is saturated (The file PhotoRec was writing to is discarded)
- or the user choose to stop the recovery but change his mind by finally choosing to continue