Hlavní navigace

Poškozená data na paměťové kartě a jejich obnova

Už se vám to možná stalo: Přijedete z dovolené, celí natěšení zasunete paměťovou kartu do čtečky a ouha. Poškozený souborový systém vám zabrání přečíst obsah a cenné fotografie jsou tak zřejmě nenávratně ztraceny. Nemusíte si ale hned zoufat, existuje jednoduché a velmi účinné řešení, které je zachrání.

Tweetni to Odměnte autora  Jak to funguje?

Kdy a proč?

Už se mi několikrát stalo, že mi některý šikovný známý vytrhl z počítače flashku bez odpojení. Uživatelé MS Windows obvykle ani netuší, že by měli něco takového dělat. Pokud ještě systém nedokončil zápis a nedostal souborový systém do konzistentního stavu, problém byl na světě.

Totéž se vám může stát i s paměťovou kartou, pokud je vytažena příliš brzy. I samotný fotoaparát může způsobit problém, pokud se například vybije v nesprávnou chvíli, kdy zrovna mění soubory na kartě.

Nemusí však dojít jen k softwarové chybě či selhání lidského faktoru, ale může dojít k poškození samotné karty v místě zápisu důležitých dat v souborovém systému – například FAT tabulky.

V každém případě se ovšem jedná o velký problém, který vám znemožní kartu připojit a získat z ní data. Přestože je většina softwarových potíží řešitelná vytvořením nového souborového systému, uživatele obvykle více zajímají data než samotná karta za pár stovek.

Co s tím?

Pokud opravdu už dojde k vážnému poškození souborového systému, nepodaří se obvykle kartu připojit. Ačkoliv je v systému fyzicky viditelná, jádro neumí pracovat s daty, která nemají předepsanou strukturu.

Obvykle dochází k poškození systémových částí karty jako je zmíněná FAT tabulka. Ačkoliv samotná data poškozená nejsou, jádro se k nim neumí dostat. Dodatečným „manuálním“ rozborem dat jsme ale schopni zachránit alespoň něco.

Samozřejmě bychom takovou akci mohli provést ručně sami, ale existují nástroje, které to udělají docela pohodlně za nás. Svou práci odvedou rychle, bez problému a ani nepotřebujeme mít potřebné znalosti.

Nejprve záloha

Než začnete s kartou pracovat, nejprve proveďte zálohu všech dat. Ideální je vytvořit kompletní obraz celé karty a s ním (na disku) pak pracovat. Jednak je to rychlejší, ale hlavně zabráníte zničení dat, pokud se něco nepovede.

Stačí tedy zavolat

$ dd if=/dev/sda of=karta.img

A ve zvoleném souboru (tedy karta.img) naleznete kompletní obsah vaší karty. Nad tím (respektive raději ještě jeho kopií) teď budeme pracovat.

Program photorec

Na samotnou obnovu použijeme program photorec. Ten je součástí balíku testdisk, který byste měli najít ve své distribuci (v Debianu je). Samotný balíček má několik set kilo a má jen málo závislostí.

Pokud jej v distribuci nenaleznete, chcete statickou verzi nebo verzi pro jiný systém, navštivte domovské stránky aplikace. Tam získáte balík pro DOS, MS Windows 9×, NT4/2000/XP/2003, Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Mac OS X a samozřejmě také zdrojové kódy, které zkompilujete podle autorů téměř kdekoliv.

Jak to funguje

Program pracuje nad daty získanými z paměťové karty a vychází z toho, že je souborový systém poškozený. Proto jej rovnou ignoruje a v obrazu hledá hlavičky samotných souborů. Soubory JPEG mají na začátku sekvenci „JFIF“, v hlavičce PNG nalezneme znaky „PNG“ a podobně.

Photorec ovšem nezvládá jen obrázky, ale detekuje na 130 různých formátů. Jsou mezi nimi například kompresní archívy (gz, rar, tar, bz2, zip,…), multimediální soubory (mp3, avi, ogg, jpeg, png, gif,…), dokumenty (pdf, od*, doc, xls, rtf,…) a další (exe, html, py, rb,…). Kompletní seznam naleznete na domovské stránce.

