Af

ddrescue – en hjælp i nøden

På denne årets sidste da sidder jeg og lægger sønnikes DVD’er ind på medie centeret, inden aftenen begynder. Folk med børn vil vide at disse sjældent behandler DVD’er med den omsorg der skal til for at de fortsat vil fremvise deres indhold.

Jeg bruger Handbrake, som klart også kan anbefales, til at arkivere skriverne, og selvom det er fantastisk program, har den en irriterende tendes til at give op når det kommer til ridsede DVD’er. Og dette ikke på den sædvanelige “Kunne ikke fuldføre” måde – men på den falske positive måde hvorpå den påstår at den er færdig, men resultatet er et kvart afsnit Byggemand Bob (afhængig af original DVD’en selvfølgelig).

Hvad gør man så?

Jo! ddrescue – to the (dd) rescue!

Mange kender nok den klassiske dd kommando der er en del af enhver Linux-hackers værktøjsbælte, og med sin evne til at blokkopiere hele/delvise drev og partitioner er umiddelbart lige hvad man har brug for i sådan en situation. Desværre har dd samme kedelige tendens til at stoppe ved fejl, men kan dog overtales til at fylde 0′er eller klippe dårlige stykker ud.

ddrescue derimod benytter en anden strategi. Den kopierer datablokke af en bestemt størrelse af gangen og springer så de dårlige blokke over. Når den har nået enden af disken, gør den blokstørrelsen mindre og forsøger sig igen med de fejlede blokke. Det bliver den så ved med indtil den er sikker på at der ikke kan skrabes mere gyldig data ud af kilden.

Den kan endvidere logge fremskridt, så man kan afbryde den og starte hvorfra man nåede. Denne funktionalitet benyttede jeg til flytte min kilde-DVD til forskellige drev, da det lader til at nogen drev er bedre til at læse beskadigede DVD’er en andre. Til det brugte jeg -M flaget til at markere alle beskadigede områder som “uprøvede” da ddrescue ellers vil springe dem over.

Eksempel på brug, hvor /dev/sr0 er mit optiske drev, genoprettet.iso er destinationen for mit genoprettede iso og genoprettet.log er loggen der sørger for at holde styr på hvad der allerede er rettet hvis man skal køre programmet flere gange:

ddrescue -M /dev/sr0 genoprettet.iso genoprettet.log

Man kan så prøve flere optiske drev af ved at skrifte /dev/sr0 ud med et andet, eller prøve at bruge -R parameteren der skanner baglæns i stedet for forlæns.

God fornøjelse, og godt nytår!

2 Responses to ddrescue – en hjælp i nøden

  1. Det kunne man få brug for! Jeg har efterhånden en del film, jeg har måttet skille mig af med.

Skriv et svar