Sådan gendanner du tabte familiebilleder med open source-værktøj

Illustration: Olivier/Bigstock.com
Flere frit tilgængelige værktøjer gør det muligt at redde tabte filer.

Forleden fik jeg en henvendelse fra en ven, hvis søsters familie var havnet i digital ulykke. Problemet var en ekstern Iomega-disk af ældre dato. Den var blevet brugt til lagring af familiebilleder i tidens løb. Det vil sige billeder af børnene, da de var mindre og den slags.

Nu var disken stået af og billederne lå kun på den. Følgende er en nogenlunde nøjagtig (enkelte detaljer fortaber sig i hukommelsens tåger) gengivelse af, hvordan det lykkedes at redde filerne via nogle open source-værktøjer og styresystemet Ubuntu.

Den nævnte fremgangsmåde forudsætter nok et vist kendskab til Linux. Har man ikke det, kan fortællingen måske inspirere til at få det. Og har man masser af Linux-kendskab, så er fortællingen måske banal - byd i så fald gerne ind med yderligere tips og tricks til filgendannelse i kommentarsporet.

Og så lige en disclaimer om, at forsøg på filgendannelse - som det, der beskrives på de følgende linjer - kan resultere i, at de data, man vil gendanne, går tabt evigt.

Min umiddelbare tanke var, at filerne relativt enkelt burde kunne reddes, med mindre disken var overskrevet eller på en eller anden måde mekanisk i stykker.

En Google søgning på file recovery ubuntu ledte til en ganske udførlig guide til, hvordan en række forskellige værktøjer kan bruges til filgendannelse via styresystemet Ubuntu. Jeg brugte på tidspunktet version 16.04 af Ubuntu, så nedenstående tager afsæt i denne udgave, men burde kunne anvendes uden videre på andre versioner også.

https://help.ubuntu.com/community/DataRecovery

Jeg havde på dette tidspunkt sikret mig, at disken umiddelbart så ud til mekanisk at fungere. Det vil sige, jeg kunne se to partitioner på den, når jeg satte den i USB-porten.

Det indbyggede disk-oversigts-værktøj i Ubuntu viste en mindre og indledende Iomega-partition, jeg mener, det var FAT. Og så en større partition på lige under 500 GB, der ikke umiddelbart kunne læses.

Disk-værktøjet kan startes ved at trykke super/Windows-tasten på tastaturet og skrive disks.

Som nogen vil vide, så er det en dårlig idé at begynde at skrive til en disk, som man vil redde data fra. Så det første jeg gjorde - med hjælp fra linket fra før - var at kopiere hele disken over i en image-fil på et andet drev.

Det kan gøres på Ubuntu ved at åbne en terminal (ctrl+alt+t) og installere pakken gddrescue med:

sudo apt install gddrescue

Herefter skal det opklares, hvor USB-disken fra før sidder på systemet. Har man kun en disk tilsluttet på 500 GB kan det relativt let opklares, har man flere skal man fare med lempe, så man ikke får fat i den forkerte enhed.

En relativ enkel og visuel måde at identificere disken på, såfremt man befinder sig i et desktop-miljø på Ubuntu, er via disk-værktøjet fra før.

Herefter klikker man på den rigtige enhed i listen, og ser efter hvad der står ud for Device.

Det kan eksempelvis være /dev/sdb

I terminalen kan en mulighed være at skrive følgende:

lsblk

Og så spotte den enhed der af navn og størrelse passer med USB-drevet. Det er stadig noget med /dev/sdb (eller sdc, sdd etc. alt afhængig af setup) vi skal have fat i. Der er flere måder at identificere det rigtige drev på.

Nu til datakopieringen. Fordi vi før installerede gddrescue, har vi nu adgang til at køre ddrescue. Hvis vores USB-disk sidder på eksempelvis /dev/sdb, så kunne en kommando til at kopiere data med se således ud (skift [brugernavn] ud med den aktuelle bruger):

sudo ddrescue -f -r3 /dev/sdb /home/[brugernavn]/disk.img /home/[brugernavn]/logfil

Ovenstående forsøger at kopiere så meget data som muligt fra hele disken. Under fejllæsninger forsøges det tre gange at kopiere data (-r3). Hvis der havde stået sdb1 i stedet for bare sdb, så var kun første partition - det vil sige den lille Iomega-partition - blevet kopieret. Med sdb bliver hele disken forsøgt kopieret, hvilket er det, jeg vil i dette tilfælde, da jeg ikke på forhånd ved, hvor meget data, der har ligget i de enkelte partitioner.

Processen tager lidt tid alt efter størrelsen på den disk, der kopieres data fra.

Nu installeres pakken foremost:

sudo apt install foremost

Foremost kan bruges til at gennemgå et disk-image, som det vi lige har lavet, en disk partition eller andet i forhold til kendte fil-typer. Blandt andet billed- og videofiler. Det er, hvad vi er på jagt efter i dette tilfælde. Ud fra filnavnet fra før, kører vi:

sudo foremost -i /home/[brugernavn]/disk.img -o /home/[brugernavn]/foremost

Igen går der lidt tid. Potentielt ret lang tid, alt efter disk-størrelse.

Når processen er færdig, og der forhåbentligt er fundet flere filer, som er blevet placeret i /home/[brugernavn]/foremost, så ejes mappen i første omgang af root. Kør følgende, for at lave om på ejerskabet, hvor brugernavn er dit eget brugernavn:

sudo chown -R brugernavn:brugernavn /home/[brugernavn]/foremost

-R i ovenstående betyder, at kommandoen køres rekursivt, så ejerskabet af de underliggende mapper og filer også overgår til brugeren.

Herefter kan du inspicere det fundne fil-indhold ved at navigere til din hjemmemappe med eksempelvis Ubuntu-filbrowseren Nautilus.

Filnavne går fløjten i ovenstående proces. Det vil sige, at filtyperne rubriceres i foremost-mappen i undermapper, der matcher filtyperne. Alle jpg-filer får et tal og havner på i en jpg-mappe. Det er lidt noget rod, men det er uendeligt meget bedre end ingenting.

Via en proces, der minder om ovenstående, lykkedes det at redde ca. 15GB data, herunder en del familiebilleder. Dataene blev flyttet over på en ny ekstern harddisk, som var formateret til Microsofts NTFS-filsystem, så familiens Windows-maskine kunne læse indholdet af disken.

Der er flere andre beskrivelser og værktøjer på https://help.ubuntu.com/community/DataRecovery.

Blandt andet fiduser til, hvordan en tabt fil-tabel eventuelt kan genetableres. Jeg har afprøvet flere af teknikkerne, men havde i det konkrete forløb mest held med kombinationen af ddrescue og foremost.

Kører man ikke lige Ubuntu, kan man måske alligevel få glæde af de tips og tricks, der nævnes i linket ved at køre en Ubuntu live.

Det vil sige, man booter en Windows, Mac eller Linux-maskine direkte ind i Ubuntu fra eksempelvis en usb-pind. Det kan generelt være en fordel at boote Ubuntu live på den måde i forbindelse med recovery - blandt andet hvis de data, man vil redde, ligger på en system-disk på den maskine, man kører redningsaktionen fra.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (15)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Glenn Dufke

Testdisk og photorec er også to rigtig gode værktøjer til at trække data ud af ødelagte filsystemer, begge fra cgsecurity.
De findes til de gængse platforme, tilmed også i debians repository (sudo apt install testdisk)

Og så kan det ikke understreges nok - forsøg altid at lave et image af den døende disk som det første, tag derefter en kopi af det image og arbejd derfra. Dels stresser man ikke den døende disk og dels har man en clean state at gå tilbage til såfremt værktøjerne laver ulykker.

  • 8
  • 0
Jens Jönsson

Og så lige en disclaimer om, at forsøg på filgendannelse - som det, der beskrives på de følgende linjer - kan resultere i, at de data, man vil gendanne, går tabt evigt.

Tag evt. kopi af disken først, med et diskcloningsværktøj. De fleste diskcloningsværktøjer har en "Forensic" knap. Vælg den, så tager programmet en kopi af sektorerne, uden at kigge på selve diskformatet og så kan der være chancer for genskabelse, hvis programmet kløjs i det, da man så bare kan indlæse fra "start" igen.

[quote]Min umiddelbare tanke var, at filerne relativt enkelt burde kunne reddes, med mindre disken var overskrevet eller på en eller anden måde mekanisk i stykker.[quote]

Er disken mekanisk i stykker, så er det typisk op af bakke....
Men er den ikke, så kan man typisk redde en masse data.

  • 2
  • 0
Per Erik Rønne

Men anbefal alligevel de uheldige brugere at sørge for kopier i Skyen, det være sig i Apples iCloud, i DropBox, eller hvilke muligheder der nu er tilgængelige. Og det skal helst foregå automatisk.

  • 2
  • 4
Kasper Lyster

Som paranoid med sølvpapirshat på, har jeg syncet alle mine desktops, laptops og mobile enheder, med min egen Debian server, samt med endnu en Debian server, som er stående hos mine forældre. Derved kan jeg undgå at benytte mig af private løsninger og ligeledes have en backup af en backup fysisk adskilt fra mit hjem.

  • 3
  • 0
Jacques Clouseau

Hej Jakob,

Fine tools, men en klodset og langsom maade at handtere dem paa.

Download i stedet en gratis pro-live-linux-distro som CAINE og smid den paa et usb

Dine tools og bunker af andre tools til recovery + forensics er klar til brug.

Cool du vil laere folk haandholdt Linux, men maaske ikke i kombination med file recovery - sdb, sdb1, sda1 - Det gaar galt!

God Jul
Jacques Clouseau

  • 1
  • 4
Simon Mikkelsen

Som flere har skrevet, skal man sørge for backup.

Til enhver tid er der en risiko for at en given kopi forsvinder. Er man uheldig nok kan alle kopier forsvinde, uanset hvor mange man har lavet. Man kan nedæstte risikoen for at alt forsvinder ved at have versionerede kopier på flere fysiske lokationer. Har man N kopier af data, skal man altid antage at man har N-1 kopier, dvs: Data der kun findes i 1 kopi, findes ikke.

Mit setup: NAS med RAID 6 (dvs. 2 diske kan gå i stykker uden noget mistes) samt versioneret online backup.

  • 1
  • 0
Glenn Dufke

Jeg fik hevet en del ud af den med Testdisk, men efterfølgende var der ikke så meget at gøre, den kunne ikke formateres eller lignende.

Så har controlleren sat disken i read-only mode, der er den lige på nippet til at lukke helt ned :)
SSD er fint, man skal bare huske regelmæssig backup.
Det er også værd at holde et vågent øje med SSD'ens helbred generelt :)

  • 0
  • 0
Log ind eller Opret konto for at kommentere
IT Company Rank
maximize minimize