Наверное, нет такого пользователя, кто не слышал бы о СИСТЕМНОМ РЕЕСТРЕ. Священный страх перед возможными последствиями вмешательства в святая святых операционной системы у многих отбивает охоту даже упоминать о нем (особенно на ночь глядя). Нетрудно вспомнить, какие ощущения вы испытали, впервые увидев на экране монитора фатальные слова: Windows 2000 could not start because the following file is missing of corrupt: WINNTSYSTEM32 CONFIGSYSTEM. Ах, у вас установлена другая система? Ну так результат-то все равно один: крах системы.

По скромным наблюдениям автора, большинство компьютерострадальцев делятся на три категории: первые — самые неискушенные и боязливые, которые даже под страхом отлучения от компьютера никогда не наберут в командной строке «крамольное» слово regedit. Вторые с отчаянной бесшабашностью вбивают вышеупомянутое сочетание букв и ничтоже сумняшеся меняют в параметрах реестра все что душа пожелает, после чего с философской улыбкой переустанавливают систему, поминая ласковым словом разработчиков Windows. И третья, немногочисленная группа, — это те, кто свято уверен в том, что утилита RegEdit.exe и есть сам Великий и Ужасный Его Величество Системный Реестр.

Системный реестр — штука действительно очень важная и весьма чувствительная к фактору «шаловливых рук». Однако при наличии небольшого опыта и некоторых утилит поддерживать свою системную святыню в надлежащем порядке может каждый. Но об этом речь чуть ниже, а для начала небольшой экскурс в историю.

Коллежский регистратор

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

  • Системные файлы инициализации (system initialization files): CONTROL.INI, PROGMAN.INI, PROTOCOL.INI, SYSTEM.INI, WIN.INI и WINFILE.INI. Если пользователь устанавливал большое количество программ, каждая из которых вносила свою запись в файл WIN.INI, его размер рос как на дрожжах и как только превышал 64 Кбайт, начинались проблемы.
  • Файлы инициализации приложений (private initialization files): это обычные ini-файлы, которыми исправно снабжали систему вновь устанавливаемые программы.
  • Файл регистрационной базы данных - REG.DAT: он-то и был прародителем будущих реестров Windows 95/98/NT/2000/XP. Для редактирования этого файла, представленного в двоичном формате, уже требовался специальный инструмент, он же - редактор реестра REGEDIT.EXE. Конечно же патриарх REG.DAT имел гораздо более простое строение реестра, чем сейчас: тогда он содержал одну-единственную корневую структуру-контейнер под названием HKEY_ CLASSES_ROOT.

Хотя редактирование текстовых ini-файлов не представляет большой проблемы, большинству рядовых пользователей работать с ними оказалось не под силу. Но самое главное заключалось в том, что ini-файлы не поддерживают множественные аппаратные конфигурации. Другими словами, Windows 3.x не могла поддерживать столь знакомую нынче технологию Plug & Play.

Информационные технологии не любят стоять на месте, в результате чего разработчики внедрили в Windows NT 3.5 другую структуру реестра, напоминающую уже известную нам по Windows 2000/ХР.

Анатомия проблемы

Итак, что есть системный реестр? Это база данных нашей операционной системы, содержащая конфигурационные сведения. Физически вся информация реестра разделена на несколько файлов. Реестры Windows 9х и NT (под этой аббревиатурой будем подразумевать Windows 2000/XP) частично различаются.

Реестр Windows 95/98 содержится в двух файлах — SYSTEM.DAT и USER.DAT, находящихся в каталоге Windows. Позднее, в Windows Me был добавлен еще один файл — CLASSES.DAT, который по замыслу Microsoft должен был полностью заменить ini-файлы, оставленные в живых исключительно ради совместимости со старыми программами.

