Восстановление удаленных файлов с CD-R/CD-RW
Заявляя о своей поддержке многосессионных дисков, операционные системы Windows 9x и Windows NT (вплоть до W2K включительно) тактично умалчивают о том, что поддерживают их лишь частично. Каждая сессия – это вполне самостоятельный том (в терминологии Windows – "логический диск"), имеющий свою собственную файловую систему и свои собственные файлы. Благодаря сквозной нумерации секторов лазерного диска, файловая система одной сессии может ссылаться на файлы, физически расположенные в любой другой сессии. Для того, чтобы с многосессионным диском было можно работать, как с единым томом, файловая система последней сессии должна включать в себя содержимое файловых систем всех предыдущих сессий. Если этого не сделать, то при просмотре диска штатными средствами Windows, оглавления остальных сессий окажутся потерянными, поскольку Windows монтирует лишь последнюю сессию диска, а все прочие – игнорирует. Программы "прожига" CD-R/RW по умолчанию добавляют содержимое файловой системы предыдущей сессии к последующей, однако это еще не означает, что последняя сессия диска всегда содержит в себе все то, что имеют предыдущие.
Рассмотрим, например, как осуществляется удаление файлов с CD-R/RW. Нет, это не опечатка! Содержимое дисков CD-R, несмотря на физическую невозможность их перезаписи, в принципе, все же уничтожаемо. Для имитации удаления файла программы записи на CD просто не включают ссылку на уничтожаемый файл в файловую систему последней сессии [1]. И хотя "удаленный" файл все еще присутствует на диске, "отъедая" часть дискового пространства, при просмотре содержимого диска из-под Windows он уже не отображается в каталоге. Какой же тогда смысл несет в себе удаление файлов с CD-R, если свободная емкость диска при этом не увеличивается, а даже уменьшается [2]?! – удивленно спросит иной читатель. На самом же деле, смысл этой операции (если его вообще можно назвать "смыслом") заключен исключительно в сокрытии "удаляемых" файлов от простых пользователей. Раз удаленные файлы не видны при просмотре содержимого диска штатными средствами, то неквалифицированному пользователю они формально недоступны. Подчеркиваю: для штатных средств операционной системы Windows – недоступны, но те же "Маки" позволяют монтировать любую сессию диска на отдельный том, благодаря чему при просмотре многосессионных дисков под "Маками" все удаленные файлы сразу же "всплывают".
KPNC$G:\>dir Том в устройстве G имеет метку 030710_1433 Серийный номер тома: 4DD0-BB09 Содержимое папки G:\ | ||
28.05.2003 | 05:57 | 6 283 745 phck31.drf.zip |
03.06.2003 | 05:39 | 8 085 410 phck31.Вт 03.06.2003.zip |
04.06.2003 | 16:45 | 7 898 149 phck31.Ср 04.06.2003.zip |
05.06.2003 | 06:06 | 6 718 926 phck31.Чт 05.06.2003.zip |
03.07.2003 | 15:51 | 10 612 230 phck31.Чт 03.07.2003.zip |
05.07.2003 | 06:37 | 8 946 860 phck31.Сб 05.07.2003.zip |
08.07.2003 | 12:51 | 9 009 642 phck31.Вт 08.07.2003.zip |
09.07.2003 | 06:21 | 9 138 651 phck31.Ср 09.07.2003.zip |
10.07.2003 | 14:32 | 9 388 543 phck31.Чт 10.07.2003.zip |
9 файлов | 76 082 156 байт | |
1 папок | 0 байт свободно |
Возвращаясь к нашим баранам (простите, к Roxio Easy CD Creator), дважды щелкнем мышем по строке "Session 1" или, предварительно выделив ее курсором, нажмем на кнопку "Read Track". На экране немедленно появится диалоговое окно следующего вида:
Рисунок 2 Диалоговое окно извлечения сессии с настройками по умолчанию
Поле "Имя файла", как и следует из его названия, задает имя образа (по умолчанию "Track"), а "Тип файла" – формат. Каким либо образом "колдовать" над ним бесполезно, поскольку других форматов бесплатная версия программы все равно не поддерживает и возможность их выбора (точнее видимость возможности выбора) предоставляется пользователю исключительно из соображений этикета и/или вежливости.
А вот настройки, обведенные рамкой "Read Data Track Settings", намного более интересны. Окно редактирования "Start Block" содержит LBA-адрес первого сектора выбранной сессии, а "Length in Block" – длину сессии в секторах, также по умолчанию сюда подставляется информация, почерпнутая из TOC'а. При условии, что TOC не был умышленно искажен с целью защиты диска от копирования, этим данным можно верить. Однако, как мы увидим в дальнейшем, искажение TOC'а - не редкость, и с ним довольно часто приходится сталкиваться на практике (впрочем, возможности Easy CD Creator'a по восстановлению треков с искаженными адресами даже более чем ограничены, т. к. он слишком щепетильно проверяет "правильность" начального и конечного адресов, и если TOC говорит, что начальный адрес больше конечного, то Easy CD Creator будет свято верить TOC'у, причем настолько свято, что все попытки убедить его в обратном заранее обречены на провал, так что для работы с защитами лучше подыскать другую программу – поумнее).
Поле "Block Size" содержит размер пользовательской части сектора в байтах. Свобода выбора здесь представлена чисто символически, – все равно изменить это значение вы не сможете (да и нужно ли его изменять? ведь "сырых" секторов Easy CD Creator все равно не поддерживает, а размер пользовательской части сектора однозначно определяется типом самого сектора и его изменение – бессмысленно).
Короче говоря, оставив все установки в состоянии, предлагаемом по умолчанию, нажимаем кнопочку "сохранить" и некоторое время ждем, пока выбранная нами сессия копируется в ISO-файл. Когда же процесс "трансплантации" будет закончен, сформированный образ можно "закатать" на новую болванку тем же Easy CD Creator'ом (для в меню "File" необходимо выбрать пункт "Record CD from CD image", указав в типе файлов "ISO Image File"), либо запустить "Алкоголика" и смонтировать образ на виртуальный диск.
Так или иначе, доступ к удаленным файлам будет получен и вы сможете делать с ними все, что хотите (внимание! при просмотре содержимого "сграбленной" сессии всегда учитывайте, что: во-первых, файлы, физически принадлежащие другим сессиях, из данной сессии окажутся недоступными, в то время как ссылки на них здесь могут изобиловать. При обращении к реально несуществующему файлу будет выдаваться либо мусор, либо сообщение об ошибке. Как альтернативный вариант – операционная система может просто зависнуть. Если это произошло, просто нажмите кнопку выброса диска. Windows тут же выйдет из ступора и радостно завопит "устройство не готово". Во-вторых, в силу сквозной адресации секторов, каждая "сграбленная" сессия должна записываться на то же самое место диска, на котором она была ранее, в противном случае все ссылки на стартовые адреса файлов внутри этой сессии окажутся недействительными. Требуемый результат обычно достигается изменением стартового адреса первого трека. О том, как это сделать, рассказывается в следующей части статьи, посвященной восстановлению информации с очищенных CD-RW дисков).