Windows Millennium Edition. Подробности

(Продолжение, начало в №30)


PCHealth, System Restore & File Protection

Теперь обратимся к рассмотрению разрекламированной многокомпонентной подсистемы PCHealth, назначение которой можно легко понять из названия. Она состоит из следующих частей: Help&Support (+Assisted Support), Automatic Update, System File Protection и System Restore. Первые два компонента я уже описывал в первой части статьи. Уточню лишь, что основная составляющая PCHealth тесно связана со справочной системой Windows, а та в свою очередь - с утилитой System Information, которая занимается сбором информации о программно-аппаратной конфигурации и предоставляет возможность просмотра истории изменений ресурсов и компонентов ПК (хранится в папке Win\Pchealth\Helpctr). Это должно упростить и ускорить поиск причин неработоспособности или нестабильности операционной системы службой поддержки или самим пользователем. Для обеспечения регулярности сбора данных в планировщик Windows (Scheduled Tasks) "вшита" задача "PCHealth Scheduler for Data Collection", инициализируемая каждый раз при загрузке системы из "автозапускающего" раздела реестра.

Следующий компонент - System File Protection (SFP) - предохраняет важные файлы приложений и операционной системы от несанкционированного изменения и удаления. Попробуйте, например, модифицировать или удалить в директории Windows программу Twunk_32.exe... Пару секунд "шуршания" винчестера - и файл снова окажется на месте, как будто вы к нему и не "прикасались". Просто SFP перед тем, как разрешить перезаписать/удалить отслеживаемый файл, производит его резервное копирование в папки Win\System\ sfp\archive\ и C:\_RESTORE\ TEMP\, затем проверяет версию и цифровую подпись в специальном каталоге (Win\System\CatRoot\...), и если она неверна, производит восстановление. Нечто подобное происходит и при изменении важных файлов программами инсталляций.

Не знаю, откуда взята в опубликованном несколько номеров назад WinME-обзоре В.Демидова цифра 80, на самом деле подобных Twunk_32.exe защищенных файлов значительно больше. Полный список можно получить, если открыть в текстовом редакторе документ Win\System\Restore\FileList.Xml. Защищенные SFP-файлы определены в начале списка между тегами <SFP> и </SFP>. Всего их около 900 штук, хотя, конечно, не все они имеются на диске. Структуру FileList.Xml мы рассмотрим чуть ниже, сразу после объяснения принципов работы System Restore. Однако, перед этим еще пару слов о SFP.

К сожалению, нормальные функции управления System File Protection в WinME отсутствуют, в отличие от Windows 2000, в которой, по крайней мере, можно было включить режим оповещения о произведенных восстановлениях файлов без исследования реестра. Кроме того, сама реализация SFP в Win2K менее сложна - используется совершенно иной способ предварительного резервирования и восстановления, поэтому SFP-операцию отмены удаления/замены системных файлов в Windows 2000 можно пропустить.

Для того, чтобы получать в Millennium "всплывающие" уведомления при восстановлении файлов системой SFP, рекомендую в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\SystemFileProtection присвоить параметру ShowPopups значение 1. Ну а для отключения SFP (не желательно) можно в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\VxD\VxDMon параметру SystemFileProtection присвоить значение "N". И не забудьте перезагрузить ОС. Да! Полный протокол работы SFP можно найти в файле Win\System\Sfp\Sfplog.Txt.

Что касается System Restore, то это, на мой взгляд, довольно громоздкая, но действенная система, обеспечивающая вместе с SFP сохранность не только важных файлов Windows, но и компонентов установленных в ней приложений. Внешняя сторона System Restore - это одноименная утилита, предназначенная для отмены произведенных в системе изменений и использующая для этого один из имеющихся restore points - системных "снимков" (какой именно - выбирает пользователь, руководствуясь соображениями свежести "снимка"). Restore points представляют собой cab-архивы в директории Диск:\_Restore\Archive, содержащие файлы реестра Classes.Dat, System.Dat, User.Dat, конфигурационные файлы System.Ini, Wavemix.Ini, Powerpnt.Ini, Win.Ini, протокол Regsnapshot.Log и файл Desktop.Ini из директории задач планировщика - Tasks. "Снимки" создаются автоматически каждые 10 часов работы или раз в сутки во время простоя ПК. Кроме того, они генерируются при авто-апдэйте системы или при выполнении установки ПО, использующего технологию Darwin (например, Office 2000). Обычно это инсталляционные пакеты, работающие на "движках" Windows Installer или InstallShield версии 6.1 и выше. Заботливый пользователь может выполнить и самостоятельное создание новой restore point (например, перед установкой приложения или редактированием реестра), используя для этого все ту же утилиту System Restore.

Кроме указанных выше системных данных из "снимков", восстанавливается большое количество других файлов, измененных или удаленных после создания restore point'a, который пользователь собирается применить для восстановления системы. Например, если для восстановления системы используется "снимок" месячной давности, то несистемные файлы, изменявшиеся или удалявшиеся в течение месяца, также будут восстановлены (к счастью, это обратимо).