Мощные NT-версии Windows хранят свои сокровенные данные в виде атомарной структуры, т. е. реестр делится на некие составные части, называемые (не поверите!) «ульями»2. Кроме того, файлов реестра стало больше. Например, данные этих самых ульев хранятся в файлах, которые можно отыскать в каталогах Х:WINDOWSsystem32 config (userdiff) и Х:Documents and SettingsUsername (NTUSER.DAT и ntuser.dat.LOG). Не стоит также забывать о файлах, не имеющих расширения, но выполняющих весьма важные задачи; однако описание последних выходит за рамки этой статьи.

Резервная копия реестра

Прежде чем приступить к глобальным издевательствам над Windows 95/98/Me и реестром, есть смысл сохранить в надежном месте оригинальные файлы SYSTEM.DAT и USER.DAT. Они всегда имеют атрибуты «Только для чтения» и «Скрытый». Если после всевозможных экспериментов реестр впадет в кому, вы сможете переместить исходные файлы в каталог Windows, установив соответствующие атрибуты, после чего реестр вернется к исходному состоянию. Для восстановления этих файлов вам придется перезагрузиться в DOS3 и уже оттуда заменить испорченные файлы оригинальными.

Сложнее дело обстоит в случае восстановления реестра Windows 2000/XP, особенно при наличии файловой системы NTFS. Для создания резервной копии придется щелкнуть правой кнопкой по значку нужного диска в окне утилиты «Мой компьютер», выбрать пункт «Свойства» и на вкладке «Сервис» воспользоваться командой «Выполнить архивацию». Далее вас встретит Мастер архивации и восстановления, который и поможет сделать резервные копии нужных файлов. Если не дай бог «случится страшное», наши «утраченные иллюзии» можно будет восстановить с помощью того же Мастера.

Не зная броду...

Внося изменения в реестр, пользователь преследует, как правило, одну цель: ускорить работу системы и создать определенные удобства для себя, любимого. Теми же проблемами занимаются и многочисленные программы-«твикеры», например, Winboost (www.winboost.com), предназначенная для внесения изменений в реестр исключительно Windows 95/98/Me, или Ashampoo Power Up XP (www.ashampoo.com). И если хитрый пользователь приказывает «твикеру», скажем, убрать заставку Outlook Express 6.0 в Windows XP, то на деле это означает только то, что умная программа в ключе реестра HKEY_CURRENT_USERIdentities {B735C978-1C08-4003-865D-F199C6F76DC4}SoftwareMicrosoft Outlook Express5.0 изменит значение параметра NoSplash с нуля на единицу.

Честно говоря, сам автор не испытывает горячего желания копаться в редакторе реестра, отыскивая нужный параметр, поэтому регулярно прибегает к помощи утилит-«твикеров». Согласитесь, держать в голове огромное количество параметров, с помощью которых можно внести определенные изменения в систему, просто нереально. Если же прогулка по дебрям ключей реестра вас возбуждает — что ж, тогда в добрый путь. Только не забывайте, что один-единственный неверно отредактированный параметр может отправить систему к праотцам. И, как водится, в самый неподходящий момент.

Китайская грамота

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

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

HKEY_CURRENT_USER. Здесь содержатся настройки оболочки пользователя (например, Рабочего стола, меню «Пуск»), вошедшего в Windows под своим именем. Если на компьютере работает один пользователь и используется обычный вход в Windows, то значения раздела берутся из подраздела HKEY_USERS. DEFAULT.

HKEY_LOCAL_MACHINE. Интересное название, правда? Этот раздел содержит общую для всех пользователей данного ПК информацию о драйверах, установленном ПО и его настройках.

HKEY_USERS. Здесь содержатся параметры оболочки Windows для всех пользователей. Именно отсюда информация копируется в раздел HKEY_CURRENT_USER. Все изменения в HKCU (аббревиатура HKEY_CURRENT_USER) автоматически переносятся в HKU.

HKEY_CURRENT_CONFIG. В этом разделе содержится информация о конфигурации устройств Plug & Play и сведения о конфигурации компьютера с переменным составом аппаратных средств.

