Lesefeil på disk oppstår fra tid til annen; på alle typer disker. Noen enkle tips kan hjelpe deg å redde data:

  • Ha alltid viktige data lagret flere steder! Alle bilder på én eksterndisk eller én PC er ikke et sjakktrekk.
  • Lagre den andre kopien av data langt unna. Backup på en disk som står fysisk ved siden av maskina er en bra ting ved diskfeil, men ikke ved tyveri, brann eller vannskader.
  • Skylagring som Dropbox, Google Disk, Jotta e.l. er det enkleste. Da replikeres data automatisk ut, og du slipper å ha flere disker og mange kopier.

Hva om du så da får lesefeil, en disk som ikke kjennes igjen etc?

Først og fremst: Ikke begynn å reparer disken med innebygde Windows-verktøy! Bruk den minst mulig og få tatt en speilkopi av disken!

  • GNU ddrescue er tingen. Den kopierer data blokk for blokk, og skriver en logg over hva den greier å kopiere ut og ikke. Etter å ha fått tatt mye kan du prøve en gang til med basis i loggen, og forøske på områdene som har feilet.
  • Brukes slik: ddrescue /dev/sdc utfil.dd loggfil.log. Her er da altså den skadde disken på /dev/sdc, og du står i katalogen du har nok plass til å skrive hele diskens innhold ukomprimert til. Hele diskens størrelse opprettes som en fil med en gang, og så fylles det på med data der programmet greier å lese noe fornuftig. Loggfila holder styr på hvor det er lest ok og ikke. Etter å ha kjørt en gang kan man endre på opsjoner og greie å hente ut mer og mer data.En disk jeg hadde spesielt problemer med en gang hadde ca 48 MB lesefeil etter 1. gangs gjennomkjøring. Etter å ha kjørt igjennom 2 ganger til (og ddrescue hadde jobbet og lest i ca. én måned (!)) var jeg nede i 6 Mb feil.
  • Flere opsjoner er mulige:
    • -R lar deg starte å lese bakfra på disken
    • -c angir cluster size; altså sectorer den prøver å lese av gangen. 128 er standard, men etter å ha kjørt igjennom en gang med en del feil kan man prøve en gang til med mindre sectorsize.
    • -K antall bytes den hopper over ved lesefeil
    • -r angir antall ganger den skal forsøke å lese feilede områder. Er standard satt som 0 for å ikke ødelegge disken, men ved andre gangs kjøring kan nan øke dette.

Eksempel:

ddrescue -d -r3 -A -v -R /dev/sdc feildisk_320gb.dd feildisk_320gb.log