Загрузочная дискета
Средства восстановления и диагностики, расположенные на основном жестком диске, годятся разве что для обучения, а для реальной работы они бесполезны. Даже если сбой окажется не настольно серьезным, чтобы воспрепятствовать загрузке Windows, попытка "лечения" диска в многозадачной среде носит весьма непредсказуемый характер. Записывая что-либо на диск в обход драйвера файловой системы вы здорово рискуете. Допустим, вы восстанавливаете удаленный файл, обновляя MFT (Master File Table – святая святых файловой системы NTFS), а в это время система создает/удаляет другой файл, обращаясь к тому же самому сектору, что и вы. Ну и что произойдет в результате? Правильно – файл, а, возможно, и весь дисковый том, умрет окончательно. К тому же система блокирует активные исполняемые файлы и файлы данных, что делает невозможным их восстановление даже при наличии архивной копии. Про борьбу с вирусами лучше вообще не говорить. Многие вирусы, обосновавшись в системе, блокируют запуск антивирусных программ или умело скрываются от них, не давая себя удалить или обнаружить. Если же в результате сбоя перестала загружаться Windows, вы вообще остаетесь ни с чем…
Главное преимущество FAT16/32 по сравнению с NTFS это, бесспорно, возможность загрузки с системной дискеты. MS-DOS 7.0 поддерживает длинные имена, позволяя скопировать с восстанавливаемого диска все файлы, которые только доступны штатному драйверу операционной системы. Но с NTFS такой номер уже не пройдет! Однако, никто не запрещает нам подключить восстанавливаемый диск "вторым" к системе с работоспособной NT. Для этого даже не обязательно иметь два компьютера. Просто подключите к своему компьютеру еще один винчестер, установите на него NT и наслаждайтесь жизнью. При этом следует учитывать, что информация о программных RAID'ах, созданных Windows NT 4.0 или более ранними версиями, содержится в реестре и потому при переносе диска на другую систему оказывается недоступна. Динамические диски, появившиеся в Windows 2000, хранят свою атрибуты в фиксированных местах диска и потому не привязаны к своей родной системе. С шифрованными файлами дела обстоят не в пример хуже. Ключ шифровки хранится в недрах пользовательского профиля и на другой системе извлечение файлов оказывается невозможным. Причем, создание пользователя с таким же именем/паролем не решает проблемы, т. к. ключ генерируется системой случайным образом и не может быть воспроизведен. Ничего не остается, как действовать тупым перебором.
Некоторые типы разрушений файловой системы способы завешивать оригинальный NTFS-драйвер или выбрасывать синий экран смерти, что создает серьезные проблемы (чтобы восстановить диск, мы должны запустить определенный инструментарий, а чтобы запустить инструментарий, нам надо загрузить Windows, а вот это мы как раз сделать и не можем!). Попробуйте подключить такой диск к системе, не поддерживающий NTFS (например, Windows 98 или MS-DOS), естественно выбранные вами утилиты восстановления должны быть совместимы с ней. Или – как вариант – натравите на такой диск LINUIX. Драйвер LINIX'а игнорирует вспомогательные структуры файловой системы (такие, например, как файл транзакций) и потому успешно монтирует диск даже когда в них содержится сплошной мусор.
Благодаря усилиям Марка Руссиновича, создавшего замечательную утилиту NTFSDOS Professional, мы может работать с NTFS-разделами в среде Windows 9x/MS-DOS. Однако, это отнюдь не самостоятельный драйвер, а всего лишь обертка вокруг штатного NTFS.SYS, эмулирующая необходимое окружение и диспетчеризующая файловые запросы. С одной стороны это хорошо тем, что мы имеем полноценную поддержку NTFS, на 100% совместимую с нашей версией операционной системы (NTFS.SYS извлекается как раз оттуда), в то время как драйвера сторонних производителей (и в частности драйвер LINIX'а) реально работают лишь на чтение, да и то кое-как (потоки и прочие "вкусности" NTFS начисто игнорируются). С другой стороны, если порушенный диск завешивает NTFS.SYS, он завесит и Руссиновича! Однако, с такими проблемами приходится сталкиваться не так уж и часто, поэтому полезность этой утилиты воистину неоценима. Демонстрационная копия NTFSDOS Profrssional, доступная для бесплатного скачивания (http://www.sysinternals.com/files/NTFSProR.exe), поддерживает лишь чтение NTFS-дисков, а за возможность записи приходится платить (несите свои денежки на http://www.winternals.com – платный вариант www.sysitnernals.com).. Впрочем, поскольку NTSFDOS Professional всего лишь обертка, после небольшой доработки напильником она с готовностью соглашается и читать, и писать. (Внимание! Никто не говорит о взломе! Мы ничего не ломаем! Напротив, мы создаем, наращивая функциональность программы!). Кратко об установке и сопутствующих проблемах. Для начала вам потребуется создать системную дискету, что легче всего осуществить средствами Windows 98. Русская версия MS-DOS даже в минимальном комплекте поставки (io.sys + command.com) занимает намного больше места, чем рассчитывал Руссинович и NTFSDOS Professional на стандартную 3" дискету уже не вмещается. Поэтому, приходится устанавливать NTFSDOS Professional на чистую диску (точнее говоря, инсталлятор создает таких дисков два – на первый помещает NTFS-драйвер, а на второй – chkdsk.exe). Загрузившись с системной дискеты, выньте ее из дисковода (естественно, command.com должен быть предварительно скопирован на виртуальный диск), вставьте первый диск, сформированный инсталлятором и наберите в командной строке NTFSPRO.EXE.
Как вариант можно воспользоваться загрузочным диском от компании Active@Data Recovery Software
(http://download2.lsoft.net/NtfsFloppySetup.exe) или загрузочным CD-ROM диском от нее же (http://download2.lsoft.net/boot-cd-iso.zip). Центральным звеном каждого из них является независимый NTFS-драйвер, работающий из под MS-DOS и монтирующий NTFS тома даже при полном разрушении вспомогательных файловых структур и серьезном повреждении таблицы MFT и полном разрушении корневого каталога. Драйвер самостоятельно сканирует диск в поисках уцелевших записей в MFT, показывая в том числе и удаленные файлы, предлагая их восстановить. Естественно, возможность записи на диск реализована только в коммерческой версии, а демонстрационная позволяет лишь скопировать файлы на внешний носитель (жесткий диск, размеченный под FAT, или дискету). Динамические диски, к сожалению, не поддерживаются. Помимо этого в комплект входит утилита для создания/восстановления образом диска, средство избавления диска от данных (полезно когда вы сдаете диск с конфиденциальными данными назад продавцу), программу для работы с патрициями[1]
(восстановление разрушенных таблиц разделов и их заблаговременная архивация), и автономный энурез – утилиту unerase для NTFS.
Если приобретение второго жесткого диска вам не по карману, а возможности MS-DOS загрузчиков вас не устаивают, воспользуйтесь другой утилитой Марка Руссиновичка – ERD Commander'ом, позволяющим запускать усеченную версию Windows с дискет (5 штук) или CD-диска. В настоящее время ERD Commander распространяется только на коммерческом основании, хотя в сети до сих пор можно найти предыдущие, бесплатные версии, хотя их функциональные возможности весьма ограничены. В частности, опробованный мной EDR Commander 2000 вызывал смесь разочарования с удивлением. Во-первых, он забросил на дискету многопроцессорное ядро (а у меня однопроцессорная машина!). Как следствие, при загрузке с дискеты Windows не нашла нужного ядра и умерла еще в зачатье. Пришлось менять ядро вручную. Затем всплыли и другие ошибки инсталлятора и пришлось немало попотеть, прежде чем Windows все-таки загрузилась. Подготовленный инсталлятором образ CD-ROM'а так же был в сильно разобранном стоянии – просто папка с файлами и bootsector.bin, который еще не каждой утилитой прожжешь (я пользовался CDRTOOLS, так же подходит и CDRWIN, а вот популярный Нерон, сжигающий Рим, для этой цели увы, не пригоден). Тем не менее, ERD Commander стоит всех мучений! С его помощью вы можете: менять администраторский пароль в системе, редактировать реестр упавшей системы, управлять сервисами и драйверами, восстанавливать удаленные файлы, копировать и модифицировать любые системные и пользовательские файлы (в том числе и по сети), редактировать таблицу разделов и управлять динамическими дисками, сравнивать файлы упавшей и рабочей системы, производить откат системы в рабочее состояние и многое-многое другое. К сожалению, непосредственными средствами для восстановления разрушенного диска ERD Commander не располагает и в основном он применим для реанимации операционной системы (правда, из под ERD Commander'а вы можете вызвать дискового доктора или любую другую Windows-утилиту, в таком случае никакого смысла в его приобретении нет – второй винчестер будет дешевле).
Начиная с Windows 2000, Microsoft наконец-то включила в операционную систему некоторую пародию на загрузчик, способную стартовать с CD-ROM и поддерживающую NTFS. Называется эта штука Консоль Восстановления
или по-английски Recovery Console. Это действительно консоль, ничего не знающая о GUI и способная запускать только консольные приложения (типа chkdsk.exe и подобных им). Для ее активации загрузитесь с дистрибутивного CD-ROM и сделайте вид, что хотите переустановить систему, но на определенном этапе установки нажмите <R> для вызова консоли восстановления. Вас запросят пароль администратора (если вы его забыли или системный реестр поврежден войти в консоль не удастся!), при успешной регистрации запуститься командный интерпретатор, позволяющий (теоретически!) скопировать уцелевшие файлы на другой диск. Практически же по умолчанию доступа только папка WINNT, причем копирование на съемные носители запрещено. Хорошенькое начало! Вам нужна WINNT? Личные документы намного нужнее! К счастью, доступ можно разблокировать. Для этого необходимо присвоить системным переменным AllowAllPaths и AllowRemovableMedia значение true ("SET AllowAllPaths = true", "SET AllowRemovableMedia = true"), или локальных параметрах безопасности" (папка Администрирование в Панели Управления) заблаговременно найти пункт "Консоль восстановления: разрешить копирование дискет и доступ ко всем папкам" и перевести рубильник во включенное состояние. Смысл этой защиты не совсем понятен. Простые пользователи до консоли восстановления все равно не дотянуться, а профессионалов подобные манипуляции ужасно раздражают. Находясь в консоли восстановления вы можете: запускать chkdsk[2], создавать и удалять разделы на жестком диске, перезаписывать главную запись и boot-record, форматировать логические диски, управлять службами и драйверами, удалять/копировать/переименовывать/изменять атрибуты файлов (включая те, что блокируются при запуске системы), а так же выполнять другие сервисные операции. При желании вы можете запускать и свои собственные консольные приложения, при условии, что они не используют никаких динамических библиотек за исключением NTDLL.DLL, однако, технику их создания мы обсудим как ни будь в другой раз, т. к. это очень обширный вопрос.
В Windows XP идея консоли восстановления получила дальнейшее развитие, в конце концов вылившееся в Windows PE. Это – слегка усеченная версия Windows XP, способная грузиться с CD-ROM и запускать GUI-приложения. Фактически она полностью заменят собой "второй" жесткий диск и для восстановления системы теперь не требуется никакого дополнительного оборудования! Несмотря на то, что легальная версия Windows PE в широкую продажу так и не поступала (Microsoft предоставляет ее только разработчикам оборудования, сервисным специалистам и прочим своим корешам), в России копию оригинального диска Windows PE можно найти в каждом ларьке. Пиратство пиратством, но то, что спрос рождает предложение – факт, а загружать Windows с диска требуется многим. Если же вы связаны лицензионными ограничениями, диктуемыми уставом вашей фирмы, воспользуйтесь Bart's PE Builder'ом. Эта бесплатно распространяемая утилита (http://www.danilpremgi.com/nu2/pebuilder3032.zip) вытащит с дистрьбютивного диска обыкновенной Windows все необходимые файлы и автоматически сформирует iso-образ загрузочного CD. Прожигаете его на болванку и все! При желании вы можете помещать на CD и свои собственные утилиты, формируя приличную аптечку для восстановления умерших дисков и размещающуюся на 3" CR-R/RW, свободно умещающимся в нагрудном кармане. И не зачем таскать эти жуткие стопки дискет или страшно сказать – отдельный винчестер. К слову сказать, к Bart's PE Builder'у выпущено множество плагинов, представляющих собой программы, адоптированные для запуска с CD. Среди них есть и утилиты восстановления данных, и дисковые редакторы, и даже Nero Brining Rom. Большую коллекцию плагинов можно найти на домашней страничке Bart'а – http://www.nu2.nu/pebuilder/ здесь же вы найдете и краткое руководство по работе с PE Builder'ом. Официально PE Builder поддерживает Windows 2000, Windows XP и Windows 2003, однако, при ближайшем рассмотрении выясняется что ему как минимум нужен Windows 2000 с интегрированным SP1, зато создание диска на базе Windows 2003 прошло успешно (использовался CD-ROM с 180-дневной версией Windows 200 Server, бесплатно распространяемый компаний Microsoft).