Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Тайны и секреты компьютера - Антон Орлов на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

Об удалении файлов и восстановлении данных

Когда выполняется команда удаления файлов с жесткого диска (в Windows это происходит при очистке «Корзины», так как при простом удалении файлов с помощью команды «Удалить» или кнопки Delete файлы перемещаются в «Корзину», а не удаляются), то сама информация, находящаяся в ячейках жесткого диска, не уничтожается. Выполняется лишь пометка в FAT кластеров, ранее занимаемых этим файлом, как свободных, а в файле каталога, в котором этот файл находился, первый символ имени заменяется на знак"!". Так как длинные имена файлов хранятся в файле каталога отдельно от настоящих имен, то они в этом случае сохраняются.

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

Если файл занимал больше одного кластера, то наверняка восстановить можно лишь содержимое первого кластера. Информация о том, в каких кластерах располагалось остальное содержимое файла, утрачивается полностью, так как из FAT информация об удаленном файле стирается.

Поэтому программы восстановления удаленных файлов (к примеру, Norton UnErase Wizard) просто обьединяют в одном файле определенное число последовательных свободных кластеров (соответствующее записанному в файле каталога размеру удаленного файла) и именуют результат названием удаленного файла. Пример того, что получается — на рис. 8.10.


Рис. 8.10. Результат работы Norton UnEraze.

Этот текстовый файл snakecor.txt размером в 40 килобайт был удален, а потом восстановлен с помощью Notron UnErase Wizard, который нашел в файле каталога, где snakecor.txt находился, его имя с знаком"!" впереди, узнал оттуда размер файла и номер первого кластера, занимаемого файлом, а потом обьединил содержимое этого и следующего свободного кластера. Но, увы, программе и пользователю не повезло — изначально файл snakecor.txt был фрагментирован и в восстановленный файл попал фрагмент другого ранее удаленного файла, а не тот, который был нужен.

Что такое Unformat

При форматировании жесткого диска очищается таблица FAT (в ней все кластеры помечаются как свободные) и корневой каталог — из него удаляется вся информация о содержащихся в нем файлах и других каталогах. Сами данные на винчестере не стираются. Поэтому их можно восстановить программами типа Unformat. В этом отличие винчестера от дискеты — при проведении полного форматирования дискеты на ней заново записываются и магнитные метки начала секторов, и служебная информация, поэтому после полного форматирования данные на дискете восстановить практически нельзя.[24] "Быстрое форматирование" дискеты по своему принципу аналогично полному форматированию винчестера.

Программа для восстановления данных после форматирования просканирует логический диск и найдет на нем файлы, бывшие некогда каталогами, ориентируясь при этом на типичные последовательности байтов ("метки"), характерные именно для файлов-каталогов. Затем она узнает из этих файлов номера первых кластеров содержащихся в них обычных файлов. К сожалению, информация об остальных кластерах, занимаемых файлами, потеряна навсегда, поэтому Unformat (как и UnErase Wizard), добавит каждому файлу следующие за первым кластером свободные кластеры в количестве, равном занимаемому ранее файлом числу кластеров, и занесет в FAT информацию об этом.

После этого Unformat создаст в корневом каталоге свежеотформатированного диска новые каталоги и укажет в этих каталогах имена и первые кластеры узнанных на предыдущем этапе обычных файлов. В результате в корневом каталоге отформатированного диска появятся папки, содержащие файлы, ранее присутствовавшие на диске. Те файлы, которые занимали меньше одного кластера или при восстановлении которых были обьединены именно те кластеры, которые они раньше и занимали (такое бывает, когда диск был дефрагментирован незадолго до форматирования), будут восстановлены полностью. Остальные — как повезет.

Такая обычная ScanDisk…

Наблюдая за работой всем известной, стандартной программы ScanDisk из Windows 95/98, можно увидеть немало интересного… Конечно, если смотреть внимательно и вдумыватся в то, что видишь.