Program při svém běhu počítá s tím, že data na kartě nejsou nijak fragmentována a nijak proto neřeší jejich strukturu. Fragmentace na běžné paměťové kartě z fotoaparátu není příliš běžná, většinou fotíme a pak jednorázově kartu zase smažeme. Program tedy jednoduše začne obraz disku prohledávat a pokud narazí na známou hlavičku, uloží obsah za ní do samostatného souboru.

Díky tomu není aplikace příliš závislá na použitém souborovém systému. Přestože budete zřejmě na paměťové kartě používat FAT, photorec si poradí i s Ext2/3, HFS+ a skrze knihovnu libntfs9 čte také NTFS.

Pouštíme photorec

Práce s programem je velmi jednoduchá. Pokud hodláme pracovat přímo s kartou, budeme potřebovat práva nejvyššího (tedy roota) a bude nám samozřejmě stačit sudo. Můžeme photorec buď spustit bez parametrů, kdy nám vyhledá dostupná zařízení a interaktivně nabídne jejich obnovu, nebo mu rovnou řekneme, kde má hledat.

Spustíme proto

$ photorec karta.img

Okamžitě dojde ke spuštění programu. Ten nám nabídne jednotlivé disky k obnově. V tomto případě je na výběr jen jedna položka. Vidíme cestu k ní a její celkovou velikost.

photorec1

Nyní můžeme pokračovat stiskem klávesy Enter. Program se dále ptá, jaký systém rozdělení disků karta používá.

photorec2

Pokud se jedná o klasickou paměťovou kartu, zřejmě zvolíte možnost Intel. Pokud byste měli uložený už konkrétní oddíl, třeba /dev/sda1, zvolte None. Pozor! I pokud máte na kartě jen jeden oddíl, obsahuje karta tabulku oddílů.

Následuje nalezení jednotlivých oddílů a vy máte možnost jeden z nich zvolit. V mém případě byl samozřejmě oddíl jen jeden.

photorec3

Protože se v mém případě jednalo o skutečně hodně poškozenou kartu, program nezjistil, jaký souborový systém obsahuje. Proto se ještě dotázal, zda náhodou neobsahuje Ext2/3. Odpověděl jsem, že ne, protože na kartě byl původně FAT.

photorec4

Poslední otázka směřuje na použitý adresář. Stačí stisknout Y a program začne svou činnost v aktuálním adresáři. V něm vytvoří podadresář recup_dir, do kterého bude ukládat soubory. Podle autorů nedochází k zásahům do originálních dat.

Výsledek? Vynikající!

Práce trvají v závislosti na velikosti obrazu i několik minut a aplikace sama vypisuje, jak dlouho pracuje, jak dlouho přibližně ještě pracovat bude a kolik souborů už obnovila.

photorec5

Použil jsem relativně malý (16 MB) testovací souborový systém s FAT, na který jsem nejprve nahrál 71 fotografií a pak nechal přepsat prvních několik kilobajtů náhodnými daty.

Program pracoval zcela bezchybně a obnovil všechny soubory. Kontrola MD5 součtů pak ukázala, že jsou všechny naprosto kompletní a ve zcela původním stavu. Z tohoto hlediska tedy photorec dostává jedničku.

Samozřejmě nedošlo k obnovení názvů souborů, které jsou součástí poškozeného souborového systému. Photorec tedy jednotlivé soubory pojmenuje čísly a dokonce jim přiřadí správnou příponu.

Závěrem

Výsledek byl v tomto případě stoprocentní, ale u konkrétních obnov samozřejmě záleží, co přesně bylo zasaženo. V každém případě máte šanci získat zpět alespoň podstatnou část dat, o která byste jinak přišli úplně. Přijdete tak o část svých šedivých vlasů a ještě budete mít veselou historku při prohlížení fotografií z dovolené.

Anketa

Přišli jste někdy o data na kartě?

       

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Ohodnoťte jako ve škole:
Průměrná známka 2,77
Tweetni to Odměnte autora  Jak to funguje?

Vzdělávejte sebe i své lidi