HKEY_DYN_DATA. Тут хранятся динамические данные о состоянии различных устройств, установленных в компьютере пользователя. Именно сведения этой ветви отображаются в окне диспетчера устройств. Данные этого раздела изменяются самой операционной системой.

Нас интересуют прежде всего ветви HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE, поскольку именно там хранятся настройки, позволяющие привести Windows в нужный нам вид.

Холим и лелеем

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

Ушлые разработчики ПО не остались в стороне от столь лакомого куска, и миру были явлены всевозможные утилиты, чистильщики и иже с ними. Встроенный инструментарий для очистки реестра от ненужных ключей давно имеется в знаменитых Norton Utilities и Fix-It Utilities. Но качество работы последних, не говоря уже о цене, не всегда приводит в восторг, да и дистрибутив подобных монстров составляет десятки мегабайт. Утилита для удаления отживших свое ключей имеется в набирающем популярность «твикере» System Mechanic (www.iolo.com), причем дистрибутив этой программы не превышает 1,5 Мбайт. Реестр чистится очень бережно — автор не припомнит случая, чтобы удаление ненужных ключей привело хоть к малейшему сбою. Увы, программа не бесплатна и не снабжена поддержкой русского языка.

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

Microsoft RegClean

Этой бесплатной утилиты Microsoft на сайте компании вы не найдете (очевидно, по причине ее бесплатности). А вот в сетевых дебрях ссылку обнаружить удалось: ftp://ftp.cs.tu-berlin.de/pub/msdos/mirrors/ stuba/pc/utilmisc/regcln41.exe. Размер файла составляет всего 818 Кбайт. Позиционируется для работы только с Windows 95/98/NT, тем не менее при использовании с последними версиями систем Microsoft никакого вреда вроде бы не приносит. Программа не нуждается в инсталляции, при запуске открывается небольшое окно и автоматически начинается сканирование содержимого реестра.

Никакой дополнительной информации программа не сообщает, а по окончании процесса предлагает либо нажать кнопку Fix Errors для удаления ненужных ключей, либо отказаться от «уборки» реестра (кнопка Cancel). По результатам своей работы RegClean создает файл отката в том же каталоге, где находится сама. Грозное название файла отката типа Undo P4 20021209 230043.Reg расшифровывается просто: «Отмена очистки реестра на компьютере с именем Р4 от 09 декабря 2002 г. в 23 ч 00 мин».

Если после «уборки» реестра система начнет вести себя как-то «не так» (хотя у автора ни одной подобной неприятности не было), все удаленные записи реестра можно вернуть на прежнее место, дважды щелкнув на файле отката. Лучше не пытаться понять смысл записи в файле отката, поскольку вряд ли можно внятно объяснить такой, например, «перл»: [HKEY_LOCAL_ MACHINESOFTWAREClasses TypeLib{C3DD7272-50BB-11D1-B3AA-0060977B463D}1.0] @=»FPAxTagPage Class». Если же подобная запись является для вас руководством к действию, то вряд ли вам стоит читать эту статью.

Reg Organizer

Автор программы — Константин Поляков (www.chemtable.com/organizer2.htm). В дистрибутиве она занимает немногим более одного мегабайта. Имеется возможность загрузить файл русификации. Для бесплатной регистрации надо ввести несколько слов на русском языке (программа сама подскажет, какие именно). Основные возможности утилиты:

  • Очистка реестра. Reg Organizer без труда найдет ключи, относящиеся к нужному приложению, и при необходимости удалит их. Это полезно, например, в случае, когда какая-либо программа не имеет утилиты для деинсталляции. После удаления такого приложения вручную в реестре останутся ненужные записи, способные привести к некорректной работе других программ. Вместе с тем Reg Organizer производит более глубокий поиск и позволяет найти даже те ключи, которые не будут найдены другими программами подобного класса.
  • Просмотр и редактирование системного реестра. Программа позволяет производить различные операции с ключами и значениями системного реестра, экспортировать и импортировать их значения и т. д.
  • Предварительный просмотр файлов реестра (*.reg) перед импортированием их содержимого, в том числе непосредственно из Проводника. При просмотре импортируемого reg-файла его содержимое представляется в виде древовидной структуры, где в ясной форме показаны все ключи, импортируемые в реестр.

Но нас в первую очередь интересует процесс уборки хлама, находящегося в реестре. Для начала обратим внимание на одну очень важную настройку программы: меню «Команды/Установки», вкладка «Поиск ссылок на несуществующие файлы». Я бы советовал не выбирать опцию «Удалять параметры и ключ», поскольку в этом случае вы можете столкнуться с весьма неприятными проблемами.

При запуске программа по умолчанию открывается в режиме чистки реестра.

Для инициирования процесса сканирования надо нажать кнопку «Чистка реестра». По окончании программа выведет на экран окно, где по умолчанию уже будет составлен «расстрельный список» ненужных (на взгляд Reg Organizer) ключей. Рядом с каждым параметром проставлена информация о том, на что именно ссылается данный ключ, приговоренный к казни.

Но не спешите нажимать кнопку «Удалить отмеченные», для начала давайте попытаемся исправить часть ключей с помощью кнопки «Ремонтировать». Непродолжительный процесс правки в реестре, начатый нажатием копки «Искать», дал свои результаты: ссылки-сироты нашли своих «родителей», по каковой причине радостно улыбаются желтыми смайликами.

Теперь снова настал черед кнопки «Ремонтировать», но уже в окне поиска соответствий. И только потом ссылки реестра, отмеченные нужным образом, можно отправить в небытие. С тех ссылок, что были отремонтированы, выделение автоматически снимается. Под занавес Reg Organizer клятвенно заверит вас, что он таки сделал соответствующий файл отката, который в случае чего «вернет взад» то, что было удалено.

Программа в целом оставляет благоприятное впечатление не только наличием бесплатной регистрации и русского интерфейса, но и очень корректной работой в целом.

NBG Clean Registry