1. Программа ScanDisk просматривает FAT. Так как вся FAT находится в одном месте диска, то считывается и проверяется она очень быстро. На этом этапе своей работы ScanDisk ищет ошибки файловой системы — общие кластеры, и в случае обнаружении таковых исправляет структуру FAT, копируя эти кластеры для каждого из содержащих их файлов и соответственно изменяя содержимое FAT.


2. А теперь ScanDisk проходит по структуре каталогов — то есть считывает все файлы-каталоги, проходя по их иерархии. Это связано с необходимостью многократного перемещения головок жесткого диска, поскольку эти файлы расположены в разных местах диска. Поэтому времени на "Проверку папок" уходит немало. На этом этапе также собираются данные для последующего анализа диска на предмет наличия потерянных кластеров — помеченных как занятые, но не принадлежащих ни одному из файлов. Сам этот анализ происходит сразу после "Проверки папок". Потерянные кластеры могут быть преобразованы в файлы или удалены.


3. Системная область — это область, занимаемая FAT. Ониа находится в начале логического диска. В те секторы, которые FAT занимает, данные пользователя записывать нельзя, а повреждение здесь приведет к потере и расположенных на диске файлов, так как операционная система не сможет их найти.


4. Проверяется область данных пользователя на предмет поврежденных секторов. В случае обнаружения таковых в FAT будут занесены соответствующие указания.


DiskEditor

Это редактор содержимого диска, разработанный нашими соотечественниками — компанией ФизТехСофт. Он позволяет просматривать содержимое диска не средствами операционной системы, а "на физическом уровне" — побайтово, то есть смотреть, что записано в каждой электронной ячейке диска, в каждом его секторе. Вот, как, к примеру, выглядит корневой каталог логического диска — смотрите рис. 8.11, или FAT — рис. 8.12. Разобраться в хитросплетении кодов, конечно, сложно… Одно радует — операционная система делает это автоматически, а мы этого даже не замечаем.


Рис. 8.11.Это — корневой каталог диска, отображенный в DiskEditor'е. Именно так он выглядит на уровне дорожек, секторов и битов.

Основное предназначение DiskEditor'а — помощь в восстановлении информации на жестком диске в случае поражения его вирусом или повреждения служебной информации. Поэтому, как вы, наверное, заметили из рисунков, в DiskEditor'е возможны два представления информации — шестнадцатиричный (слева) и текстовый (справа).


Рис. 8.12. Святая святых диска — таблица FAT. Вот что это такое в реальности…

В случае печальной необходимости восстановления винчестера можно запустить DiskEditor с дискеты. Имеется возможность создать загрузочную дискету специально для DiskEditor'а, для чего в комплекте редактора есть специальная программа, инсталлирующая на дискету сокращенную версию операционной системы PTS-DOS, позволяющую загрузиться с этой дискеты и работать с DiskEditor'ом. Шестнадцатиричное представление информации удобно использовать для восстановления программного кода загрузочных секторов диска, ну, а текстовое представление поможет вам все-таки вытащить нужную информацию с диска (рис. 8.13). Правда, только представленную в формате простого текста или HTML и только за один прием из одного кластера (второй по всему диску искать придется), но все же хоть что-то…[25]


Рис. 8.13.Слева — вот файл с так нужными мне данными, который был на погибшем диске. Справа — DiskEditor нашел его на поверхности диска.

О старых BIOS и о больших дисках

Представим себе следующую ситуацию.

Наконец наступил долгожданный день, и компьютер, который у вас уже три года, дождался обновления. Пошли вы на рынок, купили новый большой винчестер. Ставите его в компьютер… и — что это, BIOS его не определяет! Ладно, вручную ставим параметры… но второй диск, новый, большой, свежекупленный, не виден из MS-DOS! Причем FDisk его распознает. Неужели вам продали некачественную вещь?

Несете его к другу, подключаете… Все видно, все форматируется. Ставите себе снова. Из MS-DOS не виден, из Windows виден. Весь.

Итак, диск исправен. Но в чем же причина таких чудес?

