Восстановление данных после удаления, восстановление файлов.
В интернете большое множество статей по восстановлению данных, но большинство статей написано с техническими ошибками, недочетами, некоторыми недоговоренностями, либо наоборот вводят в заблуждение. Как правило, в статьях, написано много слов, но практической пользы от этого мало, например, в одной из статей прочитал название – «восстановление полностью удаленных данных». Понятие «полностью» весьма расплывчато, если записать на все сектора жесткого диска (на котором были данные) ноли ,то оттуда достать нечего, об этом вам скажет любой специалист. Есть специальные программы, которые именно так, как описано выше, удаляют данные, есть аппаратные устройства, в которые помещается жесткий диск, импульсом удаляют данные, так что уже оттуда их не достанешь.
Адресация на жестком диске.
Есть два вида логической адресации LBA и CHS, на дисках больше 120 гб используется LBA. CHS была на старых дисках, ввиду увеличения емкости перешли на LBA. Как переводить адреса из CHS и обратно написано на Wikipedia. Здесь есть некоторая неясность. LBA и CHS это логическая адресация, как происходит физическая? Физической адресацией занимается микропрограмма жесткого диска, у нее есть специальные модули трансляции, таблицы и т.д. анализируя их, она принимает решение куда конкретно писать данные. Например, операционная система(точнее файловая) хочет записать по LBA на 45697073 сектор, на жестком диске во-первых, количество секторов на разном удалении от центра разное, во-вторых могут быть переназначенные сектора, тогда он будет брать резервные, в третьих надо знать на какой блин надо записать и т.д. все это надо будет проанализировать используя транслятор и таблицы, в результате, где реально находится данный сектор можно понять, анализируя таблицы трансляции, и зная каким способом внутри диска происходит трансляция, это известно только специалистам.
Вот пример из редактора жесткого диска:

Физ. Сектор (LBA): 0 – первый логический сектор по адресу LBA=0, сектор называется MBR, в старой адресации, адрес CHS = 0,0,1.
Файлы.
Для хранения данных на компьютерах используются файловые системы, они необходимы для упорядоченного хранения данных. По аналогии с библиотекой, много разных библиотек в мире, принципы хранения книг разные, но работают для одной цели, чтобы человек, пришедший туда, мог быстро найти необходимую ему книгу, примерно также устроены файловые системы, чтобы пользователь мог быстро найти то, что ему нужно или быстро записать. Файловая система представляет из себя специальную структуру, где описывается как и где должны храниться файлы, а также драйвер который знает как работать с этой структурой. Назначение файловой системы можно понять из ее названия – система для работы с файлами. Файл – переводится с английского, как скоросшиватель, файлом называют минимальную единицу хранения данных, поименованную последовательность байт и т.д.
Для простоты, файл можно представить как книгу, есть название и информация внутри. У каждого файла есть имя и расширение(необязательно), и атрибуты (предоставляют дополнительные возможности управления файлами). Имена файлов позволяют организовать интуитивно понятную для пользователя структуру из нескольких или множества файлов, где по названию из множества фалов можно было бы догадаться, что может или что храниться в том или ином файле. Расширения в принципе являются необязательными, показывают принадлежность к той или иной разновидности программ или категории. Например, .doc – показывает, что данный файл относится MSWord, а ..sys - это системный драйвер. ОС Windows, как и большинство других ОС, использует ссылки на файлы, эти ссылки называются ярлыки, чтобы каждый раз не искать тот или иной файл, ярлыки самых используемых файлов выводятся на рабочий стол. Код программы находятся в файле и для программ как правило используется расширение exe, относящие его к категории запускной(executable, запускающий код).
У каждой программы есть свой запускной файл. Например, программы MSword – msword.exe, а данные сделанные в этой программе сохраняются в файлах с расширением .doc, поэтому можно сказать, что расширение показывает назначение файла. Однако, дважды щелкнув на файл с расширением ..doc, может создаться впечатление, что файл запускной, это отнюдь не так, на самом деле Windows анализирует расширение файла и пытается запустить программу, которая работает с данной категорией файлов. Папки (Директории) – необходимы для того чтобы хранить наборы или группы файлов в определенных разграниченных местах, например в папке «РАБОТА», будут храниться файлы связанные с работой, а в папке «ИГРЫ», будут храниться игры, смысл папок и директорий очень прост - разграничение хранения файлов по смыслу и необходимости использования. Теперь наглядный пример:
C:\Документы\визитка.doc
Эта надпись говорит, что файл находится на логическом диске C (логические диски можно посмотреть в Мой Компьютер), в папке «Документы» находится файл с именем визитка, относящийся к программе MSWord (это мы определили по расширению ..doc). Все строки, связанные с расположением файлов, читаются слева направо.
Теперь поговорим о логических дисках. Логические диски ввели для более глубокого разграничения данных на жестких дисках( и на других носителях информации), как и папки разграничивают определенные группы и категории файлов, также логические диски служат для разграничения хранения информации, например, системной. Как правило на диске С храниться система, а на диске D информация, а логический диск E – DVDROM, но ничего не мешает переназначить как вам удобно, эти логические диски разным устройствам или сделать например 4 логических диска на одном жестком. Теперь представим что у нас 3 логических диска на одном жестком диске. Тогда на каждом диске будет своя структура файловой системы со своими таблицами, поэтому при повреждении(например, вирусом) одного из логических дисков, другие останутся целыми, можно переустановить Windows на диск C, в то время как другие будут нетронутыми.
Программы восстановления файлов и папок.
В интернете есть множество программ по восстановлению данных. Рассмотрю лишь некоторые из них.
1. GetDataBack(for NTFS, for FAT)