.
  •  
    Firemní školení pro web a online marketing
  • Obsah školení přizpůsobíme na míru vaší firmě.
  • Odnesete si informace, které ihned uplatníte v praxi.

Detailní informace o individuálních školeních pro firmy »

       

Přehled názorů

A co na fragmentovanou kartu?
anonymní uživatel 24. 10. 2007 00:32
Nový
└ 
Re: A co na fragmentovanou kartu?
lol 24. 10. 2007 04:42
Nový
 
└ 
Re: A co na fragmentovanou kartu?
anonymní uživatel 24. 10. 2007 06:32
Nový
 
 
├ 
Re: A co na fragmentovanou kartu?
juvi 24. 10. 2007 07:17
Nový
 
 
│
└ 
Re: A co na fragmentovanou kartu?
_FP 24. 10. 2007 17:31
Nový
 
 
└ 
Re: A co na fragmentovanou kartu?
anonymní uživatel 24. 10. 2007 09:02
Nový
 
 
 
└ 
Re: A co na fragmentovanou kartu?
Ondrej 'SanTiago' Zajicek 24. 10. 2007 10:08
Nový
 
 
 
 
└ 
Re: A co na fragmentovanou kartu?
Tayto 24. 10. 2007 20:43
Nový
 
 
 
 
 
└ 
Re: A co na fragmentovanou kartu?
anonymní uživatel 30. 10. 2007 17:11
Nový
Sympatický článek
laco 24. 10. 2007 00:47
Nový
dd - ddrescue
marek 24. 10. 2007 08:08
Nový
└ 
Re: dd - ddrescue
anonymní uživatel 24. 10. 2007 08:52
Nový
 
└ 
Re: dd - ddrescue
Tom 24. 10. 2007 09:40
Nový
root
Radovan Garabík 24. 10. 2007 08:36
Nový
└ 
Re: root
misch 24. 10. 2007 08:49
Nový
 
└ 
Re: root
Tom fi 24. 10. 2007 14:41
Nový
A co stare dobre utility?
pht 24. 10. 2007 09:15
Nový
└ 
Re: A co stare dobre utility?
Palo 24. 10. 2007 22:44
Nový
jpg-recover*
Andrej Kvasnica 24. 10. 2007 09:24
Nový
Pěkné
LK 24. 10. 2007 09:24
Nový
└ 
Re: Pěkné
Tom 24. 10. 2007 09:52
Nový
 
└ 
Re: Pěkné
marek 24. 10. 2007 10:12
Nový
nechci flame
zdenek 24. 10. 2007 10:45
Nový
├ 
Re: nechci flame
BruXy 24. 10. 2007 13:25
Nový
│
├ 
Re: nechci flame
Kvakor 24. 10. 2007 17:55
Nový
│
└ 
Re: nechci flame
lobo 25. 10. 2007 00:06
Nový
│
 
└ 
Re: nechci flame
_FP 25. 10. 2007 01:49
Nový
└ 
Re: nechci flame
tom 30. 10. 2007 21:03
Nový
pouzivate sync?
fik 24. 10. 2007 11:01
Nový
└ 
Re: pouzivate sync?
Ondrej 'SanTiago' Zajicek 24. 10. 2007 11:39
Nový
 
├ 
Re: pouzivate sync?
fik 24. 10. 2007 14:47
Nový
 
│
└ 
Re: pouzivate sync?
Ondrej \\\'SanTiago\\\' Zajicek 24. 10. 2007 18:21
Nový
 
└ 
Re: pouzivate sync?
TomBA 24. 10. 2007 21:33
Nový
 
 
└ 
Re: pouzivate sync?
Tayto 24. 10. 2007 22:43
Nový
 
 
 
└ 
Re: pouzivate sync?
TomBA 24. 10. 2007 23:15
Nový
 
 
 
 
└ 
Re: pouzivate sync?
Jerzy 25. 10. 2007 10:41
Nový
 
 
 
 
 
