Вернуть файл из небытия
16.03.09Мой Компьютер, №27 (531), 24.11.2008
Я расскажу о ситуации, обычно считающейся безнадежной или до невозможности трудоемкой, а именно: когда файл один, нет его резервной копии (само собой, была бы копия, не было бы этой статьи), и он был не удален, а затерт другим содержимым — пустым или почти пустым, заведомо меньшим.
К примеру, был у вас реферат размером эдак килобайт в 200, а потом что-то там понажимали (а кто ж помнит, что именно?), и в результате шайтанских манипуляций остался только куцый огрызок в виде титульного листа размером 1 Кб, который по невероятной случайности был записан на место прежнего, пухлого, уже готового (ну ладно, почти готового) реферата.
Ну и что? А то, что в такой ситуации стандартные программы, вроде R-Studio, OO DiskRecovery, Handy Recovery и прочая, и прочая, нам не помощники, поскольку они ищут именно удаленные файлы. А наш файл-то на месте, живой… только почти дохлый. Был размером в 200 Кб, а остался — 1 Кб. И что же делать?
Путь к спасению
И в этой казалось бы безнадежной ситуации есть выход.
Итак, внимание!
1. Выдергиваем провод питания из системника компьютера.
И это не шутка! Это действительно необходимо для сохранения того, что еще осталось. Если выключать компьютер через стандартное «Пуск > Завершение работы», то операционная система (ОС) или какие-то другие программы могут что-то свое записать на диск и затереть наши данные. А если мы — БАЦ! — и все отключили, то ничего не записывается и данные должны остаться. Так уж устроена файловая система Windows, что удаленные данные физически не удаляются, а лишь помечаются на удаление.
2. Нам нужно обеспечить загрузку ОС с постороннего винчестера, а не с нашего, на котором с вероятностью 99% хранятся так нужные нам фрагменты файла, раскиданные где-то по поверхности магнитного блина. Как это сделать?
Варианты следующие:
-
попросить друга. Если он согласится помочь, нужно на его компьютере отключить восстановление системы на всех дисках на время проведения операции. (Это вообще-то относится к Windows XP и, возможно, к Windows Vista. Ежели у друга Linux, то будет и проще и сложнее одновременно, но это уж тогда пусть друг вам сам подскажет).
-
воспользоваться загрузочным CD, созданным программой «Антивирус Касперского» версии 7.0. Или CD на основе WindowsPE или BartPE. Либо любым иным загрузочным CD, который позволяет: а) читать (писать нам не обязательно) файловые системы FAT32 и NTFS, б) читать-писать флэшку, куда мы будем сохранять наш спасенный файл, в) запустить HEX-редактор.
3. Необходим HEX-редактор, позволяющий либо запускать 2 копии себя самого, либо имеющий 2 закладки (окна) для работы с двумя объектами одновременно.
Итак, берем в руки скальпель, тампон, спирт, огурец… ой! Это не то! Наши инструменты в данной ситуации — немного теоретической подготовки, позволяющей знать, что пациент скорее жив, ясная голова и уверенно нажимающие клавиши пальцы рук.
Теория гласит: файл где-то есть. Где-то на всей поверхности 20-гигабайтного «винчестера» затерялись несколько кластеров нашего файла, у которого размер был примерно от 100 до 300 Кб. И эти кластеры помечены как свободные, ни к каким файлам не подвязанные, ни к существующим, ни к удаленным. Значит, остается поиск только по содержимому кластера. Так, хорошо. Подключаем этот винт вторым в системе, отключаем восстановление системы в Windows XP, загружаемся.
А что у нас за файл нужно найти? Что у него за содержимое? И можно ли выделить некий фрагмент, найдя который в «джунглях информации» жесткого диска, можно с уверенностью сказать, что это наш файл?
Файл в нашем случае был — проект из программы Womble Multimedia MPEG Video Wizard DVD «Film3.wbp». Он имеет текстовый формат, похожий по структуре на .ini-файлы (рис. 1).
Посмотрев дальше (рис. 2), видим, что хорошим фрагментом для поиска будет «[Clip».
Можно, конечно, взять что-нибудь вроде «PhysicalLength» или «AudioStreamID». Но так как мне нужно было восстановить именно разделы «[Clip», начиная с 93-го, то я и взял в качестве шаблона поиска его. В вашем же случае нужно будет проанализировать остатки файла, найти там фрагмент — легко узнаваемый, и в то же время достаточно редкий, чтобы не пришлось спотыкаться на ложных срабатываниях.
У меня под рукой был freeware HEX-редактор TinyHexer (www.mirkes.de), его я и запустил. При скромном размере (exe-файл у версии 1.0.1 «весит» 405 Кб) он позволял сделать ну очень много, в том числе осуществить прямой доступ к содержимому жесткого диска, что мне и нужно было. Открываю диск (рис. 3).
Выбираем раздел (рис. 4). Вы же помните, я подключил подопытный винчестер как второй.
После нажатия кнопки ОК открылось содержимое диска (рис. 5).
Сначала установим режим «Только чтение». Не хватало нам еще что-нибудь изменить… Командуем View > No Editing» — в меню появляется флажок. Хорошо, заблокировали. Теперь смотрим на данные — ох! Ну и что тут можно понять? Хуже китайской грамоты — сплошной бред…
А поиск? Мы же приготовились искать, вот и начнем! Меню «Edit > Find», вводим «[Clip», расставляем флажки, они существенные (рис. 6).
Нажав «Find», я долго ждал, минут 15, пока появился первый найденный результат (рис. 7).
Неплохо! Очень даже ничего! Правда, нам нужно бы найти раздел Clip, начиная с 93-го, а мы нашли 205-й. Ну что ж, и это хорошо, теперь остается сохранить найденное.
Создаем новый пустой документ, меню «File > New», сразу же «File > Save As…», и сохраняем на ПЕРВЫЙ (важный момент!) жесткий диск. У меня это были разделы C: и D:. Так как формат файла текстовый, то и расширение я ему дал txt. Это будет рабочее расширение, ведь мне предстоит найти фрагменты, склеить найденное по порядку в одно целое, и лишь тогда, может быть, результат окажется подходящим и «удобоваримым» для программы MPEG Video Wizard.
Переключаемся в окно с диском, меню Window — 1, и отмечаем мышкой фрагмент, начиная с самого начала сектора (рис. 8).
А почему не с того места, где начинается «[Clip»? А для простоты! Начав с адреса 0x0121F1:0x00, я буду в дальнейшем добавлять целые сектора, которые ТОЧНО ПРИНАДЛЕЖАТ моему файлу. А поскольку формат файла — текстовый, то мусор перед [Clip205] можно будет элементарно стереть в любом текстовом редакторе.
Отметили, теперь Copy-Paste в другое окно и — что? Правильно, сохраняем. Ctrl + S. «Шоб було».
Дальше смотрим следующий сектор, «File > Disk > Load next sector» или, что лучше, всего лишь две клавиши: Shift + F8. Следующий сектор тоже оказался из нашего утерянного проекта, и следующий, и еще много следующих. Все они были скрупулезно скопированы и сохранены. Открыв сохраненный текстовый файл, видим нормальный текст (рис. 9), правда, это лишь фрагмент, ну ничего страшного, насобираем все кусочки, что остались, и склеим из них то, что надо!
Через некоторое время «наши» сектора закончились.
И что дальше? А дальше — продолжаем поиск, кнопочка F3…
Просидев несколько ночных часов за поиском утерянных секторов, мне удалось найти полностью целый файл от утерянного проекта, причем сектора располагались подряд. И на следующий день моя милая, сияющая от счастья, что ее труд был не напрасным, сделала наконец-то свою первую резервную копию проекта на DVD-диск.
Резюме
-
Делайте резервные копии своих данных. Нееет, не потом, не завтра, а именно сейчас!
-
Думайте, прежде чем что-то делать. Особенно за компьютером. Если устали, то лучше выйти в парк погулять, чем пускать шаловливые руки в компьютерный «огород».
-
Даже из нештатных ситуаций может быть найден выход. Вопрос лишь в его цене. Сколько времени, сил и других ресурсов может понадобиться? Стоит ли овчинка выделки?
-
Хорошо изучать компьютер и его программы методом «научного тыка». Но только после (а не до!) создания резервной копии своих данных.
-
Регулярно делайте дефрагментацию жесткого диска. По возможности, установите в опциях программы-дефрагментатора свойство, чтобы файлы располагались непрерывно. Этот параметр поможет восстановить утерянный файл, «подняв» его за один прием, начав от первого кластера и до последнего.
ЛИРИЧЕСКОЕ ОТСТУПЛЕНИЕ
Я работал с клиентом, когда мне на мобильный позвонила жена и срывающимся голосом, глотая слезы, закричала: «Спасай, я удалила фильм! Два месяца я его делала… хлюп-хлюп…. уже почти все было готово, осталось только пару фотографий вставить, хлюп-хлюп… А-а-а-а… хлюп-хлюп… Я тут что-то нажала, там что-то выскочило, и все пропало! А-а-а-а…»
Я ей сказал: «Ничего страшного, милая. Эта ситуация решаемая. Выключи компьютер, да не как обычно, а щелкни красную кнопочку на удлинителе, к которому он подключен, и ни под каким пряником комп больше не включай, я приеду — сделаю что нужно».
Успокоив жену, вечером я приступил к разбору ситуации. Оказалось, был удален файл проекта из программы Womble Multimedia MPEG Video Wizard DVD. Точнее, файл-то был на месте, только он был пустой, символическим размером в 641 байт. Полностью пустой проект. И сохраненный на диск. Была его предыдущая, «бородатая» копия, размером 67 Кб, в которой было лишь 7 минут фильма. А сделано-то было уже более 40 минут.
Фильм был набран из фотографий, с переходами между ними, с титрами. В общем, пропало работы действительно много. И какой работы! Творческой, зажигательной, интересной… Это был первый проект моей любимой, в котором она рассказывала о нашем свадебном путешествии. Понятно, что восстановить файл нужно. Очень-очень нужно. И главное — можно.
Конец лирического отступления
МУДРАЯ ТЕОРИЯ
Все файлы в ОС хранятся на разных носителях в виде цепочки кластеров, примерно так:
Кластер — минимальный блок информации, который выделяется для хранения файла. Даже для одного байта будет выделен целый кластер, обычно в NTFS-системе размер кластера 4 Кб. Остаток неиспользованного пространства хранит информацию от другого файла, который когда-то был записан в этом кластере. Стрелочки означают ссылки от одного кластера к другому.
Теперь, когда мы перезаписали поверх нашего файла другое содержимое меньшего размера, получим картинку:
Розовым цветом обозначен первый кластер с новым, перезаписанным содержимым, а серым — кластеры, которые помечаются ОС как свободные.
Наша задача — достать содержимое тех самых «серых» кластеров.
Santino
Web-droid редактор
Не пропустите интересное!
Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!
Обзор павер банка Baseus на 20 000 мАч с мощностью 22 Вт
Почти сразу после теста двух павербанок Baseus на 20 000 мАч мощностью 20 Вт, мы получили доступ к модели 22 Вт. Различий больше чем кажется
Microsoft прекращает производство и разработку устройств виртуальной реальности
Microsoft дополненная реальностьMicrosoft объявила о завершении производства своей AR-гарнитуры HoloLens 2, что фактически означает конец этой линейки продуктов
Sony и Raspberry Pi представили модуль камеры обрабатывающий изображение с помощью ИИ
Sony искусственный интеллект камераRaspberry Pi и Sony представили новый модуль камеры Raspberry Pi AI, способный выполнять задачи с искусственным интеллектом (AI) без необходимости в дополнительных графических процессорах