В устаревшем BIOS. Старые версии BIOS (выпущенные до 1999 г.) не позволяют работать с винчестерами емкостью больше 8 гигабайт, — о причинах этого рассказано выше. Системы же семейства Windows используют свои программы-драйвера для работы с винчестерами, поэтому ограничение в 8 гигабайт на них не распространяется. Однако сначала они должны загрузиться, а при загрузке волей-неволей приходится использовать средства BIOS для работы с винчестером. А это-то невозможно…

Иногда диски большой емкости на машинах со старым BIOS'ом все же видны, но работать из через BIOS можно только с их первыми 8-ю гигабайтами (именно с такими ситуациями были связаны случаи отказа загрузки WindowsNT, размещенной на логическом диске емкостью больше 8 гигабайт, после очередного обновления системных файлов — они оказывались за пределами восьмигигабайтной зоны и загрузчик NT, работающий с диском через BIOS, не мог тогда их прочитать).

Пути решения описанной проблемы, помимо приобретения новой материнской платы с более совершенным BIOS'ом (а это все платы для Pentium II, III, IV, Celeron, Duron, Athlon, а также платы для Pentium I на чипсетах Ali Aladdin, Via MVP3 и Via MVP4), могут быть такие.

1. Использовать специальные программы работы с большими дисками на компьютерах о старым BIOS'ом. Например, "Ontrack Disk Manager" — она записывает в загрузочную область диска особую программу, подменяющую функции BIOS. В большинстве случаев вы можете найти подобную программу на сайте производителя винчестера (иногда она называется «EZDrive» или как-то еще). Существует универсальный вариант этой программы, по идее подходящий для всех моделей жестких дисков — поищите его на сайте фирмы Ontrack: http://www.ontrack.com.

2. Установить в компьютер (на первый канал IDE как Master) жесткий диск размером до 8 гигабайт и установить на него операционную систему Windows (или Linux). После этого большие диски, устанавливаемые в компьютер дополнительно, будут доступны именно из среды этой операционной системы, так как современные операционные системы используют для работы с жесткими дисками свои программы-драйвера. Из MS-DOS установленные большие диски видны не будут.

3. Перепрошить BIOS материнской платы. О том, как это сделать и какие "подводные камни" могут встретиться на этом пути, рассказано в 25-й главе этой книги. Стоит лишь добавить, что на сайте производителя платы в этом случае следует искать прошивку, в перечне нововведений в которой указано что-то вроде " Support INT13 Extensions".

К сожалению, ваши старания могут и не увенчаться успехом — если ваша материнская плата очень старая и сам контроллер жестких дисков не поддерживает большие их обьемы. Если даже использование дополнительного небольшого жесткого диска с Windows не позволит получить доступ к установленному вместе с ним большому (т. е. обьемом больше 8 гигабайт), то единственный выход — замена материнской платы.

Иногда встречаются и другие ограничения на обьем диска, связанные с особенностями BIOS конкретной модели материнской платы, — например, некоторые старые материнские платы производства Asus (и некоторых других производителей) могут работать лишь с первыми 32 гигабайтами обьема диска. Пути обхода подобных ограничений такие же, как указаны выше — перепрошивка BIOS, программа EZDrive, дополнительный жесткий диск.

Подсчитаем…

Чтобы оценить реальный размер папки согласно количеству занимаемых ее файлами кластеров, а не размер содержащихся в этих файлах собственно данных, в Windows 98/2000/XP можно использовать окно "Свойства папки" (пункт «Свойства» меню правой кнопки мыши выделенной папки). То число, которое стоит перед словом «занято», и показывает этот реальный размер. Однако для оценки величины занимаемого места большим количеством папок использовать это окно не так и просто. Поэтому существуют специальные программы, основное предназначение которых — помочь пользователю оценить реальный размер папок и файлов. Такие программы могут быть весьма полезны, когда необходимо оценить, какие файлы и какие папки действительно занимают больше места на винчестере и станут первыми в очереди на архивацию или удаление. Также они пригодятся в Windows95, где окно "Свойства папки" не предоставляет информации о занимаемом ею месте. Кроме того, эти программы часто имеют еще и дополнительные функции наблюдения за диском, поиска файлов и т. д. Расскажем о некоторых их них.