└ 
Re: pouzivate sync?
anonymní uživatel 25. 10. 2007 17:00
Nový
Test
Jirka 24. 10. 2007 11:51
Nový
Poskodene MP4 video: vydolovanie pouzitelnych framov
ch 24. 10. 2007 12:56
Nový
├ 
Re: Poskodene MP4 video: vydolovanie pouzitelnych framov
pz 24. 10. 2007 13:14
Nový
│
└ 
Re: Poskodene MP4 video: vydolovanie pouzitelnych framov
ch 24. 10. 2007 17:58
Nový
└ 
Re: Poskodene MP4 video: vydolovanie pouzitelnych framov
fik 24. 10. 2007 14:50
Nový
 
└ 
Re: Poskodene MP4 video: vydolovanie pouzitelnych framov
ch 24. 10. 2007 18:01
Nový
 
 
└ 
Re: Poskodene MP4 video: vydolovanie pouzitelnych framov
Andrej Kvasnica 25. 10. 2007 09:42
Nový
čekal jsem víc....
h4X0r 24. 10. 2007 13:03
Nový
nesmysl
anonymní uživatel 24. 10. 2007 13:47
Nový
├ 
Re: nesmysl
anonymní uživatel 24. 10. 2007 13:50
Nový
└ 
Re: nesmysl
Ondrej \'SanTiago\' Zajicek 24. 10. 2007 14:24
Nový
 
├ 
Re: nesmysl
anonymní uživatel 24. 10. 2007 14:35
Nový
 
│
├ 
Re: nesmysl
Anče 24. 10. 2007 15:35
Nový
 
│
│
├ 
Re: nesmysl
Anče 24. 10. 2007 15:41
Nový
 
│
│
│
└ 
Re: nesmysl
anonymní uživatel 24. 10. 2007 16:30
Nový
 
│
│
│
 
└ 
Re: nesmysl
alpha 26. 10. 2007 12:50
Nový
 
│
│
├ 
Re: nesmysl
Ondrej 'SanTiago' Zajicek 24. 10. 2007 18:31
Nový
 
│
│
└ 
Re: nesmysl
LO 29. 10. 2007 03:03
Nový
 
│
└ 
Re: nesmysl
Ondrej 'SanTiago' Zajicek 24. 10. 2007 18:25
Nový
 
└ 
Re: nesmysl
Petr 24. 10. 2007 18:48
Nový
neni BFU jako BFU
rozumbrada 24. 10. 2007 15:39
Nový
└ 
Re: neni BFU jako BFU
Andrej Kvasnica 25. 10. 2007 09:49
Nový
 
└ 
Re: neni BFU jako BFU
LO 29. 10. 2007 03:07
Nový
 
 
└ 
Re: neni BFU jako BFU
Andrej Kvasnica 29. 10. 2007 09:05
Nový
Mensi dotaz
Dr.Tič 24. 10. 2007 15:40
Nový
└ 
Re: Mensi dotaz
Kvakor 24. 10. 2007 18:54
Nový
 
└ 
Re: Mensi dotaz
Dr.Tič 25. 10. 2007 10:28
Nový
 
 
└ 
Re: Mensi dotaz
vitek 25. 10. 2007 10:58
Nový
Dnes odzkouseno
Daniel Samek 24. 10. 2007 19:40
Nový
FAT
Napalm 24. 10. 2007 20:41
Nový
└ 
Re: FAT
Ondrej \'SanTiago\' Zajicek 25. 10. 2007 07:35
Nový
 
└ 
Re: FAT
LO 29. 10. 2007 03:10
Nový
chybny sektor na karte
Tom 25. 10. 2007 21:54
Nový
└ 
Re: chybny sektor na karte
alpha 26. 10. 2007 12:59
Nový
 
└ 
Re: chybny sektor na karte
Pavel Píša 26. 10. 2007 14:13
Nový
 
 
└ 
Re: chybny sektor na karte
LO 29. 10. 2007 03:17
Nový
no medium found
Jouda 30. 10. 2007 13:02
Nový
├ 
Re: no medium found
LO 30. 10. 2007 13:08
Nový
└ 
Re: no medium found
frantisek 30. 1. 2008 14:27
Nový
Obnovení dat z flashky
Lisy 11. 2. 2008 12:51
Nový
Nám problém s posunem bitů v JPEG
Franta 28. 2. 2008 17:40
Nový
Nefunkční
pepé 28. 10. 2009 21:23
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem