f fffffffff friki.cat
Aquest és un bloc friki
Recuperar fitxers esborrats
Ahir em van plantejar el problema de recuperar fitxers esborrats d'una memòria usb.

La millor forma de no tenir problemes amb això és no esborrar-los, però quan això ja està fet... suposo que l'altra millor opció és tornar enrera al temps i evitar-ho.

En el cas de no disposar d'un hardware apropiat per a tornar enrera en el temps, podrem recórrer a solucions per software, però no seran, ni d'aprop, tan efecients!

El primer que heu de fer, per evitar perdre, encara més dades és fer una imatge de la memòria al disc dur:
dd if=/dev/sda of=imatge

Després, podeu instalar el foremost, per exemple. A Debian seria així:
aptitude install foremost (com no podia ser d'altre forma ;-) )

Ara ja tenim gairebé tot el que necessitam en quant a programari. El problema que s'ens planteja ara és conéixer el format del(s) fitxers que cercam. En el meu cas va ser una mica més complicat perquè no era un dels formats típics (jpg, png, gif, doc (ecs!)...). Simplement vaig obrir un parell de fitxers i vaig mirar les parts que coincidien a capçalera i al peu. Això ho heu de ficar fins el fitxer /etc/foremost.conf, o bé, crear un fitxer de configuració nou (tal com vaig fer jo).

En el meu cas vaig afegir aquesta línia:
FH11 y 500000 \x1C\x01\x00\x00\x02\x00\x04\x1C\x01\x14\x00\x02 \xFF\xFF\xFF\xFF\x1C\x09\x0A\x00\x04\x00???

La primera columna no te gaire importància, és el nom de la extensió que donarà foremost als fitxers que trobi. La segona columna indica que la cerca ha de ser sensitiva a majúscules i minúscules (crec que sempre serà recomanable, però suposo que hi ha casos on no). La tercera columna és la mida màxima dels fitxers (a partir d'aquest tamany s'atura d'afegir bytes al fitxer de sortida i comença a cercar un altre fitxer). A continuació aquests símbols extranys són els valors hexadecimals que indiquen l'inici d'un fitxer dels que jo cercava. I, per últim, podem afegir el peu del fitxer.

Com podreu observar, hi ha uns interrogants al final d'aquest exemple. Això indica que aquest byte pot variar d'un fitxer a un altre. Un comodí de tota la vida, vaja...

Si no indicau el format de finalització dels fitxers, el foremost es regirà únicament pel tamany màxim de fitxer que indiqueu a la tercera columna.

En alguns casos, pot ser que el mateix tipus de fitxer (mateixa extensió) pugui tenir dos o més formats distints. Simplement afegim una línia més per a cada un dels possibles formats al fitxer de configuració.

Ara, ja tenim la cosa montada només cal agenollar-se davant l'ordinador amb un manual de l'emacs a la ma esquerra i recitar tres cops la GPL 2.0 (o superior a elecció de l'usuari) i fer les plegaries a San Ignuci. En acabar, feu això:
foremost -c ~/.foremost.conf -i ~/imatge -o /tmp/foremost

Torba una estona a fer la cerca. Depenent de la memòria de la màquina, de la velocitat del disc, de la cpu i de la fase llunar i, sobre tot, del tamany del fitxer d'imatge, el temps serà més o menys. Podeu aprofitar aquests minuts per a recitar alguna altra oració o fer aportacions econòmiques a la FSF, a Bulma o a mi mateix (per exemple). L'ordre de preferència és de darrer a primer, com podreu suposar...

Si heu seguit les explicacions pas per pas amb tota seguretat dins /tmp/foremost hi haurà tots els fitxers que havieu perdut. I si no, podeu alliberar la vostra ràbia escrivint un post al vostre bloc, enviant comentaris als blocs dels companys o clicant als addsense de tots els bloggers 2.0.

Per cert, hi ha un detall que trop que falla un poc al Foremost. Desconec i altres programes ho resolen (o si hi ha alguna forma de fer-ho amb aquest mateix). El tema està en que dins la imatge hi haurà merda de tot tipus (literalment). Imaginem l'esquema de memòria següent:

merda - més merda - capçalera - segueix el fitxer - més merda (el fitxer està corrupte i és irrecuperable) - capçalera - cos del fitxer - peu - merda

Esper que s'entengui. Hi ha un fitxer vàlid entre la segona capçalera i el peu, però el programa interpreta que el fitxer comença a la primera capçalera i acaba al peu. D'alguna forma s'hauria de poder indicar que aquesta capçalera no es pot repetir dins un fitxer i, si això passa, hauria de descartar el que hi ha des de la primera capçalera fins a la segona. Per evitar això cal jugar un poc amb els tamanys màxims dels fitxers (tot i que no asseguram que així funcioni). La cosa es pot complicar encara més quan estem cercant fitxers de distints tipus a l'hora o vet a saber que.

Ah, fullejau el manual del foremost i veureu que hi ha més opcions, per exemple per a limitar un rang de cerca dins la imatge.

Au, fins aquí. Esper que mai hagueu d'emprar aquest tipus de programes perquè són síntomes de que la cosa pot anar millor. I, sobre tot. Recórrer a la solució software és el que s'ha de fer quan les altres solucions no es puguin dur a terme.

Una abraçada a tots! Ens veim a la GKedada bulmera.
Enviat a les 16:48 22/2/2007 a la categoria Programari Lliure amb 2 comentaris.

Comentaris:

#1 ...diga-l'his a ne's frikies que a s'Abril sa Kedada serà a... batualmón! per allà dalt "de los balcanes"... que mo'n anam a veure si trobam na "Sílvia" jejeje! Una abraçada! :-P
Gravatar peter punk a les 2:28 23/2/2007
#2 Go -eeeeeeeeest, la la la la la
Go -eeeeeeeeeest, la la la la la!
anem a portar caliu i xispes per alla d'alt.
A un castillo que pareix d'en Dràcula.
Gravatar Bartomeu a les 7:34 23/2/2007
Articles
Categories
Efemerides
Ja fa un any...
Arxius
Enllaços
Comentaris
  • S'han fet 423 comentaris
Sindicacions
rss2RSS2 a les noticies
rss2RSS2 als comentaris
Darrera Actualització
  • 1:34 20/2/2018
Contacte

Antoni Villalonga i Noceras

Ensaïmada

Validadors

Valid XHTML 1.0 Transitional

Valid CSS!

[Valid RSS]

Powered by FrikiBLOC. Els gràfics els ha fet en Peter, gràcies! Darrera actualització: 1:34 20/2/2018