Millennium отслеживает изменения и удаления огромного количества типов файлов (боле 500, в т.ч. INI, BAT, DLL, EXE), сохраняя их в папке \_Restore\Temp, а затем перемещая без сжатия в FSx.CAB-архивы в директории \_Restore\Archive. Для того, чтобы обеспечить сохранность пользовательских документов и настроек, изменения в папках My Documents, History, Documents and Settings, Cookies, Favorites, Application Data и других игнорируются. Список расширений файлов, за которыми ведется "слежка", можно найти между тегами <EXTENSIONS> в уже знакомом нам документе Win\System\Restore\FileList.Xml, а список директорий, соответственно, между тегами <DIRECTORIES>. О назначении других управляющих тегов, таких как <Include> и <Exclude>, думаю, вы легко догадаетесь, заглянув (если знаний не хватает) в англо-русский словарь. Хотелось бы также обратить ваше внимание на упоминания в списке директорий с указанием параметра PROT="TRUE". При работе в Windows удаление файлов из прописанных с такой опцией папок вообще невозможно. Например, попробуйте удалить что-либо из папки C:\_RESTORE\LOGS\. Вы непременно получите сообщение о том, что файлы защищены от удаления или доступ к ним закрыт.

Указанный список отслеживаемых файлов и директорий можно при необходимости дополнять и модифицировать (например, чтобы снять защиту с некоторых программ или, наоборот, установить ее). Но так как FileList.Xml тоже защищен от изменения, редактировать его можно только загрузившись в "чистом" DOS'е с дискеты или CD. Чтобы внесенные изменения вступили в силу, необходимо также заново "скомпилировать" файл VxDMon.dat из директории _RESTORE, для чего в разделе реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VxDMon нужно присвоить параметру FirstRun значение "Y" и перезагрузиться или произвести операцию выключения/включения System Restore. Сделать это можно в панели управления Системой - закладка Performance->File System->Troubleshooting->Disable System Restore. Там же, но на вкладке Hard Disk, можно отрегулировать объем дискового пространства, отводимого под "снимки".

Несмотря на наличие описанных выше изощренных систем защиты, реестр WinME все еще "страхуется" знакомой нам по Windows 98 утилитой Registry Checker, которая занимается резервированием, оптимизацией и исправлением ошибок реестра. При загрузке операционной системы или после принудительного запуска Registry Checker (Scanregw.exe) программа автоматически проверяет реестр на наличие ошибок и при отсутствии оных производит резервирование файлов User.dat, Classes.Dat, System.Dat, Win.ini и System.ini. Все эти файлы сжимаются программой в cab-архив, который под именем RBxxx.CAB (где xxx номер резервной копии) помещается в директорию Win\Sysbckup. При обнаружении сбоя вам предлагается исправить ошибки в реестре или восстановить его из имеющейся резервной копии. Интересно, что после восстановления испорченная версия реестра не удаляется, а сохраняется на диске под именем Rbbad.cab.

По умолчанию максимальное количество резервных копий равно пяти, однако это число можно изменить, отредактировав значение параметра MaxBackupCopies в конфигурационном файле SCANREG.INI, располагающемся в директории Windows. В нем же можно и отключить резервирование (параметр Backup), отменить оптимизацию реестра (Optimize), сменить директорию хранения архивов (BackupDirectory), указать дополнительные файлы для сжатия (Files).

P.S. Предложенное вашему вниманию описание не претендует на абсолютную правильность. Все рассмотренные подсистемы документированы довольно скудно и потому были исследованы вручную (даже в Интернет-базе знаний Microsoft их ясного описания мне найти не удалось).

(Окончание следует)

Кирилл ВОЛОШИН,
arctest.cjb.net

Версия для печатиВерсия для печати

Номер: 

31 за 2000 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Аватар пользователя Lana
добрый день, уважаемые авторы статьи

Обращаюсь к вам с проблемой, которую я сама решить не в состоянии. Дело заключается в той самой директории Windows Millennium _RESTORE, о кторой вы пишете в вашей статье.

Некотрое время назад компьютер мой начал вести себя странно - заменять икноки файлов, закрывать активные окна Explorera и проделывать разные штучки, явно указывающие на наличие вируса, который впрочем никакими самыми мощными лицензионными программами не определялся. Случайно запустив на проверку вируса в он-лайн-режиме, я обнаружила что вирус-червь сидит в той самой директории _RESTORY в двух файлах с расширением . CPY - впрочем в одном из них при проверке в расширении сейчас стоит .0 или .1. , однако ни удалить его, ни, конечно же, излечить всеми возможными средставми мне не удается.

В Нортон Антивирусе отключаются режимы автоматичсекой проверки, в директорию "исключить из проверки" само по себе прописываются сама директория или, скажем, eplorer.exe и исключить их из списка не получается. Что делать я не знаю - если вы могли бы мне помочь советом до того, как весь мой комп не полетел, я была бы вам очень благодарна... Удалить "кроваво" директорию у меня тоже не получается - она остается на месте. А хотелось бы - потому что помимо вот таких проблем, она просто пожирает дисковое пространство - не уверена, для чего вообще надо было создавать такого монстра, встроенного в Windows?

УЮта и тепла,

Лана

Аватар пользователя wowa
Нужно загрузиться в DOS с загрузочной дискеты или бутового CD и удалить папку _restore
Аватар пользователя Thugstar
2 Lana

Мой тебе совет, поставь себе win2k или xp, нафиг тебе сдалась эта me недоделаная!.. а ваще я сталкивался с такой фигнёй, удалить было не так просто. после удаления из под DOS, мастдай не находила exe, а при запуске самого ехе, писала мол нужен тот самый файлик с вирусом, после перезагрузки файл возникал снова, не помогала и чистка реестра, одним словом нифига... кильнул я винду форматированием веника, поставил заново и всё!