Сканер диска

Программа «Scanner» (рис. 8.15), написанная немцем Стефаном Герлачем, отображает в виде круговой диаграммы содержимое Вашего жесткого диска, при этом оценивая реально занимаемое файлами место. Так, папка с 300 файлами по 10 килобайт будет отображаться как имеющая размер 9600 килобайт (если у Вас кластер занимает 32 килобайта), то есть занимающая почти 10 мегабайт. Можно оценить, какие файлы у Вас занимают больше места, — чтобы для увеличения свободного пространства на диске архивировать или удалять именно их.


Рис. 8.15. Программа Scanner.

Программа сделана очень красиво и удобно. Подведя курсор к любому сектору на диаграмме, можно узнать, какую папку он изображает. Щелкнув два раза на секторе, изображающем папку, вы перейдете к такой же диаграмме, построенной специально для этой папки и отображающей только ее содержимое. Для того, чтобы не загромождать рисунок, отображаются только файлы и папки, размер которых превышает определенную величину.

Загрузить программу можно с сервера www.freeware.ru или с сайта автора http://www.steffengerlach.de/ freeware. Программа бесплатная.

Folder Size Shell Extensions (DFolder)

Программа Dfolder интегрируется в стандартное окно "Свойства папки" как дополнительная закладка и при своем вызове выводит отчет о занимаемом этой папкой и вложенными в нее папками реальном месте на диске — с учетом всех занятых содержимым папки кластеров (рис. 8.16).


Рис. 8.16. Вся папка — как на ладони. Не правда ли, удобно?

Программа допускает различное представление информации о занимаемом папками месте на диске — от байт до гигабайт. Отчет программы можно вывести в отдельный файл, и тогда для каждой папки еще будет указан процент "потерянного места" — какую долю от обьема реальных данных в папке занимает совокупный обьем незаполненных фрагментов кластеров, в которых эти данные находятся. В итоге можно разобраться, какие папки и файлы занимают места на диске гораздо больше, чем их собственный размер. К примеру, папка Cursors занимает места в 20 раз больше, чем содержит реальных данных. На основании полученной информации можно принять решение о том, какие папки стоит удалять или архивировать для освобождения места на винчестере, а какие — лучше оставить.

Создана эта бесплатная программа французом Лоренцом Бергером, а загрузить ее можно с адреса http://perecod.chat.ru/ dfolder.rar.

Следы на песке

Если вы будете просматривать структуру жесткого диска с помощью программы DiskEditor, то вас наверняка заинтересует, каким образом можно найти на диске тот или иной описанный выше его компонент. Скажем, Master Boot Record или FAT. А сделать это можно, используя сигнатуры — последовательности байт, характерные для того или иного компонента файловой системы.

К примеру, в самом конце Master Boot Record находится сигнатура 55AAh (так в шестнадцатиричном представлении: собственно эта сигнатура занимает два байта). По ней можно найти конец Главной Загрузочной Записи. Строго говоря, в первом секторе винчестера сначала располагается Partition Table, а лишь потом — Master Boot Record. Но это важно лишь при изучении структуры диска с помощью просмотра содержимого магнитных ячеек или при восстановлении данных на жестком диске.

Boot Record каждого логического диска с файловой системой FAT можно найти, ориентируясь на всегда присутствующую в ней строку «MSWIN4» (в текстовом представлении). FAT всегда начинается с последовательности шестнадцатиричных цифр F8 FF FF FF.

Заключение

В этой главе приведены только самые основы этой огромной темы — принципов размещения информации на магнитных носителях. Была рассмотрена лишь не самая сложная и не самая удачная файловая система FAT. Существуют и другие файловые системы, превосходящие FAT по сложности и возможностям. Зачастую они основаны даже на совсем других принципах организации данных, нежели FAT, однако все же именно FAT на настоящее время остается наиболее распространенной файловой системой.



Поделиться книгой:

На главную
Назад