И снова творение русского программиста — Андрея Климова (http://nbggroup.by.ru/nbgcleanr.htm). Разработчик позиционирует свою программу как утилиту для поиска и удаления неработающих ссылок в реестре и ярлыках Windows 95/98/NT/2000/Me/ХР, причем при работе в среде Windows NT/2000/ХР для полной проверки реестра необходимо иметь привилегии администратора.

Существует два варианта поставки программы: в обычной комплектации (размер дистрибутива 1,7 Мбайт) и с утилитой NBG Registry Monitor (3,8 Мбайт), поселяющейся при запуске в системном лотке и наблюдающей оттуда за всеми запущенными системными процессами.

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

Главное окно программы выглядит довольно экстравагантно, предоставляет массу полезных советов, а также отлично разработанную систему всплывающих подсказок: достаточно подвести курсор к любому полю или участку окна, как тут же появится информация о том, что это такое и с чем его едят. Ко всему прочему, при запуске программы в системном лотке появляется еще один значок — мониторинг использования процессора.

Все кнопки управления утилитой сгруппированы в левом нижнем углу. Запуск сканирования реестра начинается при нажатии кнопки «Поиск» (с пиктограммой в виде глаза). Если вы категорически не желаете, чтобы утилита просматривала определенные разделы реестра, можно установить соответствующий фильтр и более не беспокоиться за сохранность ключей конкретного реестрового «улья» (кнопка «Опции»).

По окончании сканирования пользователю будет предложено исправить некоторые ключи реестра (кнопка «Лечить»). Совсем безнадежные параметры можно удалить с помощью «веселой» кнопки с изображением черепа. Конечно же в программе имеется возможность создания файлов отката на случай непредвиденных сбоев (кнопка «Откат»).

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

Автору этой заслуживающей внимания программы остается пожелать несколько упорядочить ссылки на ее дистрибутив на сайте, поскольку часть из них ведет в никуда, а также поработать над деинсталлятором программы — после удаления NBG Clean Registry «забыла» на диске около 200 Кбайт своих файлов.

RegCleaner

Оказывается, альтруизм присущ не только русским разработчикам. Горячий финский парень по имени Jouni Vuorio (www.vtoy.fi/jv16/shtml/software.shtml) несколько лет подряд абсолютно бесплатно предлагает всем желающим свои утилиты для очистки реестра.

Одна из его программ называется просто и со вкусом: RegCleaner. Размер дистрибутива — всего 540 Кбайт, имеется поддержка русского языка, причем пользователь может сам редактировать языковой файл под свои нужды (меню «Опции/Язык программы/Редактировать модуль языка»). Утилита предназначена исключительно для очистки реестра, зато дополнительных нюансов и возможностей вполне хватает для более-менее полноценной работы по уборке.

Перед началом работы не поленитесь заглянуть в меню «Опции/Очистка реестра». Давайте не будем полагаться на точность автоматического метода и выберем ручной. Также нелишне убедиться в том, что программа готова создать одну резервную копию на случай каких-либо неприятностей.

Теперь перейдем в меню «Задачи/Очистка реестра» и в подменю выберем последнюю команду — «Задействовать все варианты». Это позволит исключить запуск безлико-автоматического режима очистки (автоматика не предоставит пользователю никакой наглядной информации: все нерабочие ссылки будут удалены в фоновом режиме, что не всегда хорошо). При запуске этой команды и начнется наглядный процесс генеральной уборки реестрового хозяйства.

По окончании процесса остается лишь выделить найденные неверные ссылки «коллежского регистратора» и удалить их. Более любопытные пользователи могут щелкнуть правой кнопкой по интересующей их ссылке, чтобы получить полную информацию о том, на какой файл ссылался удаляемый параметр реестра. Созданный файл отката вы без труда отыщете в каталоге Х:Program FilesRegCleanerBackups.

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

В свое время Jouni Vuorio расширил возможности RegCleaner и выпустил программу, которую назвал...

JV16 PowerTools

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

В первом окне программы нажимаем кнопку «Работа с реестром» и оказываемся в окне, очень напоминающем по интерфейсу «меньшого брата» — RegCleaner.

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

Процесс сканирования реестра начинается командой «Очистка реестра» в меню «Инструменты». Каждый найденный ключ, приговоренный к убиению, отмечен либо зеленым, либо красным цветом, в зависимости от степени потенциальной опасности (по разумению программы). Программа честно предупредит о последствиях удаления «красных» ключей, а вот зеленые настоятельно посоветует убрать. Резервная копия создается по умолчанию, но вы всегда можете запретить этот процесс.

В окне найденных неверных ссылок дано краткое описание криминала, числящегося за каждым ключом: при желании вы тут же можете просмотреть каждый ключ в окне Редактора реестра. В общем, подход к проблеме очистки реестра заставляет вспомнить хваленую западную педантичность.

Автору трудно рекомендовать какую-либо конкретную программу (хотя, разумеется, ваш покорный слуга пользуется одной из перечисленных утилит), поскольку выбор во многом определяется личными пристрастиями к виду интерфейса, наглядности процесса сканирования реестра и еще массой мелочей. В любом случае не забывайте, что все перечисленные приложения бесплатны и созданы (кроме Microsoft RegClean) настоящими энтузиастами. Давайте скажем им огромное человеческое спасибо!

К Евгению Яворских можно обратиться по адресу: avst@hot.ee


1 Дистрибутив этой системы размещался всего на восьми дискетах.

2 От английского hives.

3 Эту операцию нельзя проделывать непосредственно в Windows, иначе система уйдет в мир иной.