Način povratka izgubljenih podataka (2. deo)
Autor: Milan Stojakov
U prvom delu ovog serijala videli smo kako da najjednostavnije i najbrže spasimo podatke sa diska. Iako se može relativno jednostavno izvesti, postoji jedna stvar na koju nismo obratili pažnju u prošlom delu, a to je „zdravlje” medijuma. Mi smo se bavili problematikom spasavanja podataka sa ispravnog diska, gde znamo da neće doći do nepredviđenog otkaza. U tom smislu postoji način za bezbednije spasavanje podataka pravljenjem otiska medijuma. Ako je kvar takve prirode, da smo jedva pristupili medijumu i da može doći do otkaza svakog trena, onda imamo mali broj čitanja podataka pre otkaza. Najbolje je da napravimo otisak celoga diska i sa tog otiska vršiti spasavanje. Princip je isti kao kod bilo kojeg medijuma – Pravimo virtuelnu kopiju (otisak) na hard disk i onda sa tog odraza vršimo spasavanje podataka. Nakon toga nama ostaje odraz trenutnog stanja medijuma, tj. kopija njegove sadržine na ispravnom medijumu i ako je potrebno možemo više puta pokretati spasavanje podataka sa različitim parametrima bez bojaznosti od otkaza. Ovaj pristup je poželjan ali nije izvodljiv kada su u pitanju velike particije, čiji odraz nemamo gde da smestimo. Kako se mi bavimo spasavanjem podataka sa memorijske kartice, smatramo da ovo neće predstavljati problem.
Pravljenje otiska
Otisak možemo napraviti korišćenjem testdisk programa ili korišćenjem komande dd
koja je preinstalirana na mnogim linuks distribucijama.
Naredba dd
Ovde ćemo u kratkim crtama opisati korišćenje komande dd
. Napominjemo da je ona brža za korišćenje, ali možete lako pogrešiti i uništiti vašu sistemsku partciju stoga vam savetujemo da je koristite samo ako znate šta radite.
Sintaksa komande dd
Kratko ćemo pogledati sintaksu komande
dd if =of= bs = 4096
Polje
je u formatu /dev/sdb1
gde je /dev/
standardni deo, a sdb1
oznaka particije na sistemu. Oznaku particije dobijamo komandom lsblk
. Polje
je mesto gde čuvamo otisak memorijske kartice i naziv otiska. Na mnogim konfiguracijama početna putanja terminala jeste /home
fascikla. Na korisniku ostaje gde želi da sačuva otisak memorijske kartice. Otisak stavljam da bude u formatu .img
Kada smo dobro razumeli komandu dd, možemo pristupiti pravljenju otiska kartice.
sudo dd if=/dev/sdb1 of=/oporavak/odraz.img bs = 4096
Kada se izvrši naredba, imamo otisak kartice koji je spreman za operacije spasavanja.
Izrada otiska putem Testdisk
Bezbedniji metod izrade otiska jeste korišćenjem programa testdisk koji imamo instaliran zajedno sa Fotorekom. Izrada otiska je indentična kao i spasavanje podataka koje smo prikazali u prošlom delu. Prvo je bitno da utvrdimo oznaku našeg uređaja na sistemu, što ćemo učiniti naredbom lsblk
Oznaka uređaja je sdb
. Kao i prošli put preporučljivo je da ovu informaciju zapišete kako ne biste pogrešili. Pokrećemo program
sudo testdisk
Biramo uređaj sa kojeg vršimo pravljenje otiska particije.
Sada biramo vrstu particije medijuma, odnosno naše memorijske kartice. Vidimo dole da je program detektovao da je upitanju Intel
particiona tabela. Verujemo da će se sa tom particionom tabelom naši čitaoci najviše susretati jer je ona najrasprostranjenija.
Sada imamo ponuđen niz opcija koje su svojstvene testdisk programu. U ovom delu ćemo videti samo šta podmeni Advance
nudi.
Ovde je prikazana particija formata FAT32
jer je jedina na kartici. To je tipičan slučaj – obično memorijske kartice nemaju više od 1 particije. Sada je bitno da izaberemo stavku Image Creation
koja se nalazi u dnu programa.
Biramo odredišnu destinaciju otiska memorijske kartice. Ciljani direktorijum biramo korišćenjem tastera C
na tastaturi. Gore možemo videti veličinu otiska medijuma i naziv otiska image.dd (15719 MB)
Nakon svega proces pravljenja otiska može da počne.
Spasavanje podataka sa otiska
Kako je upitanju otisak medijuma, spasavanje podataka je isto kao što je opisano u 1. delu Način povratka izgubljenih podataka – Fotorek ovog serijala. Koristićemo Fotorek da spasemo izgubljene podatke.
Pokretanje
Pokretanje se vršii na sledeći način. Korišćenjem terminala pređemo u direktorijum gde smo napravili otisak medijuma. U ovom slučaju direktorijum je /home/milan/oporavak
cd oporavak/
Početni direktorijum u terminalu jeste milan
Komandom
sudo photorec image.dd
pokrećemo program.
Sada je proces spasavanja istovetan onom procesu opisanom u 1. delu serijala. Program se isto ponaša kao da je upitanju »pravi« disk ili otisak diska. Prateći uputstvo iz 1. dela serijala izvršićemo spasavanje podataka.
Sortiranje podataka
Fotorek ima specifičan izlaz. Spaseni podaci su poređani u razne direktorijume bez ikakvog nama jasnog reda. Kako izlaz može imati i preko 1000 raznih datoteka, nije produktivno pregledati svaku datoteku ručno, pa ćemo za tu svrhu koristi skriptu.
Koristićemo pajton skriptu koja je napisana za Fotorek. Skripta sortira datoteke po ekstenziji. Skripta se pokreće iz terminala naredbom
python recovery.py
Sintaksa je jednostavna i nakon unošenja lokacije spasenih podataka i odredišne destinacije operacija može da počne
Datoteke su postavljene u fascikle po ekstenziji. Kod slika, tambnejl (eng. Thumbnail) datoteke su filtrirane. Skripta sortira slike i po datumu slikanja.
Ovim završavamo 2. deo serijala. Ovo je kratak uvod u ogromnu problematiku rada sa datotekam i bićemo slobodni da kažemo da je pravljenje otisaka diska i spasavanje podataka osnovna „kultura” koju bi svaki korisnik računara trebalo da zna. Nadamo se da će ovaj kratak serijal nekoga spasiti velikih frustracija koje neizbežno prate havarije prouzrokovane gubitkom podataka. U sledećem delu se bavimo još jednim popularnim alatom otvorenog koda ddrescue
. Nadamo se da ćemo time zaokružiti priču sa alatima otvorenog koda.