Автор Тема: Основни принципи при възстановяването на данни  (Прочетена 2959 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.    

Неактивен Diabolik

  • зарибен/а
  • зарибен/а
  • ****
  • Публикации: 116
  • Пол: Мъж
  • Black Panther
    • Профил
    • Даволският Блог
Основни принципи при възстановяване на данни

Увод

Когато записвате данни на дискета, zip/jaz/zar/лентово устройство/хард диск основният принцип на запис на дани е същият, разликите са в това как се кодират данните преди да се запишат върху носителя.

Какво е хард диск?

Хард диска представлява метална кутия, направена от алуминиеви сплави, за да няма магнитни свойства. Вътре в тази кутия има един мощен електромотор, екраниран разбира се, който задвижва шпиндел на който има закачени един или няколко алуминиеви диска, покрити с магнитно покритие, наречени плочи. Шпиндела и втулките които държат отделните плочи на определено разстояние една от друга също са от алуминиви сплави. Това масоомо ползване на алуминиеси сплави се прави за да може мастите да нямат магнитни свойства. Всъщонст всички части вътре в диска са от алуминиеви сплави или ако се наложително да са от желязо и/или стомана или има магнити те са в собствени “клетки” в кутията на диска заобиколени от алуминиевата сплав. Всичко това се прави с единствената цел, да се изолират външни и вътрешни магнитни полета, и да се избегне интерференция с частите вътре в диска която би причинила грешки при запис, четене или дори загуби на данни.

При запис и четене, механично рамо за което е закачена четящата/пишещата глава придвижва главата по радиуса на плочите, без да се допират до плочите. При видоките оороти с които се въртят плочите, вече масовите дискове са на 7200 оборота а бързите на по 10 000 SATA или SATA 2 дори най-лекото докосване ще нанесе сериозни щети на магнитното покритие и ще повреди главите.

Главите се поддържат във въздуха, от въздушен поток който се завихря от плочите, докато се въртят. Котаго изключите компютъра, диска първо сам прибира главата си в безопасната зона и тогава спира да върти плочите – това се нарича паркиране на главата. При пускане диска първо завърта плочите, и тогава извежда главите от позиция от безопасната зона до пътека 0 където е записан Master boot record, таблицата надяловете на диска (partiotn table), файловата таблица ца всеки дял.

Основните таблици под уиндоус са:

File Allocation Table 12 Bit 12 битова фат, това е файловата таблица на 3,5 инчовите дискети,

File Allocation Table 16 Bit 16 битова файлова таблица за ДОС, уин 3.Х и уин 95

File Allocation Table 32 Bit 32 битова файлова таблица, за уин 98/98SE/Me/win 2000/win xp/win 2003

NTFS MFT Master File table това е файловата таблица на NTFS дял. За Win NT 3.5/4.0/2000/xp/2003

В тези таблици се съдържа информация за файла:

Размер на файла

Тип на файла

Физически на кои сектори се намират парчетата от файла

В коя директория/поддиректория се намира файла

Атрибути на файла – дали е скрит, системен, или само за четене

В случая на NTFS и MFT се съдържа копие на ACL – Access Control List където се определя кой потребител какви права за достъп има до файла.

Съвременните хард дискове IDE или EIDE което значи Integrated Drive Еlectronics или Enhanced Integrated Drive Electronics идват с елекроника – с контролер закачен направо на диска. Всички дискове с обем ДО 512 мб са IDE хард дискове, Всички дискове с обем ПОВЕЧЕ от 512 мегабайга са EIDE така че независимо дали ползва UATA 33/66/100/133 интерфейс – parallel ATA или SATA/SATA2 Serial ATA/Serial ATA2 интерфейс или SCSI варинтите като интерфейс за пренос на данни, тези хардискове са все EIDE защото имат техен собствен контролер монтиран от външната страна на алуминиевата кутия.

Всичката тази информация за различните дялове, файловите системи и файлови таблици, може много лесно да се повреди а тя отговаря за данните по хадр диска.

Загуба на данни се получава по 2 основни причини физическа грешка и/или дефект или логическа грешка.

Логическите грешки могат да се причинят от спиране на тока, неправилно рестартиране, червеи, вируси, експлоити, бъгове в зле написани програми, неправилно спиране на компютъра, лоши драйвери...

Физическите грешки се дължат на хардуерни причини, стара електроника, зле закачен кабел, стар диск с износено магнитно покритие, издрано магнитно покритие, дефектна глава, дефекти в механизъма за позициониране на главата, удар, счупена част, спиране на тока, нарушена херметизация. Диска не е 100% херметичен, той има една специална дупка през която поема въздух, по там има филтри, които спират проникването на водни пари от въздуха, прах, кислород, въглероден оксид и въглеронед диоксид, дефект на електрониката, прекъсната жичка от кабела...

Софтуерно възстановяване на данни представлява опит да се прочетат и извадат данни от засегнати области с помощта на специални програми, които ако е необходимо, могат да търсят данни, на сляпо без помощта на файловата таблица. Така може да се възстанови и след форматиране, дори след пълно форматиране на дяла, от една файлова система в друга пак може да се възсатовят данните, стига текущата ОС да е съвместима с новата и старата файлови системи, и възтановяващата програма също. Веднъж секторите презаписани, старата информация бива прзаписана с новата и възтановяването и по софтуерен път става невъзможно. За да разберете по-добре възтановяването на данни, нека видим как се записват и съхраняват данните и какво става когато един файл бъде изтрит.

Запис и съхранение на данни

Когато си купувате нов диск, той идва форматиран на ниско ниво от производителя. Тоест с вече обособени пътеки и сектири. Сектора е най-малката организационна единица за съхранение на данни, с която ОС работи, сектора има обем от 512 байта – половин килобайт. За да се постигне баланс между скорост и разхищение на излишно място, секторитте се групират в клъстери. Клъстерите биват заети (allocated) ако в тях има записан файл или парче от файл, и то може да се достъпи и ползва от потребителя и системата, или не може да бъде достъпен, заради повреден запис във файловата таблица или липсваща такава, но там има файл или парче от файла което е било достъпно за системата и потребителя преди появата на грешката, или празни (Unallocated) ако в тях няма нищо записано, или от тях току що е изтрит файла. По-голям клъстер, значи повече сектори по-висока скорост, и по-голяма загуба на място и обрато, по-малки клъстери значи по-малко секгори в клъстер, по-малко разхищение на място и по-ниска скорост. Оптималната настройка е 4кб клъстери (8 сектора). Ако запишете много малък файл, той заема цял клйстер на хард диска, и следващият файл ще бъде записан в друг клъстер, дори ако първия файл не е запълнил клъстера. От там идва и неизбежнот разхищение на място. Колко място ще бъде зегубено зависи от големинета на файла, колко килобайта от клъстера остават незаписани ако файла се събира ведин клъстер, или ако файла се събира в няколко клъстера, колко килобайта остават неизползвани в последния клъстер. Ако има 2 или повече файла в един клъстер, се счита за логическа грешка преплетени файлове. Ако записвате много голям файл, той ще се запише в толкова клъстери, колкото са необходими, за да може обема на всички клъстери да е равен или по-голям от файла. Възможно е при голям файл последният клъстер да се запълни частично. Напрактика нещата не са толкова прости. Реално при ежедневната работа, когато се създават множество временни файлове, други програми създават и трият временни файлове, вие записвате файлове, независимо дали е прорама или игра. При запис, хард диска, търси първите свободни клъстери и записва там, ако те не са достатъчни, като ги запълни търси следващата най-близка група клъстери, и продължава записа, и така докато целия файл бъде записан. Това е причината файловете да се записват на парчета из диска, а не в поредни клъстери. Това се нарича фрагментиране. Това забавя работата на хард диска, защото диска трябва да търси отделните парчета, да ги чете едно по едно, а това изисква време да се направи. тук дефрагменитрането е нож с 2 остриета. От една страна подрежда файловете да са в поредни клъстери, което намалява времето на търсене и улеснява потенциално възстановяване, от друга страна можа да попречи на възстановаване на предишни изтрити файлове, файловете ще бъдат изцяло предодредени и записвани в поредни клъстени, ако е необходимо свободни ще се записват, заети ще се изпразват когато парчета се преместят, това презаписва клъстерите, които може да съдържат вече изтрит файл, правейки го невъзстановим за софтуерно възстановяване. След като файл или парче от файла бъде записано някъде, информацията за файла или парчето бива записана във файлова таблица, така операционната система и хардиска винаги знаят къде е файла или парчето то файла. Фрагментирането на файла можеу да е пречка, за възстановяващите програми, защото методите за възстановяване на данни работят най-добре на подредени дискове, и изпитват много сериозни затруднения и забавяне когато файловете са фрагментирани. Понякога, може да се възтанови файл който съдържа парчета от няколко фрагментирани файла, защото по някаква причина възстановяващата програма не е открила информацията за тези парчета към кои файлове принадлежат. Това е често явление при RAW Reading Recovery когато се търсят директно парчета на сляпо, без да се използва информацията от файловата таблица. В такива случаи се прибягва ако файловата таблица е силно повредена или изтрита, пример: форматиран диск, неуспешно конвертиране или преоразмеряване на дяловете, вируси, червеи, троянски коне... при преоразмеряване на дяла, се променя и дължината на файловата таблица, ако дяла се уголемява, и файловата таблица се разширява, за да опише новите сектори и клъстери, и при намаляването на обема на дяла, намалява броят сектори и клъстери и съответно от файловата таблица, се премахват записите за тези сектори и клъстери които вече не са част от този дял.

Какво става когато изтрием един файл?

Когато натиснете клавиша дел, файла не се изтрива, файла се премества, от папката в която е бил в служебната папка recycle bin. В тази папка файла се съхранява докато не бъде възтановен или окончателно изтрит. Това е предпазна мярка, ако изтриете файл по погрешка или ако промените мнението си и поискате да го възстановите.

Директното изтриване на файла става когато изпразните кошчето или кажете на уиндоус да го изтрие директно с клавишната комбинация shift+del.

Когато файл се изтрие и премести, срещу името му в неговия запис за директорията в която е бил се слага специален символ, който маркира файла като изтрит. Така ОС заблуждава програмите и себе си че файла го няма, и че тези клъстери са свободни. Когато кошчето се изпразни същото става и с файловете там. Ако изтриете файл през recycle bin оставяте 2 следи по които файла да бъде открит. Едната в папката на recycle bin втората в оригиналната папка където е бил. Когато файла се премести от една папка в друга, или в recycle bin остава следата в оригиналната папка. Когато файл се извади от recycle.bin файла оставя следа в recycle bin и се записва на ново място, оставяйки и следата където е бил преди да се изтрие или се записвана същото място е бил преди да се изтрие. Кое от двете ще стане, зависи от това в какво състояние е файловата система и нивото на фрагментация.

Как да определя мога ли сам да се справя с проблема или да се обърна към фирма?

Първо проверете дали хард диска работи и е в технически изправно състояние. Ако чуете диска да се завърти и не чуете други шумове освен въртенето тогава електрониката и механиката са ок.

Ако чувате диска да се завърти и да се върти равномерно - тоест шума от въртенето е равномерен, но чувате и дрънкане, тракане чукане, пукане, това са белези за механична повреда.

Ако електрониката не е наред, към всичкото това пукане и тракане, тропане, дрънкане, чукане, чувате как диска се върти неравномерно бързо – тоест шума от въртенето постоянно се сменя на по-силен или по-слаб, диска не се появява в първоначалният рапорт на биос, или излиза с маймунски символи или с неправилен обем това подсказва за проблем с електрониката или за проблем с механиката или с двете едновременно.

Ако имате загуби поради дефектна механика или дефектна електроника или и двете дават дефект, тогава спрете компютъра незабано, за да не увеличите и без това големите щети. Не се опитвайте да се справяте с проблема използвайки програми, защото те няма да ви помогнат, а само ще влошите положението. Извадеде диска от компютъра и го занесете в специализирана фирма, със специализирана техника и обучени инженери, които ще се опитат да ви помогнат с хардуерни методи да извадите данните си. Тези процедури са бавни, скъпи и не се знае нито колко време ще отнемат, нито колко данни ще се извадят, нико колко пари ще ви струва, нито с каква степен на изкривяване ще е извадят данните нито до колко могат да се възстановят в последствие. Инак казано зависите от милостта на неволята, от милостта на вашият късмет, кадърността на инженера който работи по вашия диск и качеството на оборудването с което се работи по диска за да ви спасят данните.

Как да си възстановя данните?

Ако клъстер който съдържа информация е физически повреден или презаписан, няма как със съофтуерни методи да си върнетеинформацията. До тук вече трябва да ви е ясно, защо колкото повече ползвате компютъра, реди да се опитате да възстановите файловете които са ви важни, толкова по-малки са шансовете да ги възсатонивие.

Ако ще използвате програма, за възстановяване на данни, не я инсталирайтена дяла който ще възстановявате за да не презапишете файловете изцяло или частично. Ако го направите, файловете които са частично презаписани, няма да ви от полза, софтуера който ще възстановява ще вижда парчето от файла, но няма да може да определи името, и типа на файла към който парчето принадлежи. Колко голямо ще е парчето, на частично презаписаният файл, зависи от това колко е голям стария файл и с колко голям файл е презаписан. Най-добре да използватеверсия от буутваща дискета или буутващо СД. Така се гарантира че няма да има никаква активност по дяла който ще се възстановява, и се елиминира възможността, да се презапишат файловете които ще възстановявате.

Много добра идея е да не работите върху оригиналния диск, направете му имидж, в двоичен режим, сектор по сектор, като включите и deleted areas – зоните на дяла, които съдържат останките от изтрити файлове. Запишете копие на имиджа на друг диск и пазете оригиналното копие на имиджа. Така ако объркате нещо ще имате втори, трети и още много шансове да си извадите файловете докато пазите оригиналното копие на имиджа. Винаги ще можете да го записвате отново и отново и отново и отново, връщайки ви в изходна позиция да пробвате различни техники за възстановяване, докато извадите всичко което ви интересува, или поне максимална част от него.

File Allocation Table (FAT) или Master File Table (MFT)

При по-старите ОС до уин 98 второ издание и милениум включително, MBR файловата таблица, таблица на дялове и directoy entries – записи на папките и подпапките се съхраняват в едно специално място наречено root directory – главна директория, (не бива да се бърка с корен c:\>). Тези ОС за да стигнат до даден файл използват информацията в главната директория.

В Windows NT 3.5/NT 4.0/2000/xp/2003/vista още известен като longhorn които поддържат NTFS файлова система тази всичката информация, се записва в една обща таблица MFT – Master File Table. Тя е по-сложна, защото освен всичката инфорация за файлове, и папки съдържа допълнително информация за ининдексите на файловете ако индексирането е включено, което може да се използва като допълнителна информация при опити за въстановяване, както съдържа и копие на ACL – Access Contol List където се описва достъпа до всеки файл/папка/подпапка/дял, за всеки потребител, и група. Тук е момента да спомена че индексирането далеч не е толкова лоша функция, напротив. Тя ви бави, да но само докато изгради индексите, веднъж като ги изгради, бавенето изчезва а търсенето на файл по даден критерии независимо ръчно с файлов мениджър, или през прозорците на работната програма, или самата програма/ОС си търси нейн файл за нейна функция отнема по-малко време.

Тук принципа на работа е същият, има малки разлики, заради новият начин на описване на данните и допълнителната информация, но основният принцип остава същият

ВАЖНО Е ДА СЕ ЗНАЕ, НЕЗАВИСИМО ДАЛИ Е FAT ИЛИ MFT НА NTFS ДЯЛ, ТОВА Е СЛУЖЕБНА ИНФОРМАЦИЯ, КОЯТО СЕ СЪХРАНЯВА ОТДЕЛНО ОТ ПОТРЕБИТЕЛСКИТЕ ДАННИ, ТОЧНО ТОВА РАЗДЕЛНО СЪХРАНЕНИЕ УЛЕСНЯВА ВЪЗСТАНОВЯВАНЕТО НА ДАННИТЕ. ЦЕЛТА С КОЯТО СЛУЖЕБНАТА ИНФОРМАЦИЯ И ПОТРЕБИТЕЛСКИТЕ ДАННИ СЕ СЪХРАНЯВАТ ОТДЕЛНО Е АКО ЕДНОТО СЕ СКАПЕ, ДРУГОТО ДА ОСТАНЕ НЕПОКЪТНАТО. АКО ДВЕТЕ СА НА ЕДНО МЯСТО, КАТО СЕ СКАПЕ ЕДНОТО ЗАМИНАВА И ДРУГОТО.

Възстановяване на данни, чрез файловата таблица

Най-елементарното възстановяване е възстановяване по файлова таблица. Те могат да прогнозират шансовете за възстановяване според състоянието на изтритият файл. Този метод, се базира на проверка на записите във файловата таблица, за всички клъстери в които файла е бил записан, за да види празни ли са или са презаписани с друг файл или парче от файл записани там в последствие. Това е бърз метод но не много надежден, ако дори един клъстер е частично презаписан с много малък файл, възтановяването на този файл с този метод е невъзможно. Този метод също не може да ви помогне, ако файловете таблица липсва или е повредена, дори и всичките клъстери да са свободни. Той разчита на информацията от файловата таблица и на нищо друго. Ако файла може да се възстанови, програмата премахва символа значещ изтрит файл и връща свойствата на файла в нормално състояние. Така файлът отново е достъпен за системата и потребителя.

Възстановяване на данни без помощта на файловата таблица

Този метод, няма нужда от файлова таблица. Базира се на проверка на клъстерите един по един, за файлове. За щастие 99% от всички файлови формати имат уникални заглаки, битове за намабо на файла и уникални битове за край на данните и завършване на файла. Това значи че програмата може да определи точният тип файл. Например искате да си възстановите мр3 колекцията, казвате на програмата да търси мр3 файлове и тя започва да сравняна всичко което и попадне с предварително заложено описание на началните битове на файла, крайните, заглавките на файловете и щом те съвпаднат с тези които за заложени като критерии, програмата приема че това е мр3 файл, и го възтановява защото вие така сте указали.

Защо като възстановявам файл той излиза частично повреден?

Компютъра използва само толкова клъстери колкото са нужни за да се събере файла който се записва.В този случай има изтрит по-голям файл и на негово място е записан по-малък, който е презаписал част от клъстерите използвани от предишния файл. Със Софтуерно възстановяване все още можете да извадите нещо, но ще бъде само парче от файла от непрезаписаните клъстери. Това се нарича частично възстановяване на файла, защото е възстановено само едно парче от файла, а не целият файл. Остава ви да се надявате и да имате късмета важната част от файла да не е презаписана. Пълното възстановяване на частично презаписани файлове, до техният оригинален вид, не е невъзмоно, но е много трудоемко, изисква специаллни знания, умения и екипирани лаборатории, за да се направи опит да се прочете долният слой на магнитното поле, под основният слой който отговаря за текущият файл. Това не може да се направи с програма, защото хард диска, има ограничение, фабрично ограничение заложено във фърмуера на диска да чете само най ясното и най-яркото поле и да пренебрегва останалите. Това е причината поради която със софтуерни методи не може да се напълно да се възстанови частично презаписан файл. Магнитните полета се разпределят върху магнитното покритие, както мастилото от маркер се просмуква през няколко листа в кочан с листа, когато държите маркера само на една място. Всеки по-долен слой е все по-слаб, все по-трудно се разчита и се допускат повече грешки и изкривявания.

Възстановяване на форматиран диск.

При бързото форматиране на хард диска quick format само се презаписва файловата таблица, да докладва всички сектори и къстери празни. При пълното форматиране, става същото, но дяла се обхожда и се тества сектор по сектор, кълстер по клъстер, за да се повери тяхната годност, ако е необходимо се маркират лоши сектори или такива се докладват като годни за употреба.

При възтановяването на форматиран диск, дори при пълен формат който форматира дяла от една файлова система в друга, е лесно. Преминаването от една файлове система в друга се отразява само на служебната част, където е записана файловата таблица FAT или MFT. Реално погледнато едната се заменя с другата и нищо повече. Само това става при переминаването от една файлове система в друга.

Тук възтановяването е същото като възстановяването без ползването на файловата система, с всичките предимства и недостатъци на метода, но става много по-бавно, защото вече търсенето е сектор по сектор а не клъстер по клъстер (един клъстер съдържа в себе си няколко сектора) за началните и крайните битове на всички видове файлове и това кое парче от файла къде се намира, към кой файл принадлежи, къде точно във файла му е мястото, примерно ако е microsoft word документ дали е 3 или 5 страница от документа, търси да възстанови всички папки и подпапки, после им възстановява записите във файловата таблица. често пъти хардуерни методи като изследване на магнитните полета, или специални PCI контролени, придружени със специален софтуер, пускат диска в служебни режими, които ако не се използват правилно могат да повредат диска, а ако сеизползват правилно могат да помогнат доста привъзстановяването и значително да подобрят шансовете за успешен край.