Jestli je to fragmentovaný FAT systém a smázneš si FAT tabulku, tak už to podle mě nedá dohromady ani pánbůh. Prostě se ztratil celý popis, jak jdou sektory souboru za sebou. S tím nejde nic dělat. Právě proto lidi vymysleli lepší souborové systémy než FAT, s kterým někdy v roce 1977 příšel Microsoft pro PC založené na i8080 s 64KB paměti ... (Wikipedia)
Kolik je FAT tabulek na paměťové kartě? Jsou foťáky, co umí třeba ZFS? :-)
Jaký filesystém měl CP/M? Já vím, že neměl adresáře a oddíly, ale nějak to přece na disk musel ukládat.
Jo stará éra slušovických TNS... CPM bylo (asi) přímým předchůdcem FAT, protože adresářový záznam se FAT dost podobal. Bylo to 32 bajtů, kde část 1. bajtu definovala uživatele (bylo jich 32), potom 8+3 znaků jméno a přípona, pak časové značky a příznaky (pořadí nepamatuji) a nakonec čísla sektorů. Dlouhé soubory byly ve vícero záznamech za sebou s tím, že to definoval ten 1. bajt. FAT byl vlastně totožný s tím rozdílem, že uváděl pouze 1. sektor (klastr) a definoval adresářový příznak. Přepnutí uživatele přepnulo selekci dle 1. bajtu a tím zpřístupnilo jiné soubory.
"Jestli je to fragmentovaný FAT systém a smázneš si FAT tabulku, tak už to podle mě nedá dohromady ani pánbůh."
No, prave jsem si myslel, ze clanek bude trab o programku, kterej vezme jednotlivy bloky dat (podle celkove velikosti disku pozna logickou velikost bloku FS) a pak bude jednotlive bloky na sebe zkouset pripojovat, jestli barevne sedi a podle toho by mohl vytvaret puvodni obrazky i na fragmentovanym systemu.
Jinak FAT ma dve kopie FAT tabulky (to je default a doufam, ze se nejaky zarizeni nesnazi byt chytrejsi a nedela jenom jednu), takze mozna i tam by mohlo neco pomoct. Navic, nezda se mi, ze by jakykoliv zarizeni pri zapisu dat na disk nacetlo celou FAT, vymazalo ji z disku, upravilo v pameti a zapsalo na disk. Osobne doufam, ze to precte max. jeden sektor, v nem udela zmeny a ty pak zapise. Znamenalo by to, ze by se neztratil cely obsah, ale pouze onen soubor, ktery byl zapisovan.
Jinak dobra praxe pri zapisu na karty a dalsi externi zarizeni je, po zapisu a odpojeni zarizeni tohle zarizeni znovu pripojit a aspon letmo zkontrolovat pocet a nazvy souboru s originalem a v lepsim pripade delat checksumy.
> Navic, nezda se mi, ze by jakykoliv zarizeni pri zapisu dat na disk nacetlo celou FAT, vymazalo ji z disku, upravilo v pameti a zapsalo na disk. Osobne doufam, ze to precte max. jeden sektor, v nem udela zmeny a ty pak zapise.
Jenze pri zapisu do flash pameti je treba najednou zapsat pomerne velky blok (radove desitky kB) - to dela CF ci SD karta sama pri pozadavku na zapis sektoru. Pokud dojde k poruse pri zapisu, muze se poskodit cely takovy blok.
Neco takoveho se mi stalo s docela drahym fotakem Sony. Najednou hryz a pri mazani se seknul. Partisna a fatka nikde. Diky bohu FATka nefragmentovana a odnesly to jen fotky.Photorec nasel jpg podle hlavicek. Slava mu!
[kotyz@amargit ~]$ dd if=/dev/sdb of=/home/kotyz/zalohy/karta.img
dd: reading `/dev/sdb': Chyba vstupu/výstupu
0+0 records in
0+0 records out
0 bytes (0 B) copied, 0,0469598 s, 0,0 kB/s