{
  "slug": "ddrescue-mapfile",
  "term": "ddrescue mapfile",
  "aliases": [
    "ddrescue recovery map"
  ],
  "definition": "A ddrescue mapfile records input byte ranges and their rescue states so copying can resume without rereading ranges marked finished.",
  "note": "The data-block list records input offsets, lengths and states including non-tried, non-trimmed, non-scraped, bad-sector or finished. Preserve input/output offsets and the original map with its corresponding image version. A finished state is recovery bookkeeping, not comparison against a trusted digest. [gnu]\n\nGenerate mode reconstructs an approximate map by treating nonzero output sectors as finished. Old destination bytes can be mistaken for recovered data, while genuine zero sectors can be treated as non-tried. Sparse output requires an empty or zeroed destination. [gnu]\n\nA controlled 4096-byte example reached a complete map after resume while 512 stale bytes remained from earlier sparse writes into a nonzero file. Another pair had identical image bytes but different acquisition coverage. These are constructed software cases, not hardware failure rates. [experiment]",
  "status": "shipping",
  "advantages": [
    {
      "text": "Retains interval-level progress for interrupted rescue operations.",
      "citationIds": [
        "gnu"
      ]
    }
  ],
  "limitations": [
    {
      "text": "A completion check applies only to its selected rescue domain.",
      "citationIds": [
        "gnu"
      ]
    }
  ],
  "related": [
    "sparse-file",
    "checksum",
    "backup-verification"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-18",
  "provenance": [
    "GNU 1.30 manual and implementation reviewed; twelve cases repeated from a pinned source build. [gnu] [experiment]"
  ],
  "citations": [
    {
      "id": "gnu",
      "title": "GNU ddrescue 1.30 manual: mapfile structure, generate mode and ddrescuelog",
      "url": "https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html",
      "accessed": "2026-10-18"
    },
    {
      "id": "experiment",
      "title": "Hesela: ddrescue image provenance, twelve controlled cases",
      "url": "https://hesela.dev/datasets/ddrescue-image-provenance/",
      "accessed": "2026-10-18"
    }
  ]
}