Есть 2 дистрибутива этой программы. 1-для файловой системы NTFS 2- для файловой системы FAT
В остальном оба дистрибутива похожи. После запуска программы, должно появиться окно, как выше на рисунке. Нажимаем кнопку NEXT, в правом нижнем углу окна программы. Вид программы должен будет стать таким:

Слева вверху, в углу, на светлом большом квадратике, написано STEP 1(первый шаг), а правее этой надписи написано SELECTDRIVE(выбрать диск). На первом шаге надо выбрать с какого диска мы хотим восстановить наши файлы и папки. Идем дальше, ниже этих надписей мы видим меню выбора дисков, AvailableDrivers(доступные диски), под этой надписью мы видим меню выбора дисков - Physicaldrivers(Физические диски), выбираем физический диск, с которого мы хотим восстановить данные. Какой конкретно диск нужно выбрать, можно посмотреть по объему, как правило редко когда на компьютер ставят диски одного объема, так же можно посмотреть по модели(ST31000340NS), также диски указанны в том порядке в котором они подключены к системе, если диск был подключен последним, то можно смело выбирать последний( тут есть одно но, не всегда диск подключенный последним, может получать следующий номер, чтобы уточнить какой жесткий диск с каким номером, нужно зайти в (в WindowsXP) ПУСК->панель управления->Администрирование->Управление компьютером->Управление дисками, там можно посмотреть какой диск, какого объема, сколько разделов на диске, только номер диска на 1 меньше чем в GetDataBack). Нажимаем кнопку NEXT в правом нижнем углу, программа начнет сканировать файловую систему, после сканирования, программа выведет дерево папок, нажимаем правую кнопку на самом дереве папок либо на необходимой папке, выбираем Save(Сохранить), выбираем место, куда хотим сохранить, потом ОК, программа сохранит все восстановленные файлы в это место. Перед сканированием диска, полезно зайти в меню Tools->Options, поставить галочки напротив RecoverlostFiles, RecoverDeletedFiles.
2. R-Studio

Достаточно многофункциональная программа, количество опций может запутать. На всех возможностях этой программы останавливаться не буду, о них можно прочитать либо в справке, либо в интернете. Окно программы разделено на 3 части, в левом окне список устройств, в этом окне находится 5 колонок, в первой Устройство/Диск находится список устройств, например ST3250310AS3.AFF(модель диска), далее C: (логический диск С), HardDiskVolume2, HardDiskVolume3 – это 2 раздела. Метка – серийный номер устройства, Файловая система – тип файловой системы у нас NTFS, Ext3FS и неизвестная. В итоге имеем физический диск ST3250310AS3.AFF с 3-мя разделами, один из них NTFS с логическим диском C, другой раздел Linux( у него нет логических дисков, использует тома), другой неизвестный, на самом деле LinuxSwap(раздел подкачки). Нажимаем правую кнопку на физическом диске (ST3250310AS3.AFF), в меню выбираем сканировать, появится окно, нажимаем кнопку Сканировать. Начнется сканирование диска, время сканирования, будет зависеть от объема диска. После сканирования, появится вкладка, а во-вторых появится пункт ДополнительноНайденныйФайлы, в меню выбора устройств, можно там и там нажать правую кнопку на результате, Восстановить файлы, после это программа предложить указать путь куда сохранить восстановленное.
Теперь подведем итоги. Мой опыт показал, что ни одна программа не в состоянии гарантированно восстанавливать данные, у каждой программы свой алгоритм поиска удаленных файлов, сканирования разделов , различный алгоритм работы и разные принципы заложенные разработчиками. Для каждого случая своя программа, если не получилось одной восстановить, стоит попробовать восстановить 2-мя другими. Как видим, не смотря на то, что они внешне различаются, принцип работы один, выбрать устройство, отсканировать, сохранить восстановленное.
Следует заметить, что после удаления файлы как правило никуда не пропадают, файловые системы стирают записи о файлах, но сами они находятся там где они лежали, но если произойдет запись на диск, тогда скорее всего данные будут утеряны, то что вы ничего не писали на диск, не означает что на него ничего не писалось, потому что ОС может писать свою сужебную информацию на диск, так что после удаления файла, желательно аварийно выключить компьютер, нажав на кнопку питания ( потому что при включении и выключении компьютера ОС пишет свою служебную информацию).
А вот восстанавливать данные о разделах придется вручную. В интернете лежит множество описаний на разделы разных файловых систем а также MBR. Начинать надо с анализа MBR, если он затерт то стоит попытаться искать копию. Потом следует определиться с типом раздела, с типом файловой системы, сделать посекторную копию или образ диска, уж после этого пытаться вручную восстановить раздел. Для работы с разделами подойдут программы: WinHex, DMDE.