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

4. december 2017 kl. 05:0815
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.
Artiklen er ældre end 30 dage
Manglende links i teksten kan sandsynligvis findes i bunden af artiklen.

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.

Artiklen fortsætter efter annoncen

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.

Artiklen fortsætter efter annoncen

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:

  1. 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:

  1. 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å.

Artiklen fortsætter efter annoncen

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):

  1. 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:

  1. 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:

  1. 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:

  1. 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.

15 kommentarer.  Hop til debatten
Denne artikel er gratis...

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.

Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.

Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.

Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.

Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
12
8. januar 2018 kl. 10:19

Kan også anbefale Testdisk.

Det har lykkedes mig at redde de fleste data ud af en virkelig crashed SSD med Testdisk.

11
8. januar 2018 kl. 08:46

Der findes MANGE kommercielle tools, ingen grund til at nævne dem i denne tråd, og slet ikke tools til kr. 6.400, som Winhex Forensics ser ud til at koste!

9
4. december 2017 kl. 15:50

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.

8
4. december 2017 kl. 14:11

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

7
4. december 2017 kl. 13:59

Det er meget sødt, men hvis nu man kan høre armen fra den gamle disk støde på, clock, clock, clock ??? Så kan man sende den til et special laboratorie og betale 10.000 kr eller mere for gendannelse?

6
4. december 2017 kl. 13:51

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.

4
4. december 2017 kl. 11:18

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.

3
4. december 2017 kl. 10:31

Super indlæg, det er nemt at tro at data er tabt eller koster tusindvis af kroner hos en professionel -- hvis man ikke ved at man kan bruge "deres metoder" selv.

Håber jeg aldrig får brug for det (igen)...

2
4. december 2017 kl. 10:00

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.

1
4. december 2017 kl. 09:38

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.