Федеральное агентство по образованию Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
«Омский государственный университет»
Дипломная работа
Восстановление данных с флеш-носителей
Факультет
: ФизическийСтудент
: В.В. Пупкин
Специальность
: ФизикаГруппа
: ФИ-666
Оценка
: Хорошо
Омск
, 2010
Оглавление
Введение
Глава 1. История создания флеш-памяти
Общие принципы работы флеш-памяти
Архитектура флеш-памяти
Типы карт памяти
Применение флеш-памяти
Глава 2. Типы повреждений и методы восстановление данных
Средства восстановления данных
Глава 3. Простое восстановление данных при логическом сбое
Ручное восстановление данных в FAT32
Восстановление данных в файловой системе NTFS
Заключение
Список использованнойлитературы
Введение
За последние пятнадцать лет устройства на основе технологии флеш-памяти стали неотъемлемой частью жизни современного человека. Благодаря своей компактности и высокой плотности записи, этот тип носителя информации прочно занял нишу на рынке всевозможных цифровых устройств – фото- и видеокамер диктофонов, MP3-плееров, КПК, мобильных телефонов, а также смартфонов и коммуникаторов. Кроме того, она используется для хранения встроенного программного обеспечения в различных устройствах (маршрутизаторах, мини-АТС, принтерах, сканерах, модемax), различных контроллерах. Также в последнее время широкое распространение получили USB флеш-накопители практически вытеснившие дискеты и CD.
Наряду со всеми достоинствами этого типа памяти, существуют и проблемы, связанные с возникающей потерей данных, хранящихся в нем, по различным причинам. С потерей фотографий иногда ещё можно смириться, но что делать если пропали важные документы: например, финансовый отчёт или готовый дипломный проект? Также подобные ситуации часто усугубляются строгой конфиденциальностью информации, хранимой на переносных носителях. Такие данные, как правило, хранятся в единственном экземпляре в условиях полной секретности.
Целью дипломной работы стало составления методического пособия, которое может помочь конечному пользователю восстановить утраченную информацию своими силами, без обращения в специализированные центры. Использование таких центров, как правило, не могут гарантировать полную конфиденциальностью восстанавливаемых данных, к тому же это отнимает немало времени и средств.
Будут рассмотрены способы простого автоматического восстановления с помощью специализированных утилит и способы ручного восстановления, связанные с использованием редакторов, обращающихся к памяти флеш-накопителя напрямую, позволяя просматривать и редактировать отдельные сектора. Данные методики включают инструкции для восстановления данных с носителей, отформатированных в самые популярные файловые системы – FAT32 и NTFS, но в ряде случаев эти методики могут помочь и в восстановлении менее распространенных систем.
Глава 1.
История создания флеш-памяти
Первой энергонезависимой памятью была ROM (ПЗУ) - Read Only Memory. Из названия становится понятно, что данный тип имеет единственный цикл записи. Он осуществляется сразу при производстве, путем нанесения алюминиевых дорожек между ячейками ROM литографическим способом. Наличие такой дорожки означает 1, отсутствие 0. Этот вид памяти не приобрел большой популярности, так как процесс изготовления микросхемы ROM занимает длительное время (от 4 до 8 недель). При этом стоимость памяти довольно низкая (при больших объемах производства), а информацию с нее можно стереть только физическим или термальным воздействием. Естественно, что на ROM прогресс не закончился. Возникла острая необходимость в перезаписи памяти, а каждый раз выпускать ПЗУ с новыми данными было дорого и нерационально. Поэтому ROM сменила PROM (Programmable ROM). Микросхему с такой памятью можно было подвергнуть повторному (правда, единственному) прожигу с помощью специального устройства – программатора. Дело в том, что PROM производилась немного по другой технологии. Дорожки между ячейками были заменены плавкими перемычками, которые могли быть разрушены путем подачи высокого напряжения на микросхему. Конструктивно перемычки представляют собой интегральный элемент из титаново-вольфрамового сплава. Таким образом, появляется единственный цикл перезаписи.
ROM и PROM относятся к виду неперезаписываемой энергонезависимой памяти. В 1971 году Intel выпускает совершенно новую микросхему памяти под аббревиатурой EPROM (Erasable Programmable ROM). Такую микросхему можно было подвергать неоднократной перезаписи путем облучения чипа рентгеновскими лучами. Память, стираемая ультрафиолетом, появляется немного позднее и носит аббревиатуру UV-EPROM. В такой микросхеме имеется небольшое окошко с кварцевым стеклом. За ним находится кристалл, который облучается ультрафиолетом. После стирания информации это окошко заклеивают. Частичная перезапись данных по-прежнему остается невозможной, так как рентгеновские и ультрафиолетовые лучи изменяют все биты стираемой области в положение 1. Повторная запись данных осуществляется также на программаторах (как в ROM и EROM). EPROM была основана на МОП (металл-оксид-полупроводник) транзисторах. Запись данных в ячейки такого транзистора производилась методом лавинной инжекции заряда (о методах записи будет сказано ниже). Этот метод давал возможность неоднократно перезаписывать данные памяти (хотя количество циклов было ограниченным). Таким образом, вместе с EPROM рождается поколение NVRWM, что расшифровывается как NonVolatile Read-Write Memory. Но, несмотря на абсолютно новую технологию, этот вид был вытеснен с рынка другими видами памяти.
Через восемь лет, в 1979 году после выхода EPROM, фирма Intel разрабатывает новый вид памяти, которая могла быть перезаписана частями. С помощью электрического тока становилось возможным изменение данных в определенной ячейке микросхемы. Это нововведение уменьшало время программирования, а также позволяло отказаться от внешних устройств-программаторов. Для записи данных память достаточно было подключить к системной шине микропроцессора, что значительно упрощало работу с микросхемой, поэтому стоимость EEPROM была высокой. Это неудивительно, так как технологии производства такой памяти были очень сложными. В отличие от предыдущего EPROM, увеличивалось количество циклов перезаписи информации.
Наконец в 1984 году компания Toshiba разрабатывает принципиально новый вид памяти под названием Flash. Сразу после этого начался интенсивный процесс развития этого вида, а EEPROM стремительно теряет позиции на рынке.[1]
Общие принципы работы флеш-памяти
Ячейки флеш-памяти существуют как на одном, так и на двух транзисторах. В простейшем случае каждая ячейка хранит один бит информации и состоит из одного полевого транзистора со специальной электрически изолированной областью ("плавающим" затвором - floating gate), способной хранить заряд многие годы. Наличие или отсутствие заряда кодирует один бит информации. При записи заряд помещается на плавающий затвор одним из двух способов (зависит от типа ячейки): методом инжекции "горячих" электронов или методом туннелирования электронов. Стирание содержимого ячейки (снятие заряда с "плавающего" затвора) производится методом тунеллирования. Как правило, наличие заряда на транзисторе понимается как логический "0", а его отсутствие - как логическая "1". Современная флеш-память изготавливается по 30-нм технологическому процессу. Принцип чтения микросхемы Flash довольно прост и базируется на законах квантовой механики. При извлечении данных из памяти, заряд на “плавающем” затворе отсутствует, а на управляющий затвор подается заряд положительного направления. Под его воздействием между стоком и истоком создается канал трассировки (свободная зона на кристалле транзистора, выделенная для реализации межсоединений ячеек). Все это происходит за счет туннельного эффекта, а данные памяти затем можно считывать с истока. Если на “плавающем” затворе имеется заряд, то обычного напряжения (которое подается при чтении) недостаточно. Поэтому при записи применяют метод инжекции электронов. Суть его заключается в следующем: на управляющий затвор и исток подается высокое напряжение (причем на затворе оно в два раза выше). Благодаря этому напряжению, электроны способны преодолеть тонкую пленку диэлектрика и попасть на “плавающий” затвор. Такой процесс получил название “инжекция горячих электронов” (термин “горячий” условен, электроны были названы так, потому что обладают высокой энергией, достаточной для преодоления диэлектрика). Чтобы стереть информацию из памяти, достаточно подать высокое положительное напряжение на исток. Под его воздействием отрицательные электроны с “плавающего” затвора (благодаря туннельному эффекту) переходят в область истока. Процесс продолжается до полной разрядки затвора. Ускорить метод туннелирования электронов можно путем подачи дополнительного высокого отрицательного напряжения на управляющий затвор. Эффект туннелирования
- один из эффектов, использующих волновые свойства электрона. Сам эффект заключается в преодолении электроном потенциального барьера малой "толщины". Для наглядности представим себе структуру, состоящую из двух проводящих областей, разделенных тонким слоем диэлектрика (обеднённая область). Преодолеть этот слой обычным способом электрон не может - не хватает энергии. Но при создании определённых условий (соответствующее напряжение и т.п.) электрон проскакивает слой диэлектрика (туннелирует сквозь него), создавая ток. Важно отметить, что при туннелировании электрон оказывается "по другую сторону", не проходя через диэлектрик. При этом электроны с “плавающего” затвора будут отталкиваться в сторону диэлектрика, а время эффекта значительно уменьшится. Мы рассмотрели простейший случай, когда каждая ячейка Flash хранит один бит информации и состоит из одного полевого транзистора. Перезапись и стирание Flash значительно изнашивает микросхему, поэтому технологии производства памяти постоянно совершенствуются, внедряются оптимизирующие способы записи микросхемы, а также алгоритмы, направленные на равномерное использование всех ячеек в процессе работы.[2]
Чтение, запись, стирание простейшей ячейки
Рассмотрим простейшую ячейку флеш-памяти на одном n-p-n транзисторе. Ячейки подобного типа чаще всего применялись во flash-памяти с NOR архитектурой, а также в микросхемах EPROM. Поведение транзистора зависит от количества электронов на "плавающем" затворе. "Плавающий" затвор играет ту же роль, что и конденсатор в DRAM, т. е. хранит запрограммированное значение.[3]
Рис.2
|
Чтение
При чтении, в отсутствие заряда на "плавающем" затворе, под воздействием положительного поля на управляющем затворе, образуется n-канал в подложке между истоком и стоком, и возникает ток. |
Чтение
Наличие заряда на "плавающем" затворе меняет вольтамперные характеристики транзистора таким образом, что при обычном для чтения напряжении канал не появляется, и тока между истоком и стоком не возникает. |
Рис.
|
Рис.
|
Запись
При программировании на сток и управляющий затвор подаётся высокое напряжение (причём на управляющий затвор напряжение подаётся приблизительно в два раза выше). "Горячие" электроны из канала инжектируются на плавающий затвор и изменяют вольтамперные характеристики транзистора. Такие электроны называют "горячими" за то, что обладают высокой энергией, достаточной для преодоления потенциального барьера, создаваемого тонкой плёнкой диэлектрика. |
Стирание
При стирании высокое напряжение подаётся на исток. На управляющий затвор (опционально) подаётся высокое отрицательное напряжение. Электроны туннелируют на исток. |
Рис.
|
Многоуровневые ячейки
Рис. 6 Одноуровневая и многоуровневая ячейка
Через несколько лет после выпуска флеш-дисков были проведены успешные испытания микросхем, в которых ячейка хранила уже два бита. На такую память можно было записать в два раза больше информации. В настоящее время уже
существуют теоретические разработки памяти с четырехбитными ячейками. В микросхеме с MLC (MultiLevel Cell) существует различие величин заряда, которые накапливаются на “плавающем” затворе. Благодаря этому различию, информация в ячейке может быть представлена различными битовыми комбинациями, то есть в отличие от "обычной" флеш-памяти, MLC способна различать более двух величин зарядов, помещённых на "плавающий" затвор, и, соответственно, большее число состояний. При этом каждому состоянию в соответствие ставится определенная комбинация значений бит. Величину заряда на затворе можно определить измерением порогового напряжения транзистора и по итогам этого измерения представить битовую комбинацию. В настоящее время многие компании находятся в поисках предельного числа бит, которое способна хранить многоуровневая ячейка. Во время записи на "плавающий" затвор помещается количество заряда, соответствующее необходимому состоянию. От величины заряда на "плавающем" затворе зависит пороговое напряжение транзистора. Пороговое напряжение транзистора можно измерить при чтении и определить по нему записанное состояние, а значит и записанную последовательность бит. Микросхемы с MLC нашли своё применение в технологии IntelStrataflash.[2]
Доступ к флеш-памяти
Различают три метода доступа к микросхеме: обычный, пакетный и страничный. Все они используются в зависимости от ситуации, так как отличаются по скорости доступа, имеют свои преимущества и недостатки.
-Обычный доступ (Conventional). Произвольный асинхронный доступ к ячейкам памяти. Используется в тех ситуациях, когда необходимо считать малое количество информации с микросхемы памяти.
-Пакетный (Burst). Синхронный, данные читаются параллельно, блоками по 16 или 32 бита за один раз. После чтения информации в буфер происходит синхронизация блоков, и, в конечном итоге, данные передаются уже последовательно. Преимущество перед обычным типом доступа - быстрое последовательное чтение данных. Недостаток - медленный доступ при чтении определённых ячеек памяти.
-Страничный (Page). По принципу напоминает пакетный вид, но данные принимаются асинхронно, блоками по 4 или 8 слов. Преимущества - очень быстрый произвольный доступ в пределах текущей страницы. Недостаток - относительно медленное переключение между блоками.
В последнее время появились микросхемы флеш-памяти, позволяющие одновременную запись и стирание (RWW - Read While Write или Simultaneous R/W) в разные банки памяти.
Архитектура флеш-памяти
Существует несколько типов архитектур (организаций соединений между ячейками) флеш-памяти. Наиболее распространёнными в настоящее время являются микросхемы с организацией NOR
и NAND
.
NOR
Название NOR ведет свою родословную от логической операции Not OR
(не «или»): если хотя бы один из транзисторов, подключенных к линии битов, включен, то считывается "0". NOR-Ячейки работают сходным с EPROM способом. Каждый транзистор-ячейка подключен к трем линиям: Word Line
(линия слов), Select Line
(линия выборки) и Bit Line
(линия бит). Выборка осуществляется путем подачи высокого напряжения на Word Line, подключенную к затвору, и наблюдения за разницей потенциалов между Select Line (исток) и Bit Line (сток). Если на плавающем затворе находилось достаточное количество электронов, то их отрицательное поле препятствовало протеканию тока между истоком и стоком и напряжение оставалось высоким. Такое состояние полагается в терминах флеш-памяти нулем, в противоположном случае считывается единица.
Интерфейс
- параллельный. Возможно как произвольное чтение, так и запись.
Программирование
- методом инжекции "горячих" электронов.
Стирание
- методом туннеллирования Фаулера-Нордхейма.
Преимущества
- быстрый произвольный доступ, возможность побайтной записи. Недостатки
- относительно медленная запись и стирание.
Основные производители
: AMD, Intel, Sharp, Micron, Ti, Toshiba, Fujitsu, Mitsubishi, SGS-Thomson, STMicroelectronics, SST, Samsung, Winbond, Macronix, NEC, UMC.
Из двух типов имеет наибольший размер ячейки, а потому плохо масштабируется. Единственный тип памяти, работающий на двух разных напряжениях. Идеально подходит для хранения кода программ (PC BIOS, сотовые телефоны), представляет собой идеальную замену обычному EEPROM.
NAND
NAND является более выгодным, с точки зрения экономии пространства, способом организации ячеек. Транзисторы подключаются к битовым линиям группами, то есть последовательно. Если все транзисторы группы открыты, включены, Bit Line заземляется, напряжение между ней и Word Line падает до нуля: срабатывает логика Not AND (не «и») - если все элементы равны 1, то выдается 0. Правда, считывание затруднено вследствие падения напряжения на гирлянде транзисторов, однако скорость обращения повышается за счет адресации сразу целой группы битов. При произвольном доступе достоинство превращается в недостаток, и NAND-чипы обычно отличаются от NOR наличием дополнительного внутреннего кэша. Учитывая всё вышесказанное, NAND-память представляет собой наиболее подходящий тип памяти для устройств, ориентированных на блочный обмен: MP3 плееров, цифровых камер и в качестве заменителя жёстких дисков.[5]
Рис.8 Архитектура NOR[12]
Доступ
- произвольный, но небольшими блоками, которые можно рассматривать как кластеры жёсткого диска.
Интерфейс
– последовательный, произвольное чтение и запись невозможны. Не очень подходит для задач, требующих произвольного доступа к данным.
Преимущества
– запись и стирание информации осуществляются на высокой скорости, размер блока небольшой.
Недостатки
- относительно медленный произвольный доступ, невозможность побайтной записи, необходимость использовать внутренний кэш.
Основные производители
- Toshiba, AMD/Fujitsu, Samsung, National, Mitsubishi.
Программирование
- туннеллированием Фаулера-Нордхейма, в отличие от NOR-памяти.
Стирание
- туннеллированием Фаулера-Нордхейма, в этом сходство с NOR-памятью.
Развитие технологии флеш-памяти происходит, в основном, в области совершенствования конструкции ячеек. Так, появились варианты с двумя транзисторами: один из пары является обыкновенным транзистором, изолирующим ячейку от Word Line. Благодаря этому удалось избавиться от паразитных перекрестных наводок, возникающих при стирании одной из страниц данных, а также снизить напряжение программирования. Причем второй транзистор занимает совсем немного места, поскольку он лишен функции запоминающего "конденсатора" и большого плавающего затвора.
Типы карт памяти
CompactFlash
Карточки этого формата впервые появились в 1994 г. Стандарт разработала компания SanDisk и предоставила его для общественного пользования безо всяких дополнительных лицензионных отчислений. В октябре 1995 г. была создана некоммерческая организация Compact Flash Association (CFA). Помимо, собственно, зачинщика, в нее вошли IBM, Canon, Kodak, HP, Hitachi, Epson и Socket Communications. Разработчики создали карты Miniature Card, но они оказались не очень удачными. Все права на технологию были проданы Centennial Technologies, которая в 2000 г. объявила о решении выпустить в свет собственный формат флеш-карт под названием Compact Linear Flash. Карточка содержит довольно сложный контроллер, благодаря которому она совместима с адаптерами PCMCIA. Питание может составлять 3,3 или 5В. Существует два класса CompactFlash-карт, в подражание PCMCIA названных Type I и Type II. Они различаются только толщиной (3,3 и 5 мм) и количеством чипов памяти, которые могут в них поместиться. Стандартный размер карты 43 x 36 мм. Одно из наиболее преимуществ CompactFlash заключается в электрической совместимости с IDE-интерфейсом. Это не означает, что карточку можно вставить в разъем, а подразумевает возможность эмуляции жесткого диска. На программном уровне карта ничем не отличается от винчестера: она обладает всеми необходимыми параметрами, такими, как количество виртуальных цилиндров и головок. Обращение к карте выполняется с помощью стандартного прерывания IRQ 14, и для работы с CompactFlash не требуется драйверов. Сейчас выпускаются карты CompactFlash объемом до 100 GB. Одно из главных достоинств стандарта - специфицированный встроенный контроллер памяти, обусловливающий четкое определение логической структуры данных.
MMC
В ноябре 1997 г. компании Siemens и SanDisk анонсировали MMC. Стандарт был изначально "свободным", таким же, как CompactFlash, т. е. лишенным каких-либо лицензионных ограничений. Размер карты всего 24 x 32 x 1,4 мм, весят карты всего 1б5 грамма. Скорость передачи данных равняется 20 MBps. Эти модули памяти работают при напряжениях 3,3 или 2,7 В и токе до 35 мА, что и обусловливает низкое энергопотребление.В 1998 г. сформировался альянс MMCA (MultiMedia Card Association), объединивший промоутеров новой технологии.
Рис.12 Архитектура MMC[5]
SmartMedia
Рис.13 Внешний вид SM[4]
Стандарт был разработан в 1995 г. компанией Toshiba, а его продвижением занимается организация SSFDC Forum, в рядах которой немало известных компаний. Кстати, SSFDC (Solid State Floppy Disk Card) можно перевести как "твердотельная дискета". Следует отметить, что многие производители делают флеш-карты сразу трех основных типов: Compact Flash, SmartMedia и MultiMediaCard. В отличие от Compact Flash, карты SmartMedia (SM) не снабжены встроенным контроллером, что, по замыслу создателей, должно снижать их стоимость. Кроме того, SМ имеют меньшие размеры (37x45x0,76 мм) и массу (до 2 г). По популярности SM спорят с CF, а вместе с ним оба этих стандарта охватывают более половины рынка флеш-карт. Рабочие напряжения у SM такие же, как и у CF, но обычно используется 3,3 В. Максимальная емкость карт, объявленная производителями, в частности компаниями EMTEC и Delkin, составляет 128 Мбайт. Из-за отсутствия внутреннего контроллера для работы с этими картами невозможно применить пассивный переходник, а считыватели для них стоят около 50 долл. К сожалению, SМ не дешевле, чем CF.
Memory
Stick
Некогда Sony заставила компьютерную индустрию выбрать в качестве сменных носителей свои 3,5-дюймовые флоппи-дисководы, а теперь она решила позаботиться о своих позициях и на аудио рынке, для чего разработала новый стандарт флеш-карт Memory Stick (MS).
Эти 10-контактные устройства размерами 21,5x50x2,8 мм и массой 4 г стали опорой цифровой империи Sony, которая устанавливает их в свои цифровые плееры, фотоаппараты и видеокамеры, также игрушки и другие устройства. Карты памяти Memory Stick имеют ёмкость до 16 Гб, а в некоторых подверсиях, Memory Stick Select, применялись два банка по 128 Мб на одной карте.
SecureDigital
Размер карты - 24 x 32 x 2,1 мм, что практически соответствует параметрам Magic Stick Duo. В настоящий момент анонсированы изделия емкостью от 8 до 512 MB при максимуме 16 GB. Скорость записи, что типично для флеш-карт, существенно зависит от объема и, следовательно, количества используемых чипов. Стандартная скорость записи составляет 2 MBps, но начиная с 512 MB носителей, она возрастает многократно до 10 MBps. Карты оснащены механическим переключателем защиты от записи, наподобие защелки "read-only" у флоппи-дисков. Каждая SD-карта содержит два контроллера: ввода/вывода и поддержки системы кодирования. Разъем состоит из девяти контактов, четыре из которых предназначены для передачи данных, один используется для передачи команд и еще один отведен под синхросигнал.
xD-Picture Card
Данный формат — своеобразное "логическое продолжение" SmartMedia, предложенное в 2002 г. компаниями Fujifilm и Olympus. Основные преимущества спроектированного изделия: сниженная себестоимость (экономия на внутреннем контроллере), небольшие размеры (20 x 25 x 1,7 мм) и невысокое энергопотребление. Аббревиатура xD означает eXtreme Digital, т. е. экстремально цифровые.
USB флеш-накопитель
USB флеш-накопитель — носитель информации, использующий флеш-память для хранения данных и подключаемый к компьютеру или иному считывающему устройству через стандартный разъём USB.
Рис.18 Устройство типичного USB Flash Drive (на примере изделия фирмы «Saitek»: 1 — USB-разъём; 2 — микроконтроллер; 3 — контрольные точки; 4 — микросхема флеш-памяти; 5 — кварцевый резонатор; 6 — светодиод; 7 — переключатель «защита от записи»; 8 — место для дополнительной микросхемы памяти
USB флеш-накопители обычно съёмные и перезаписываемые. Размер — около 5 см, вес — меньше 60 г. Получили большую популярность в 2000-е годы из-за компактности, лёгкости перезаписывания файлов и большого объёма памяти (от 32 МБ до 256 ГБ[1]). Основное назначение USB-накопителей — хранение, перенос и обмен данными, резервное копирование, загрузка операционных систем (LiveUSB) и др. Разработан умещающийся на флеш-диск пакет программ для автоматического снятия улик с компьютера неквалифицированным полицейским (COFEE).
Применение флеш-памяти
Флеш-диски применяются в системах управления промышленным оборудованием, в горячих цехах и на открытом воздухе, в условиях постоянных ударов, тряски, вибрации, загрязненной атмосферы. Системы управления, устанавливаемые на железнодорожном, водном транспорте (вибрация, повышенная влажность) или на летательных аппаратах (быстрая смена высоты и температуры, большие перегрузки), немыслимы без таких устройств. И, конечно, в космических системах (перегрузки, невесомость, энергопотребление) флеш-дискам нет конкурентов. Ситуация на отечественном рынке ФД укладывается в рамки общемировых тенденций. Большая часть поставляемой продукции потребляется в промышленной сфере для автоматизации производства. С другой стороны, PCMCIA-карты на основе флеш-памяти для портативных компьютеров, хотя и предлагаются, но не получили широкого распространения. Микросхемы флеш-памяти может работать при температурах от -50 до 80 градусов, влажности воздуха от 8 до 95 процентов, выдерживать ударную нагрузку до 1000g, вибрационную нагрузку до 15g. Время наработки на отказ у флеш-памяти около 1000 часов (сюда входит время записи и стирания), а срок хранения данных исчисляется десятками лет. Флеш-память применяется практически во всех современных устройствах: сотовых телефонах, портативных компьютерах,mp3-плейерах, цифровых видеокамер и фотоаппаратах и многих других. Флеш-память используется в любых компьютерных комплектующих: микросхема BIOS на материнской плате, прошивки различных устройств (CD-Rom, видеокарта, звуковая карта, модем). Модемы с микросхемами флеш-памяти могут принимать и отправлять данные даже при выключенном компьютере. Флеш-память разработана и применяется для того, чтобы упростить работу системы, в которой она применяется, а также повысить ее производительность. За счет обновления информации через флеш-память система (например, модем, звуковая карта и т.д.) в гораздо меньшей степени использует оперативную память компьютера. Тем самым повышается производительность не только одного прибора, но и всего компьютера в целом. Использование микросхем флеш-памяти также позволяет снизить стоимость оборудования. Флеш-память, используя блочную архитектуру, полностью заменила собой микросхемы, стираемые целиком.
Глава 2. Типы повреждений
Восстановление флеш-диска может потребоваться в случае механических, электрических, тепловых, логических повреждений и разрушения внутренней структуры.
Механические повреждения
К повреждениям данного типа относятся любые, внешне заметные, повреждения, а именно: повреждения корпуса, изменения геометрии разъема, трещины, деформации и прочее.
На сегодняшний день существует два способа восстановления информации с физически поврежденной флеш-карты. Первый из них заключается в определении вышедшего из строя компонента и его замене на новый. Но поскольку запасные части для флеш-карт не выпускаются, новый элемент берется из устройства-донора той же модели. После замены у флеш-карты восстанавливается работоспособность, поэтому специалисту остается только скопировать содержащиеся на ней данные на сторонний носитель. У этого способа есть несколько недостатков. Во-первых, он возможен не во всех случаях. Во-вторых, для его реализации необходимо найти новую флеш-карту, идентичную поврежденной. Причем донор будет непригоден для дальнейшего использования. Второй способ заключается в выпаивании из флеш-карты микросхемы памяти и чтении информации с нее напрямую с помощью специального программатора. После этого производится дешифровка считанных данных. Дело в том, что каждый производитель флеш-карт использует собственный формат записи информации, поэтому просто так извлечь данные не получится. Заключительный этап - восстановление в случае необходимости целостности поврежденных файлов. Данный способ очень критичен к профессионализму исполнителя, а также наличию необходимого аппаратного и программного обеспечения.
Электрические и тепловые повреждения
Нестабильное электропитание, а также разряды статики – частая причина неисправности флеш-дисков. Многие нынешние модели имеют слабую защиту от перепадов напряжения, и случайные скачки выводят их из строя. Вероятно, сказывается политика удешевления продукции, когда из схемотехники выводились «лишние» элементы защиты. Свою долю вины несут и некачественные «китайские» блоки питания с их пульсациями в линиях 5В. Нередко к поломке флеш-дисков приводит устаревшая электропроводка: многие компьютеры до сих пор не заземлены. На их корпусе может накапливаться потенциал в десятки вольт, а статический заряд стекает куда придется. Все это, при совпадении неблагоприятных условий, приводит к выгоранию контроллера и элементов обвязки. С учётом заряда на теле человека, наиболее опасен бывает момент подключения.
Еще одна причина неисправностей – "человеческий фактор" при сборке системных блоков. Небрежные, или просто неопытные работники умудряются неправильно подключить к материнской плате шлейф порта USB на передней панели. Это приводит к переполюсовке линий питания, и флеш-диск сгорает при первом же подключении. Шлейф чаще всего не экранирован, и даже правильная сборка не избавляет от наводок внутри корпуса, вносящих искажения в работу порта. Подключенный к нему накопитель может работать медленно, сбоить или вообще не определяться в системе, что служит предпосылкой для ложных выводов о неисправности.
Проблема нагрева, для флеш-дисков, не так актуальна, как для жестких дисков с их механикой. Но и здесь кроется причина поломок. Многие пластиковые корпуса не обеспечивают хорошего теплоотвода, и при активной работе нагруженные детали могут перегреться, выйти из строя и даже проплавить корпус. Чаще всего страдает стабилизатор питания. Справедливости ради, скажем, что в новых моделях улучшена элементная база, уделено внимание теплоотводу и проблема встречается реже.
Повышенная температура эксплуатации вредна и для чипов флеш-памяти. Хотя по спецификациям они выдерживают до 125º, на практике, уже начиная с 70º, их ресурс резко падает, а вероятность сбоев растёт. Достичь такого нагрева проще, чем кажется из-за соседства с силовыми деталями в тесном корпусе. Что касается карт памяти, то реальна опасность их повреждения статическим разрядом в процессе вставки или извлечения из слота. Особенно уязвимы карты с открытыми контактами, наподобие MMC; «пробить» статикой CF или MS труднее по очевидным причинам.
Разрушение внутренней структуры
При разрушении внутренней структуры накопитель определяется с неправильной емкостью или вообще не определяется системой. Как уже говорилось, в большинстве случаев Flash накопители работают под управлением собственного контроллера-процессора, который работает по определенному алгоритму. Стоимость патентов на использование уже известных алгоритмов чрезвычайно высока, поэтому каждая фирма-производитель таких носителей старается создать свой алгоритм внутренней работы и получить на него патент. Таким образом, к настоящему времени сложилось огромное многообразие алгоритмов внутренней работы накопителей и даже у одной фирмы-производителя может быть несколько таких алгоритмов (например, свой алгоритм для каждой модельной линии). Это усложняет восстановление флеш-карт. Физические особенности Flash памяти отрицательно сказываются на надежности носителя. Излишняя интенсивность использования носителей на Flash памяти приводит к появлению сбоев в их работе. К сожалению, неисправности внутренней структуры, из-за обилия алгоритмов работы, в большинстве случаев требуют индивидуального подхода и являются наиболее трудоемкими. При таких нарушениях приходится снимать микросхемы памяти, считывать их и анализировать внутренний алгоритм работы, после выявления этого алгоритма требуется настройка специализированного программного обеспечения, а в некоторых случаях и написание дополнительных модулей для восстановления информации на флеш-диске. Только после этого возможно создание корректного файла-образа, из которого уже можно восстановление данных с флеш-диска.
Логические повреждения
Во-первых, это повреждения в результате программного сбоя или аппаратных особенностей служебной области данных, используемой контроллером в работе механизма трансляции. Виной этому, прежде всего, износ, приводящий к появлению избыточного числа битовых ошибок, которые невозможно скорректировать реализованным алгоритмом ECC. Не менее вероятны и сбои внутреннего программного обеспечения.
Во-вторых, ухудшение теплопроводности корпуса флеш-накопителя приводит к повышению температуры внутренних компонентов, что повышает вероятность сбоев и возникновения ошибок. Сообщения операционной системы о необходимости отформатировать накопитель или предложение «Вставить диск» — это как раз последствия и признаки подобных ошибок. При этом зачастую накопитель как физическое устройство в системе определяется идентификатором производителя (Vendor ID) и типом устройства (Device ID), соответствующим установленному в нем контроллеру. При обнаружении неустранимой ошибки служебной области, контроллер перестает обращаться к микросхемам памяти, возвращая в ответ на команду чтения заранее сформированный сектор (чаще всего, заполненный нулями). Еще он может «информировать» об отсутствии носителя. Подобная тактика объясняется, главным образом, необходимостью уменьшить влияние на микросхемы памяти и не допустить дальнейшего повреждения данных. При этом данные, в боль
Средства восстановления данных
Программно-аппаратные средства восстановления данных
Программно-аппаратный комплексы предназначены для восстановления данных с физически неисправных флеш-накопителей, в ситуации, когда доступ к содержимому флеш-микросхем посредством штатного интерфейса, реализуемого контроллером, невозможен.
К данному типу относятся все типы флеш-накопителей (SD, SM, MMC, USBFlash, MemoryStick, CompactFlash и др.), контроллер которых поврежден, либо содержащие значительные механические или электрические повреждения платы, препятствующие нормальному функционированию устройства. Рассмотрим этот класс устройств на примере программно-аппаратного комплекса PC-3000 Flash. Контроллер, находящийся во флеш-накопителях, помимо реализации собственно интерфейса, выполняет специфичные алгоритмы распределения данных по объему микросхем флеш-памяти с целью контроля равномерности износа отдельных ячеек NAND памяти. Соответственно, неисправность контроллера приводит к невозможности получения доступа к данным флеш-накопителя в корректном виде. В подобных случаях необходимо выпаивать все микросхемы флеш-памяти из накопителя и считывать их содержимое. Для этих целей в PC-3000 Flash входит специализированное устройство считывания (PC Flash Reader).
Программная часть комплекса, взаимодействуя с аппаратной частью, реализует программный эмулятор контроллера, позволяя получить доступ к данным пользователя, посредством восстановления специфичного для конечного контроллера алгоритма трансляции при доступе к содержимому микросхем флеш-памяти. Результатом работы является восстановление корректного доступа к содержимому флеш-накопителя, к которому в случае наличия логических разрушений можно применить все инструменты логического восстановления комплекса Data Extractor UDMA. Комплекс, помимо значительного списка автоматических режимов восстановления и анализа, содержит широкие возможности для ручной работы с задачей, при помощи широкого набора специализированных утилит. Также, в состав комплекса входит база алгоритмов работы контроллеров, позволяющая ускорить процесс восстановления данных с флеш-диска посредством прямого указания типа контроллера. Среди автоматических режимов комплекса, можно выделить режимы "Восстановление по контроллеру", когда для полного восстановления данных флеш-диска достаточно указать тип примененного в накопителе контролера. В этом случае, все действия необходимые для восстановления корректного доступа к пользовательским данным будут выполнены автоматически, и результатом станет образ диска с пользовательскими данными. Для автоматизации процесса чтения, комплекс PC-3000 Flash включает большую базу информации о микросхемах флеш-памяти. В документации к комплексу раскрыты основные принципы функционирования накопителей на основе NAND флеш-памяти и даны непосредственные рекомендации по процессу восстановления данных с них.
Для изучения новых типов флеш-накопителей в комплексе реализован режим "Сбор информации", позволяющий собрать информацию о задаче, включая данные о контроллере и алгоритмах, используемых им, и в сжатом виде передавать информацию разработчикам. Это позволит изучать новые типы флеш-накопителей, добавлять их поддержку в комплекс и в некоторых случаях дистанционно помогать пользователям при восстановлении данных.
Программное обеспечение этого комплекса позволяет решить следующие задачи:
· устранить перемешивание данных, вызванное аппаратными особенностями накопителя (контроллера) и конфигурации платы электроники
· определить примененный в контроллере алгоритм и его параметры
· при необходимости, логически восстановить разрушения файловой системы.
В комплексе PC 3000 Flash реализовано значительное число автоматических методов восстановления и методов, позволяющих выполнить отдельные действия всего процесса. Среди автоматических режимов комплекса хочется выделить режимы «Восстановление по контроллеру», когда для полного восстановления данных достаточно только указать тип примененного в флеш-накопителе контроллера. В этом случае все действия, необходимые для восстановления корректного доступа к данным, будут выполнены автоматически, и результатом станет образ диска с восстановленными данными. Комплекс включает большую базу данных о микросхемах флеш-памяти для автоматизации процесса считывания. Однако автоматические режимы восстановления и анализа — это не все, на что способен комплекс. Еще в нем заложены широкие возможности для индивидуального изучения задачи восстановления при помощи разнообразного набора специализированных утилит. Также в состав PC-3000 Flash входит пополняемая база данных контроллеров, позволяющая ускорить процесс восстановления информации с помощью прямого указания типа контроллера. По статистике, собранной и обработанной с декабря 2007 года, около 80 процентов данных с флеш-накопителей NAND удается восстановить в автоматическом режиме, при детальном «ручном» восстановлении — 90 процентов. От общего объема восстановления информации на накопителях на основе NAND флеш-памяти 45% приходится на устранение неисправностей логического характера, соответственно, 55% — физического.[10]
Программные средства восстановления данных
Сегодня в Интернете можно найти множество самых разнообразных программ для восстановления данных. Отличаются они как по своей функциональности, так и по качеству работы. Конечно, стопроцентной гарантии восстановления не может дать ни одна программа, но вернуть потерянные файлы хотя бы частично - порой и это бывает очень важно.
Программа BadCopy Pro
разработана для автоматического быстрого восстановления данных в рабочей среде Windows (поддерживаются все версии этой ОС). Утилита позволяет восстанавливать данные не только с винчестеров, нечитабельных операционной системой, но и дискет, компакт-дисков и накопителей на основе Flash-памяти. Предусмотрено восстановление различных типов файлов: графические, текстовые документы, исполняемых файлов, архивов и т.д. К сожалению, нет возможности восстанавливать папки целиком. Доступно только восстановление файлов по отдельности. Имеющийся в программе мастер восстановления данных позволяет выполнить восстановление (в виде перезаписи данных на жесткий диск) практически в автоматическом режиме, что позволяет работать с BadCopy Pro даже новичкам. Но знание английского языка, хотя бы на базовом уровне, при этом будет далеко не лишним. Бесплатно распространяемая демоверсия BadCopy показывает свои возможности в работе, но записать восстановленные данные на носитель можно будет только после регистрации программы.
GetDataBack
- программа для восстановления информации, в результате каких либо действий удаленной с современных носителей практически любого типа (включая сетевые диски и файлы дисковых образов), в большинстве случаев восстанавливает данные, в том числе даже после низкоуровневого форматирования диска. GetDataBack распространяется в двух различных и продаваемых отдельно версиях: для файловой системы NTFS и для FAT. Отличительной ее особенностью является очень быстрая работа. Программа поддерживает имена файлов и каталогов в кодировке Unicode, поэтому проблем с именами на кириллице, характерными для многих других программ такого типа, в GetDataBack нет.
R-Studio
- одна из наиболее функциональных утилит. С ее помощью можно восстановить данные с разделов FAT12/16/32, NTFS, Ext2/3 и UFS1/2; реализована возможность работать на CD, DVD, флеш- и USB-носителях, локальных или сетевых дисках. Программа может восстановить информацию, в случаях поврежденных и удаленных полностью разделов, после форматирования диска; поддерживает восстановление данных с RAID-массивов. Полезная функция программы - возможность создания образа диска для последующего восстановления данных. Также в утилит восстанавливает сжатые и зашифрованные файлы. Несомненным достоинством R-Studio является то, что она хорошо понимает названия файлов и каталогов на кириллице, в большинстве случаев корректно сохраняя длинные имена и структуру дерева каталогов.[11]
Глава 3.
Методическое пособие по восстановлению данных с флеш-дисков
Простое восстановление данных при логическом сбое
Если записи на диск не производилось, то данные физически остались на своём месте, но потерялись или исказились сведения об их расположении. Таким образом, требуется определить физическое расположение этой информации на носителе, и считать её оттуда в правильной последовательности. Для восстановления данных сначала требуется просканировать весь носитель. По результатам сканирования, на основе обнаруженных служебных записей, составляется карта расположения фрагментов восстанавливаемых файлов и строится дерево каталогов. В карте содержатся сведения о том, какой кластер к какому файлу относится, размеры, названия и другие атрибуты элементов сканируемой файловой системы - всё, что удалось узнать на основании остатков служебной информации. Если полученных в результате сканирования сведений не достаточно, то используются определённые методы экстраполяции. Затем файлы и папки, которые требуется восстановить, выбираются в соответствии с составленной картой и переносятся на другой носитель. Явным лидером по результативности, при восстановлении данных с наиболее распространенных файловых систем, таких как FAT32, NTFS, EXT2, EXT3, UFS, является пакет R-Studio. В случаях, когда файловая система повреждена значительно, целесообразно использование программы EasyRecovery в режиме RawRecovery. Минус RawRecovery заключается в том, что результатом восстановления будет набор файлов без имён, рассортированных по типам. Тем не менее, с помощью этого метода удаётся восстанавливать информацию в самых тяжелых случаях, когда все остальные методы результата не дали. На использовании этих продуктов, в виду их эффективности и доступности, и будут основаны описываемые здесь действия по восстановлению информации. Если произошла потеря данных на файловых системах, не поддерживаемых R-Studio, например на Novell, стоит обратить внимание на пакеты QuickRecovery или StellarPhoenix.
1.Запустите R-Studio с административными правами. Слева видим перечень подключенных к системе накопителей с расположенными на них разделами (далее интерфейс выбора накопителя). Если выделить устройство или раздел, то в правой части интерфейса отобразятся его состояние и свойства. В нижней части экрана находится область вывода журнала операций и ошибок, в верхней наблюдаем панель инструментов.
2.После выбора накопителя или раздела, в левой части интерфейса, запустите операцию сканирования кнопкой «Scan», с панели управления. Для того, чтобы восстановить удалённые файлы в R-Studio, запускать сканирование не обязательно. Можно сразу открыть нужный раздел кнопкой «Open Drive Files» и перейти к выполнению п.5. Кнопки реализованы в виде иконок, вид которых меняется от версии к версии. Узнать, что какая иконка означает, можно наведя курсор на кнопку, и дождавшись появления всплывающей подсказки. Запустить сканирование или открыть раздел можно также из выпадающего меню, после щелчка правой кнопкой на значке накопителя или раздела.
3.Осуществите настройку параметров сканирования. В первую очередь, представляет интерес возможность отключения файловых систем, отсутствующих на Вашем устройстве. Для этого в выпадающем списке «File Systems», можно снять галочки с некоторых пунктов. Также, в случае повреждения таблицы разделов (не отображаются логические диски), можно ограничить область сканирования тем разделом, данные с которого Вам нужны.
4. Нажмите кнопку «Scan». Сканирование 1Гб usb flash drive занимает порядка нескольких минут. Скорость сканирования сильно зависит от конкретной модели и состояния накопителя. После завершения процесса, под иконкой отсканированного накопителя появится раскрывающийся список возможных вариантов карт расположения информации. Зелёным цветом выделены хорошие варианты, желтым – сомнительные, красным – плохие. Выбираем нужный вариант и делаем на нём двойной щелчёк мышкой, или, выделив, нажимаем кнопку «Open Drive Files».
5.Ждите, пока завершится процесс построения дерева каталогов. Корневая файловая система находится в каталоге «Root». В каталоге Metafiles находится служебная информация файловой системы, в папках вида $$$Folder***** можно найти файлы, которые не удалось привязать к корневому каталогу.
Помечая галочками чекбоксы рядом с объектами файловой системы, выберите файлы и папки, которые хотим восстановить, затем нажимаем на кнопку «Recover Marked». Если хотите восстановить всю найденную информацию – щёлкните по иконке «Recover». Иногда, для поиска и выделения желаемой информации, удобно воспользоваться функциями «Find» и «File Mask».
7.В появившемся после нажатия кнопок «Recover Marked» или «Recover» окне выберите путь, куда будет сохраняться восстановленная информация, и нажимаем «OK». Параметры сохранения можно оставить как есть. Папка, в которую сохраняется результат, должна находиться на разделе или носителе отличном от того, который сканировался.
8.Подождите завершения процесса сохранения, и проверьте результат. Если всё получилось – закрываем R-Studio
Перед закрытием программы убедитесь, что корректно восстановилось всё, что Вам требуется, или сохраните результат сканирования. Иначе, если обнаружится, что вам нужно что-то ещё, придётся сканировать заново. Сохранить результат сканирования можно из интерфейса выбора накопителя. Чтобы туда снова попасть, нажмите кнопку «Back» на панели инструментов. Затем в меню, выпадающем при щелчке правой кнопкой мышки на отсканированном объекте, выберите пункт «Save Scan Information», определите папку для сохранения и нажмите «Сохранить».
Если в результате проведённых действий часть данных восстановить не удалось, или восстановленные файлы содержат некорректную информацию, то в интерфейсе выбора накопителя открываем другой вариант карты (из «зелёных» или «желтых») и повторяем операции, описанные в пунктах 5-8. В случае, когда и это не помогло, обращаемся к RawRecovery
Использование EasyRecovery Pro в режиме RawRecovery.
После запуска EasyRecovery Pro, слева выберите пункт «Data Recovery», затем справа «RawRecovery». Из появившегося списка выбираем нужный накопитель, нажимаем кнопку «next». Наблюдаем за прогресс-баром, ждём результата. Работая в режиме RawRecovery, EasyRecovery Pro собирает файлы по частям на основании имеющихся сигнатур. Сигнатура – это характерный фрагмент, по которому можно понять, что файл относится к определённому типу. Список имеющихся сигнатур можно увидеть, нажав кнопку «File Types». Воспользовавшись предложенными инструментами можно добавить свои сигнатуры. В качестве результата сканирования получаем список файлов, с именами вида FIL1.RAR, FIL2.RAR и т.п., рассортированных в соответствии с типами по различным папкам. В выборе объектов для последующего сохранения, могут помочь функции поиска, отображения в соответствии с фильтром и просмотра содержимого файла, вызываемые нажатием кнопок «Find», «Filter Options» и «View File» соответственно. Пометьте чекбоксы рядом с нужными файлами и папками, нажимаем «next». Затем выбираем папку и сохраняем в неё результат восстановления. После копирования выбранной информации, есть возможность сохранить результат сканирования, для дальнейшего использования. Если R-Studio выдаёт ошибки чтения, виснет EasyRecovery, то это может означать наличие нечитаемых секторов. Возможно, потеря данных и была вызвана их появлением. Чем их больше, тем медленнее будет идти сканирование и считывание информации. При большом количестве бэд-секторов ( >50 ) стоит в R-Studio уменьшить количество попыток чтения. Чтобы это сделать, выделите жесткий диск в интерфейсе выбора накопителя, выберите параметр I/O Tries в появившемся в правой части экрана списке и выставите его в 1.
Ручное восстановление данных в FAT32
Для исследования внутренней структуры раздела целесообразно использовать утилиту DiskEditor, входящую в пакет Acronis Disk Director.
Для перехода в новый режим выберите в меню Objectпункт Drive(Устройство). После того как DiskEditor завершит сканирование, установите переключатель режимов в положение Logicaldisksи затем выберите в списке логических дисков тот, с которым вы собираетесь работать. После этого DiskEditor начнет сканирование диска с целью определения структуры файловой системы и построения полного дерева папок и файлов. Чтобы получить сведения о FAT и корневом каталоге, не обязательно дожидаться полного завершения сканирования, можно его прервать через несколько секунд после начала, нажав клавишу Esc. После получения от вас подтверждения о прекращении сканирования DiskEditor выведет на экран содержимое корневого каталога в текстовой форме (рис. 7.16). Если DiskEditor по какой-то причине не смог самостоятельно обнаружить корневой каталог, попробуйте перейти к нему по относительному адресу его первого сектора. Номер этого сектора можно определить по значению поля FirstclusterofRootблока BPB. Кроме того, при поиске корневого каталога необходимо учитывать следующее. Корневой каталог (как и любой другой каталог в FAT32) содержит 32-байтовые элементы — дескрипторы, описывающие файлы и вложенные каталоги. Первый дескриптор корневого каталога содержит сведения о логическом диске (точнее говоря, о самом корневом каталоге), в том числе: метку тома, дату и время создания, атрибуты каталога как элемента файловой системы. Остальные дескрипторы, хранящиеся в корневом каталоге, содержат большее количество сведений о связанных с ними элементах данных.
Описание лишь наиболее важных полей дескриптора, которые представлены на первом экране:
· Name— имя элемента данных (файла или папки); если элемент данных отмечен как удаленный, то в качестве первого символа имени используется байт Е5 (в текстовом формате DiskEditor заменяет его буквой х);
· Ext— расширение файла (для папок это поле пусто);
· ID— тип элемента данных; возможные значения:
- Vol — том;
- Dir — каталог;
- LFN— аббревиатура от LongFileName, длинное имя файла (об LFN см. главу 3, раздел «Выбор имен папок и файлов»);
- File — файл;
- Erased— удален (указывается только для файлов);
- DelLFN— удаленное длинное имя (признак устанавливается после переименования файла или папки);
· Size — размер (в байтах);
· Date— дата создания или изменения;
· Time— время создания или изменения;
· Cluster — номер первого кластера;
· A, R, S, Н, D, V — атрибуты элемента данных (архивный, только чтение, системный, скрытый, каталог, том); значения всех атрибутов хранятся в одном байте дескриптора.
Чтобы просмотреть содержимое какого-либо вложенного каталога, переместите курсор в соответствующую строку и нажмите клавишу Enter.
Если сведения о корневом (или вложенном) каталоге, представленные DiskEditor, кажутся вам «подозрительными», можно попробовать интерпретировать записанные в нем данные самостоятельно, переключившись в режим просмотра шестнадцатеричного кода. Для этого в меню Viewвыберите пункт asHex. Формат дескриптора каталога представлен в табл. 1
Анализируя полученную информацию, вы можете обнаружить подозрительные изменения в полях размера файла, даты и времени. При необходимости их можно исправить «вручную».
Таб. 1 Формат дескриптора каталога [13]
Кроме того, для каждого файла в столбце Clusterотображается номер распределенного ему первого кластера. Следует просмотреть весь каталог до конца: необходимо проверить, что в каталоге отсутствуют посторонние данные. Они могут быть записаны туда вирусом. Если перейти в режим неформатированного просмотра, можно убедиться, что свободные элементы каталога содержат нулевые значения. Если же после свободных элементов находятся какие-либо данные, существует очень большая вероятность того, что они записаны туда вирусом или системой защиты программ от несанкционированного копирования (если исследуемый каталог содержит такие программы). В том случае, когда каталог поврежден полностью или частично, ссылки на описанные в нем файлы будут потеряны. Если вы найдете тем или иным способом секторы, содержащие нужный вам файл с разрушенным дескриптором, то, пользуясь описанной ниже методикой, сможете восстановить дескриптор и получить доступ к файлу.
Процедура основана на использовании функций DiskEditor по поиску различных элементов файловой системы FAT. Например, чтобы найти потерянные каталоги (такие, на которые нет ссылок из других каталогов, в том числе из корневого), требуется выполнить следующее.
1. В меню Toolsвыберите команду FindObject(Найти объект), а в дополнительном меню выберите вариант Subdirectory(Подкаталог).
2. Программа DiskEditor просматривает секторы диска в поисках такого, в начале которого находится последовательность байтов 2Е 20 20 20 20 20 20 20 20 20 20. Эта последовательность соответствует дескриптору, содержащему ссылку каталога на себя самого.
3. Нажимая комбинацию клавиш Ctrl+G, вы можете продолжить поиск нужного каталога, пока не найдете тот, который содержит интересующие вас файлы.
4. Как только нужный каталог найден, необходимо записать физический адрес сектора диска, содержащего каталог, а затем найти либо вычислить номер кластера, соответствующего каталогу.
Для поиска номера кластера, в котором располагается найденный каталог, перейдите в режим текстового просмотра каталога, выбрав в меню View пункт asDirectory. Затем в меню Link выберите команду Clusterchain (fat) (Цепочка кластеров (fat)). На экране появится содержимое таблицы FAT в текстовом режиме просмотра, при этом искомый номер кластера будет выделен. Зная номер кластера потерянного каталога, можно создать новый дескриптор каталога, например, в корневом каталоге диска, и сделать в этом дескрипторе ссылку на найденный каталог. После этого потерянный каталог вновь станет доступным.
Восстановление данных в файловой системе NTFS
Файловая система NTFS содержит целый ряд механизмов, призванных повысить надежность хранения данных. Это, в свою очередь, ведет к существенному усложнению структуры NTFS по сравнению с FAT32. Даже детальное изучение структуры записей, хранящихся в MFT (главной таблице файлов), не гарантирует возможность восстановления данных «вручную». Ситуация усугубляется тем, что на сегодняшний день практически отсутствуют инструменты, обеспечивающие удобные средства просмотра и редактирования MFT.
По указанной причине мы ограничим круг рассматриваемых вопросов следующими ситуациями:
· восстановление элемента таблицы разделов, содержащего сведения об NTFS-разделе;
· восстановление служебной информации в MFT.
Перечисленные задачи можно решить посредством совместного использования таких инструментов, как NortonDiskEditor и ParagonPartitionManager, а также утилиты PartitionTableEditor, входящей в состав пакета NortonPartitionMagic.
Восстановление элемента таблицы разделов
Имеется в виду ситуация, когда операционной системе Windows ХР не удается опознать флеш диск с NTFS вследствие повреждения описывающего его (диск) элемента таблицы разделов. Чтобы получить более полное представление о возникшей ситуации, целесообразно запустить утилиту NortonPartitionTableEditor. После запуска PTEdit на экране появится диалоговое окно, с помощью которого можно просмотреть и отредактировать основные параметры любого элемента таблицы разделов выбранного физического диска. Выбор физического диска выполняется с помощью раскрывающегося списка HardDisk(Жесткий диск).
Строки расположенной ниже таблицы соответствуют четырем элементам основной таблицы разделов. В столбцах выводятся следующие сведения:
· Туре (Тип) — тип файловой системы или раздела; отображается в виде шестнадцатеричного кода;
· Boot (Загрузка) — признак загрузочного раздела; для загрузочного активного раздела, как вы знаете, должно быть указано значение 80;
Starting(Начальное положение) — адрес первого сектора раздела, заданный номером цилиндра (Cyl), головки (Head) и сектора (Sector);
Ending(Конечное положение) — адрес последнего сектора раздела, также заданный номером цилиндра, головки и сектора;
SectorsBefore(Предшествует секторов) — количество секторов жесткого диска, предшествующих первому сектору раздела в соответствии с адресацией LBA(то есть при «сквозной» нумерации по головкам и цилиндрам);
Sectors(Секторов) — размер раздела, измеренный в секторах.
Рис. 19.Стартовоеокноутилиты Partition Table Editor
Чтобы просмотреть цепочку дополнительных таблиц расширенного раздела (EPBR), выполните следующие действия.
1. Переместите курсор в строку, соответствующую расширенному разделу (его код равен OFh).
2. Щелкните на кнопке GotoEPBR(Перейти на EPBR), расположенной под таблицей.
Если вы знаете, что восстанавливаемый NTFS-раздел находится на прежнем месте, но в соответствующей ему строке указан неверный тип раздела, вы можете попробовать установить корректное значение принудительно. Для этого щелкните на кнопке Set Туре (установить тип) и в открывшемся окне выберите требуемое значение (рис. 7.19). Для раздела NTFS оно равно 07h. Если вам известны корректные значения других параметров раздела и они отличаются от представленных в таблице, вы можете (предварительно запомнив или записав на бумаге текущие значения) ввести их в поля таблицы. Чтобы внесенные изменения были записаны на диск, щелкните на кнопке SaveChange(Сохранить изменения)
Рис. 20.Список типов раздела
Если восстанавливаемый раздел опознается как пустой, можно попробовать создать на его месте новый, такого же типа, как у восстанавливаемого раздела, и обязательно точно такого же размера. Для выполнения этой процедуры можно использовать либо ParagonPartitionManager, либо NortonPartitionMagic.
Восстановление служебной информации в MFT
Таблица MFT представляет собой метафайл с именем $MFT, в котором хранятся записи с атрибутами других метафайлов и записи с атрибутами файлов пользователя. Для разделов объемом в несколько гигабайт и при большом количестве файлов данных размеры MFT могут достигать десятков мегабайт. При этом граница MFT может изменяться динамически в зависимости от объема записанных на диск данных и наличия свободного пространства. Кроме того, каждый файл в NTFS может иметь собственный набор атрибутов, некоторые из них задаются самим пользователем.
Все это существенно затрудняет анализ и восстановление MFT на уровне отдельных записей. Тем не менее, в случае повреждения MFT вы можете попытаться восстановить записи, относящиеся к метафайлам, а затем поручить восстановление файлов и папок одному из программных инструментов, рассмотренных раннее.
Поиск таблицы MFT
Номер первого кластера таблицы MFT содержится в поле ClusterstoMFTзагрузочного сектора. Если вам удалось его восстановить, то с помощью утилиты Просмотр секторов можно перейти на этот кластер и проверить корректность записей, относящихся к метафайлам.
Для перехода по номеру кластера выполните следующие действия.
1. Откройте первый (загрузочный) сектор диска.
2. В разделе Абсолютный сектор
, в поле Наберите выражение
для оценки введите формулу для вычисления номера первого сектора MFT: <N кластера>*<SectorsperCluster>, где <N кластера> — это шестнадцатеричное значение номера первого кластера MFT, a<SectorsperCluster> — это размер кластера, записанный в поле Sectors
per
Cluster
(например: 40000х 8, рис. 21)
3.Нажмите клавишу Enter. Характерные признаки «исправной» MFT:
· каждая запись начинается со слова FILE0, размещенного в первых пяти байтах сектора;
· для большинства записей метафайлов в байтах со смещением F2h хранится имя метафайла, которое всегда начинается с символа $;
· первая запись описывает сам метафайл $MFT.
Рис. 21.Поиск первого сектора MFT с помощью утилиты Просмотр секторов
Последовательность размещения записей других метафайлов приведена в таб. 2.
Таблица 2.Последовательность размещения записей метафайлов в файле $MFT[13]
Далее в файле $MFTследуют записи с информацией обо всех остальных файлах и каталогах.
В том случае, если поле ClusterstoMFTзагрузочного сектора повреждено или переход по номеру кластера привел «неизвестно куда», можно попробовать доверить поиск MFT самой утилите Просмотр секторов.
Для этого щелкните на кнопке Перейти и в открывшемся меню (рис. 22) выберите команду NTFS ► MFT. Обратите внимание, что здесь же указан номер сектора (относительно начала раздела), с которого начинается MFT.
Рис. 22. Поиск таблицы MFT с помощью утилиты Просмотр секторов
Если и этот прием не даст результата, остается последний выход: вернуться к работе с программой NortonDiskEditor и попытаться найти таблицу MFT с помощью полнотекстового поиска по разделу. В качестве ключа поиска можно использовать имя метафайла — $MFT. Однако при этом следует учитывать, что имена файлов в NTFS представлены в двухбайтовой кодировке UNICODE, aNortonDiskEditor работает с однобайтовым кодом ASCII. Если основная таблица MFT повреждена, следует проверить состояние ее копии. Напомним, что в NTFS не предусмотрено создание полной копии MFT. Сокращенная копия, MFTMirror, содержит лишь первые четыре записи из основной таблицы, относящиеся к метафайлам $MFT, $MFTMirr, $LogFileи $Volume. Напомним также, что копия MFT в версии NTFS для Windows ХР всегда расположена в середине раздела. Поэтому если в загрузочной записи адрес ее начала отсутствует, несложно его вычислить исходя из числа секторов раздела. Можно также попробовать перейти к сектору с копией MFT с помощью утилиты Просмотр секторов
, воспользовавшись командой NTFS ► MFT зеркальный из меню Перейти.
Если копия уцелела, необходимо отыскать ее последний сектор и затем перенести содержимое «зеркала» в соответствующие секторы, отведенные под основную MFT.
С помощью утилиты Просмотр секторов эта операция выполняется таким же образом, как и перенос копии загрузочного сектора.
Размер и структура записи таблицы MFT
С учетом сказанного выше большое значение имеет правильное определение размера записи таблицы MFT. Его значение хранится в поле ClustersperFRSзагрузочного сектора. Многие дисковые утилиты, в том числе PTEdit, отображают это значение как десятичное целое положительное число в диапазоне 0-255 (обычно равное 246, см. рис. 7.20). В действительности это значение следует рассматривать как шестнадцатеричное целое со знаком, в котором старший разряд отводится для представления знака. Если число положительно (то есть в десятичном представлении меньше 128), то оно означает количество кластеров, занимаемых одной записью таблицы MFT. Если же число отрицательное (больше десятичного 127), то для определения размера записи MFT нужно использовать следующую формулу:
FRS = 2(256-
Clusters
-Per
-FRS
)
(1)
Здесь FRS— количество байтов, занимаемых записью MFT, aClusters_Per_FRS — значение поля ClustersperFRS.
Например, если в поле ClustersperFRSпредставлено значение 246 (то есть шестнадцатеричное F6), то в приведенной выше формуле показатель степени 2 будет равен 10, а для FRSполучим значение 1024, то есть размер записи MFT составляет 1 Кбайт. Аналогично значение поля ClustersperFRS, равное 245 (F5h), соответствует размеру записи MFT, равному 211
= 2048 байт, или 2 Кбайт.
Запись MFT содержит список областей переменной длины, каждая из которых соответствует одному из атрибутов файла. Размер этого списка и состав хранящихся в нем атрибутов для каждого файла может быть своим. Если все атрибуты файла или каталога не помещаются в базовой записи, создается одна или несколько дополнительных записей. При этом базовая запись содержит атрибут, в котором перечислены все атрибуты данного файла и каталога, а также указание, в каких именно записях (базовой или дополнительных) хранятся те или иные атрибуты. Каждая запись MFT состоит из заголовка фиксированного формата, вслед за которым идет список атрибутов переменной длины. Приступая к исследованию записи MFT, сначала нужно проанализировать ее заголовок. Формат заголовка записи MFT представлен в табл. 3.
Таблица 3.Формат заголовка записи MFT[13]
Заключение
Цели, поставленные в дипломном проекте, выполнены. Была рассмотрена история создания флеш-памяти, её применение, проблемы, приводящие к затруднению или прекращению доступа к хранящимся на ней данных. Была дана классификация различных типов повреждений, приводящих к недоступности данных, и средства борьбы с ними. В заключительной части диплома было рассмотрено использование утилит R-Strudio и EasyRecovery для восстановления информации в автоматическом режиме, и использование дисковых редакторов Disk Editor из пакета Acronis Disk Director, Norton Disk Editor и Paragon Partition Manager, а также утилита Partition Table Editior, входящией в состав пакета Norton PartitionMagic.
Составлены инструкции для редактирования с помощью этих утилит служебных разделов файловых система FAT32 и NTFS, рассмотрены атрибуты файлов, дескрипторы каталогов, метафайлы, элементы таблицы разделов и способы её восстановления. С помощью составленного пособия возможно самостоятельное восстановление логических повреждений в памяти флеш-накопителя без обращения в специализированные центры и использования простых программ, ориентированных на использование с жесткими дисками и не всегда корректно работающих с флеш-памятью.
Список использованной литературы
1.Докучаев Д. Всемогущий Flash// Xakep-спецвыпуск.-2003.-№34 URL: http://www.xakep.ru/magazine/xs/034/044/1.asp
2.Сазонов C. Секреты флеш-диска// Hard ‘n’ Soft.-1999.-№9.
3.Наконечный А. Энциклопедия флеш-памяти// URL: http://www.ak-cent.ru/?parent_id=9841
4.Митилино C. Магические кристаллы или недвижимое в подвижном //ITC-Online.-2003.-№27 URL:http://itc.ua/node/14109
5.Олейник Т. Твёрдая память для карманных устройств //Домашний ПК.-2003.-№10.
6.Акнорский Д. Немного о флэш-памяти //Компьютер Price.-2003.-№48.
7.Стаханов C. Восстановление данных с флеш носителей //Центр восстановления данных Стаханов URL:http://www.stahanov-rdc.ru/povrejdenie-flash.html
8.Зайдель И. Флэшка должна жить долго//R.LAB URL:http://rlab.ru/doc/long_live_flash.html
9.Программное обеспечение комплекса PC-3000 Flash//ACE Lab URL:http://www.acelab.ru/dep.pc/pc3000.flash.php
10. Восстановления данных с накопителей на основе NAND флэш-памяти //iXBT URL:http://www.ixbt.com/storage/faq-flash-p0.shtml
11. Утилиты для восстановления данных//Центр Восстановления данных АСЕ URL:http://www.datarec.ru/articles/article_10.php
12. Технологии флэш-памяти// iXBT URL:http://www.ixbt.com/storage/flash-tech.shtml
13. Гультяев А.К. Восстановление данных. 2-е изд. — СПб.: Питер, 2006. — 379 с.: