## 5 Meaning of ddrescue’s screen output ¶

The output of ddrescue looks like this:

    GNU ddrescue 1.29
    Press Ctrl-C to interrupt
    Initial status (read from mapfile)
    rescued: 1665 MB, tried: 0 B, bad-sector: 0 B, bad areas: 0

    Current status
         ipos:    2874 MB, non-trimmed:        0 B,  current rate:  21479 kB/s
         opos:    2874 MB, non-scraped:        0 B,  average rate:  21023 kB/s
    non-tried:   13603 MB,  bad-sector:        0 B,    error rate:       0 B/s
      rescued:    2401 MB,   bad areas:        0,        run time:         35s
    pct rescued:   15.00%, read errors:        0,  remaining time:         10m
     slow reads:        5,        time since last successful read:          0s
    Copying non-tried blocks... Pass 1 (forwards)

Ddrescue scrolls forward after each pass. This keeps on the screen the final status of the previous pass, making it easier to estimate the amount of work done by the current pass.

The meaning of each field is as follows:

`ipos`

  Input position. The position in the input file where data are being currently read from.

`opos`

  Output position. The position in the output file where data are being currently written to.

`non-tried`

  Size of the part of the rescue domain pending to be tried. This is the sum of the sizes of all the non-tried blocks.

`rescued`

  Size of the part of the rescue domain already successfully recovered. This is the sum of the sizes of all the finished blocks.

`pct rescued`

  Percentage of the rescue domain that has been successfully recovered.

`slow reads`

  Number of times that the read rate fell below `--min-read-rate` during the first two passes of the copying phase. See --min-read-rate.

`tried`

  Size of the part of the rescue domain already tried but not yet rescued. This is the sum of the sizes of all the non-trimmed, non-scraped, and bad-sector blocks.

`non-trimmed`

  Size of the part of the rescue domain pending to be trimmed. This is the sum of the sizes of all the non-trimmed blocks.

`non-scraped`

  Size of the part of the rescue domain pending to be scraped. This is the sum of the sizes of all the non-scraped blocks.

`bad-sector`

  Total error size. This is the size of the part of the rescue domain formed by known bad sectors. The total error size is the sum of the sizes of all the bad-sector blocks. It increases during the trimming and scraping phases, and may decrease during the retrying phase. A sector is not marked as bad-sector and considered part of a bad area until it has been tried individually instead of as part of a large block read. Note that as ddrescue retries the bad-sector blocks, the good data found may divide them into smaller blocks, decreasing the total error size but increasing the number of bad areas.

`bad areas`

  Number of separate bad-sector blocks inside the rescue domain. Non-trimmed and non-scraped blocks are not considered bad areas. See --max-bad-areas.

`read errors`

  Number of failed read attempts. See --max-error-rate.

`current rate`

  The read rate measured during the last second.

`average rate`

  The average read rate measured during the current run.

`error rate`

  The read error rate measured during the last second.

`run time`

  Time elapsed since the beginning of the current run.

`remaining time`

  Estimated remaining time to rescue all the data in the rescue domain. The remaining time is calculated using the average rate of the last 30 seconds and does not take into account that some parts of the rescue domain may be excluded from the rescue (for example with `--no-trim`), or that some areas may be unrecoverable. Therefore it may be imprecise, may vary widely during the rescue, and may show a nonzero value at the end of the rescue. In particular it may go down to a few seconds at the end of the first pass, just to grow to hours or days in the following passes. Such is the nature of ddrescue; the good parts are usually recovered fast, while the rest may take a long time.

`time since last successful read`

  Time elapsed since the last successful read attempt.