Как настроить смартфоны и ПК. Информационный портал

Работа в реестре. Системный реестр Windows

Сегодня мы попробуем залезть в реестр Windows с черного хода, без использования штатных WinAPI-функций, для этого предназначенных. Что нам это даст в итоге? Возможность писать и читать из реестра напрямую, в обход ограничений, установленных разработчиками антивирусных решений!

Забегая вперед, отмечу: тема эта интересна, но тут целый набор серьезных проблем. Хотя кто сказал, что нам это не по плечу? 🙂

Что такое реестр, или немного лирики

С точки зрения операционной системы Windows, реестр - это уникальная кладовка. В этой своеобразно выстроенной иерархической базе данных хранятся настройки, данные, регистрационная информация и прочая хрень почти обо всем в системе, начиная с программ и заканчивая настройками конкретного пользователя. В реестре хранится практически все. Несмотря на то что некоторые программы предпочитают хранить свои настройки в ini-конфигах (особенно программы, написанные для Win 3.11. – Прим. ред.), сама Windows всю нужную информацию о самой себе считывает из реестра. Справедливости ради отметим, что в *nix-like операционных системах до сих пор господствует система хранения настроек во всевозможных конфигах.

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

К примеру, так называемые точки восстановления - это копии реестра. Они широко применяются пользователями при возникновении различных проблем как с операционной системой, так и с программным и аппаратным обеспечением.

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

Ну и что?

Реестр - одновременно и сильная и слабая сторона Windows. Сильная сторона реестра в том, что для разработчиков программного обеспечения отпадает необходимость манипулировать туевой хучей конфигов, как это, например, реализовано в никсах. Удобен реестр и для создателей COM-компонентов - система автоматом регистрирует такой компонент в реестре и облегчает задачу по его дальнейшему использованию.

Слабость реестра в том, что доступ к модификации чувствительных областей реестра позволяет управлять Windows любой программе, написанной каким-нибудь новоявленным малварщиком. Вспомни хотя бы самую знаменитую ветку реестра Windows, позволяющую запускать программы на старте ОС:).

Если в Windows 98 реестр могли починять все, кому это взбредет в голову, то начиная с Windows XP доступ к реестру имеют только пользователи с учетной записью администратора. В Vista+ доступ к реестру находится под защитой UAC. Оно и понятно.

Надо признать, что с выходом Win7 концепции безопасности при работе с реестром были пересмотрены в лучшую сторону. Например, под защитой находится ключевая ветвь реестра HKEY_LOCAL_MACHINE. В общем случае попытка что-то записать в нее будет перенаправлена в соответствующую ветку HKEY_CURRENT_USER для текущего пользователя.

Интерфейс

Для работы с реестром напрямую Windows предлагает программисту целый набор WinAPI, которые должны быть знакомы любому системному разработчику, - это Reg*-функции, такие как RegOpenKey, RegQueryValue и так далее. В ядре Win это NtOpenKey, NtQueryValueKey и целый ряд других. Описывать их особого смысла нет - всю документацию по надлежащему использованию этих функций можно найти в MSDN.

Здесь стоит отметить вот что. Антивирусы и проактивки для контроля за пользовательскими действиями устанавливали перехваты на упомянутые функции, как в ядре, так и в юзермоде.

С выходом Win7 x64 ситуация изменилась, и я уже об этом как-то писал. Разработчики Windows решили отказаться от возможности перехватывать потенциально опасные функции в ядре Win. Теперь переменная KeServiceDescriptorTable в x64 больше экспортируется, да и переписать нужный участок кода не выйдет - PatchGuard не даст. Есть, конечно, садомазохистские решения по обходу этих ограничений - но там гемора будет больше, чем профита. Тем более что Microsoft предлагает удобные колбеки ObRegisterCallbacks для контроля за реестром.

INFO

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

А теперь - о самом интересом

Но что же такое реестр на самом деле? Если заглянуть в папку WINDOWSsystem32config, то можно увидеть там несколько файлов: system, software, security, SAM и несколько других.

Это файлы реестра.

Однако несправедливо будет говорить о реестре просто как о некоем сочетании файлов, загруженных в память. Многое из того, что содержит реестр, носит динамический характер, то есть ряд значений высчитывается на этапе загрузки самой системы, в первую очередь это касается определенных параметров железа. Например, таков подраздел реестра HKEY_DYN_DATA, данные которого при загрузке операционной системы размещаются в оперативной памяти и находятся там вплоть до завершения работы операционной системы. То же, кстати, можно сказать и о ключевом подразделе HKEY_LOCAL_MACHINE, который не имеет своего соответствующего файла на диске, но фактически формируется из других файлов реестра, таких как software, system и прочие.

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

Структура реестра

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

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

И что со всем этим теперь делать?

Сразу огорчу: запросто пошаманить напрямую с реестром в юзермоде не получится, система не даст этого сделать, как это обычно бывает с файлами, занятыми другими процессами. Если попытаться извернуться, то можно только прочесть такой «занятый» файл, и то если угадать с флагами, с которыми он был открыт. К сожалению, записать в интересующий нас «файл реестра» информацию не выйдет. Кстати, фича с записью нужной информации в реестр может прокатить, если писать в реестровские *.BAK-файлы, они точно доступны под запись.

Итак, следи за рукой:).

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

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

Здесь же я предложу два способа, которые помогут тебе распилить реестр на мелкие кусочки.

Первый способ заключается в том, что для конфигурационного менеджера (Configuration Manager, часть операционной системы, если ты не в курсе) реестр есть не более чем набор строго определенных структур в операционной памяти, с которыми, как оказывается, очень даже легко работать. Какие это структуры, спросишь ты? HBASE_BLOCK, HHIVE, HBIN, HCELL, HMAP_ENTRY, HMAP_DIRECTORY, куча CM_* структур, используемых конфиг-менеджером для управления реестром. С точки зрения операционной системы, реестр - это просто набор регламентированных структур в оперативной памяти. К примеру, сигнатура «regf», определяющая «файл реестра», есть заранее определенная константа:

Define HBASE_BLOCK_SIGNATURE 0x66676572 typedef struct _HBASE_BLOCK { ULONG Signature; //0x66676572 ULONG Sequence1; ULONG Sequence2; LARGE_INTEGER TimeStamp; .... } А вот и сигнатура «regf»…

То есть смысл всего этого моего монолога в том, что существует шикарная возможность манипуляции с реестром на уровне операционной системы, но при этом не используя ее штатные средства. Как это возможно? Мы просто сэмулируем действия самой операционной системы, точно так, как она сама работает с реестром! Важно, как я уже говорил, понять, что для самой ОС реестр не более чем набор соответствующих структур в памяти.

Если у нас будет доступ к файлам реестра на уровне ядра, то чем мы хуже самой ОС, чтобы установить свой порядок?

И тут на сцене появляется наиболее интересный вопрос - как найти эти самые структуры в памяти? Верно, штатных средств системы для решения этого вопроса нет, поэтому придется выкручиваться по-хитрому.

Зная, как выглядят структуры, нужно вспомнить, что каждый файл, улей реестра, имеет свою константную сигнатуру. Например, «regf» - это 0x66676572. Для улья сигнатура будет равна 0xBEE0BEE0. Имея доступ к памяти из ядра, мы можем довольно легко найти эти сигнатуры в памяти, просто просканив ее. Еще можно просканить память в поисках сигнатуры «CM10» - именно она присваивается конфиг-менеджером блоку подкачиваемой памяти, который выделяется под структуру CMHIVE. Полагаю, найдя в памяти интересующий нас элемент, ты придумаешь, что делать с ним дальше:).

Как, к примеру, изменить значение ячейки реестра? Значение хранится в поле CM_KEY_VALUE->Data, поэтому, если у тебя возникнет задача изменить какое-либо поле в конкретном ключе реестра, ищи значение именно там:

Typedef struct _CM_KEY_VALUE { WORD Signature; // #define CM_KEY_VALUE_SIGNATURE 0x6B76 WORD NameLength; ULONG DataLength; ULONG Data; //

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

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

ОПИСАНИЕ И НАЗНАЧЕНИЕ

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

Значение, которое имеет реестр ОС Windows, переоценить сложно. От того, насколько корректна его информация, зависит то, насколько эффективно будут работать все узлы ПК, как программные, так и аппаратные. Если пользователь начинает замечать в работе своего компьютера какие-то неполадки, то это явный признак того, что в реестре произошел сбой и какие-то из его настроек сбились. Если сбой в системном реестре произошел серьезный, то загрузить Windows пользователю не удастся и операционную систему придется переустанавливать.

Хранится системный реестр по адресу X:\Windows\System32\сonfig, где X- буква системного диска.

КОРНЕВЫЕ РАЗДЕЛЫ СИСТЕМНОГО РЕЕСТРА

Реестр ОС Windows состоит из нескольких основных разделов:

  • - HKEY_CURRENT_CONFIG (HKCC) - в разделе находится вся информация об аппаратном профиле, который используется на локальной машине во время запуска системы;
  • - HKEY_CURRENT_USER (HKCU) - в разделе хранится информация о конкретном пользователе, который вошел в систему и работает в ней в настоящий момент времени. В этой ветви сохраняются его папки, настройки экрана, установленные параметры для панели управления;
  • - HKEY_CLASSES_ROOT (HKCR) - в разделе содержатся данные о расширениях типов файлов и приложениях, которые при их запуске будут открываться;
  • - HKEY_USERS (HKU) - в этой ветви хранится информация обо всех загруженных активных профилях пользователей конкретного ПК;
  • - HKEY_LOCAL_MACHINE (HKLM) - ветвь для хранения сведений о загрузке ОС Windows, информации о драйверах устройств и аппаратном обеспечении компьютера;
  • - HKEY_USERS (HKU) - ветвь хранит индивидуальные настройки профиля каждого пользователя, который зарегистрирован в системе. Здесь же хранится информация о профиле «по умолчанию» для создаваемых новых пользователей.

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

ВЛИЯНИЕ РЕЕСТРА НА РАБОТУ WINDOWS

Как уже было отмечено ранее, скорость работы системы и ее стабильность напрямую зависит от состояния реестра. Чаще всего система начинает «тормозить», когда реестр увеличивает свой размер. И чем он больше, тем дольше загружается компьютер, так как при запуске ОС системный реестр всегда проверяется на наличие ошибок, после чего делается его резервная копия. Причем, чем больше стоит на компьютере программного обеспечения, тем объемнее становится реестр.

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

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

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

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

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

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

СПОСОБЫ РЕДАКТИРОВАНИЯ РЕЕСТРА

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

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

И все же если вы решились внести изменения в реестр самостоятельно, то самым оптимальным решением будет воспользоваться встроенной в Windows утилитой Registry Editor. Для того, что бы попасть редактор реестра, существует специальная команда «regedit», которую необходимо ввести в окне Выполнить (вызывается нажатием клавиш Windows+ R).

Запустив утилиту, пользователь увидит окно, разделенное на две части, в одной из которых показываются разделы, подразделы и ветви системного реестра, а в другой - параметры элемента, который выбрал в реестре пользователь.

Так же в редакторе реестра, во вкладке Правка, существует опция поиска (вызываемая нажатием клавиш Ctrl+ F), которая ищет заданные слова в именах разделов, именах параметров и их значениях. Это очень удобная функция, позволяющая, например, очистить реестр от следов ненужной программы по ее названию.

Корректируя реестр вручную, нужно быть очень осторожным. Одно неверное действие и работоспособность системы будет нарушена окончательно, а Windows придется переустанавливать.

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

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

МОНИТОРИНГ РЕЕСТРА

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

Утилиты мониторинга довольно просты в применении. Разобраться в них сможет даже человек, который не имеет специального образования. И в этом их большой плюс, так как знать хотя бы приблизительно, что происходит в реестре ОС их компьютера, желательно все пользователям, как опытным, так и начинающим. Например, можно воспользоваться одной из наиболее популярных утилит мониторинга реестра - Registry Monitor (RegMon).

УХОД ЗА РЕЕСТРОМ

Устанавливая, а затем, удаляя различные программы, пользователь ОС Windows не всегда знает, что, как правило, полностью информация о них из реестра не удаляется. Всегда остаются какие-нибудь «хвосты», которые в дальнейшем тормозят работу системы. Чтобы такого не происходило необходимо проводить не только мониторинг реестра, но и обеспечивать уход за ним. Для этого не нужно самому выискивать в реестре оставшиеся записи, сделать это можно при помощи специальных программ, о существовании которых уже упоминалось выше. Хорошо с этой работой справляются программы jv16 PoverTools, CCleaner, Reg Organizer, RegCleaner и другие. С их помощью пользователь сможет не только почистить реестр от «мусора», но и дефрагментировать жесткий диск, отредактировать автозагрузку, очистить историю браузеров, удалить устаревшие файлы по восстановлению системы и пр.

ЗАКЛЮЧЕНИЕ

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

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

В файлах SYSTEM.DAT и USER.DAT в каталоге Windows 95/98 или в папке C:\W\System32\Config\ в Windows NT хранится так называемый системный реестр, содержащий большое количество информации. Кроме записей, необходимых Windows, большинство программ при установке записывают туда и свою собственную информацию. Чтобы внести изменения в реестр, необходимо открыть его с помощью программы, предназначенной для этого. Примером может служить программа REGEDIT, поставляемая в стандартном комплекте Windows . Для ее запуска откройте диалоговое окно Пуск/Выполнить , введите Regedit и нажмите OK.

Вы увидите окно, разделенное на две части. В левой находится навигатор, похожий на навигатор Проводника, а справа собственно информация. Реестр состоит из шести разделов: HKEY_CLASSES_ROOT, HKEY_CURRENT_USER , HKEY_LOCAL_MACHINE , HKEY_USERS , HKEY_CURRENT_CONFIG и HKEY_DYN_DATA . В каждом разделе содержатся папки. Если в папке или разделе есть подпапки, то слева от этой папки находится значок "плюс ". При нажатии на него эта папка "разворачивается", а значок превращается в "минус ", нажав на который ее можно снова "свернуть ". Если же нажать на значок папки или ее название, то в правом окне появится список тех параметров, которые содержатся в этой папке (но не в подпапках!). Каждый параметр состоит из его имени и значения. Для каждого параметра существует свой путь, по которому его можно найти. Путь состоит из последовательности папок, в которых находится этот параметр, начиная с родительской папки (это один из шести вышеперечисленных основных разделов). Примером такого пути может быть HKEY_CURRENT_CONFIG\ Display\ Settings , а названием параметра Resolution. В объединении эти два значения - параметр и путь к нему (его часто называют адресом) указывают на уникальный параметр. Например, к двум различным параметрам может быть один и тот же путь, два параметра могут иметь одинаковые названия, но лежать в различных папках и подпапках, но не может существовать двух параметров с одинаковым адресом и именем. По реестру можно осуществлять поиск (используя меню, или сочетанием клавиш CTRL + F ).

Выделив нужный раздел (нажав на значок раздела или его имя), в нем можно создать параметр, или подраздел. Для этого необходимо воспользоваться меню Правка/Создать . В системном реестре Windows существует 3 вида параметров: строковой , двоичный , и DWORD . В строковом хранится одна строка (string ), в двоичном - двоичное значение , в DWORD - десятичное или шестнадцатеричное значение. При создании параметра необходимо указать его имя. Затем, дважды нажав на нем в правом окне, можно ввести значение параметра (или изменить существующее).

Если в совете сказано установить значение параметра, это значит, что необходимо изменить существующее значение параметра на нужное, или, если параметр с таким именем отсутствует, создать его, а затем изменить содержимое.

В конце работы для большинства изменений необходимо закрыть REGEDIT и перезагрузить компьютер.Ну, во-первых разберемся, что это такое: реестр Windows . Когда мы устанавливаем или удаляем программы, изменяем параметры Windows ставим новое оборудование, все это фиксируется и записывается в реестр. Можно сказать так, реестр - это сердце Windows. Чтобы посмотреть или отредактировать реестр надо запустить программу Regedit (Пуск - Выполнить - Regedit). Физически, реестор хранится в каталоге Windows (95/98) под именами User.dat и System.dat . Сразу говорю, если не знаете то, что хотите изменить на 100% не изменяйте, а иначе грош цена. Ну, а для тех кто все таки изменил даю подсказку. При удачной загрузке, Windows делает резервные копии реестра под именами User.da0 и System.da0 . Этим и воспользуемся. Конечно можно создать свои резервные копии на всякий "пожарный". Если Windows не грузится, то при загрузке зажимаем Ctrl. Как появиться меню выбираем "Command prompt only ", переходим в папку Windows ("CD C:\Windows" ) и наберите команду scanreg / restore (в Windowse NT - rdisk ). Теперь перезагрузитесь и Windows должен запуститься. Если такой программы нет, то придется набирать в командной строке из папки Windows:

attrib -h -r -s system.dat
attrib -h -r -s system.da0
copy system.da0 system.dat
attrib -h -r -s user.dat
attrib -h -r -s user.da0
copy user.da0 user.dat

Ну, а теперь перейдем непосредственно к реестру.

1.)Откройте regedit , найдите ключ

HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Uninstall.

Здесь Вы найдете полный список установленных программ. Если каких то программ уже нет, удалите ненужные папки с их названиями (неполный список отображается в "Панель управления - Установка и удаление программ").

2.)В ключе

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\Run

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

HKEY_USERS\.DEAFAULT\Software\Microsoft\Windows\CurrentVersion и
HKEY_USERS\(Имя пользователя)\Software\Microsoft\Windows\CurrentVersion

3.)Вот и все, разминка закончена, и мы переходим к Главному меню .

Чтобы избавиться от пункта Избранное (Windows 98) , зайдите в раздел

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies\Explorer

и создайте здесь Двоичный параметр NoFavoritesMenu со значением 01 00 00 00 . Все! Теперь пункт Избранное больше появляться не будет. Удалите созданный параметр или измените его значение на 00 00 00 00 , чтобы вернуть пункт на место. Избавляться от других пунктов можно аналогично:

Документы - параметр NoRecentDocsMenu
Настройки - NoSetFolders
Найти - NoFind
Завершение работы - NoClose
Завершение сеанса... - NoLogOff.

Также можно отменить работу правой кнопкой мыши в главном меню, для этого создайте тамже DWORD -параметр под именем NoChangeStartMenu с значением 1 . Готово! Ну и последние штрихи. Нравится сообщение о том, с какой кнопки следует начать работу? Нет? Тогда создаем DWORD- параметр с именем NoStartBanner и значением 1.

4.)Зайдите на

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Winlogon

и создайте Строковый параметр LegalNoticeCaption. В качестве значения введите "Обнаружен вирус "Чернобыль"", создайте еще один строковый параметр LegalNoticeText с значением "Нажмите "Ок" и все данные на жестком диске будут уничтожены". Перезапустите Windows и наслаждайтесь результатом. В первом параметре вписываем заголовок, а во втором - сам текст.

5.)Теперь можно изменить часики в нижнем правом углу. Зайдите на

HKEY_CURRENT_USER\Control Panel\International

и создайте строковый параметр sTimeFormat

Его значение "HH:mm ", где HH - часы, : - разделительный знак, а mm - минуты. Для вступления в силу изменений необходима перезагрузка. Весело посмотреть как друг будет мучится настраивать часы если поменять местами HH и mm! Ну, а если хотите нагадить очень силно, тогда надо сделать так: Hm:mH"mH;Hm и тд.

6.)Чтобы не было в значках ярлыков стрелочек, найдите ключ HKEY_CLASSES_ROOT\Piffile и удалите параметр IsShortcut , тоже самое следует проделать в папке Lnkfile . Перезагрузите компьютер и наслаждайтесь результатом.

7.)Путь к инсталляционным файлам Windows 95/98 лежит в

HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Setup.

Измените его и Windows будет искать установочные файлы при добавлении компонентов или изменении параметров системы.

8.)Чтобы убрать "ладошку" с зашареных ресурсов, достаточно удалить значении По умолчанию из ключа

HKEY_CLASSES_ROOT\Network\SharingHandler

9.)Еще Вы можете вообще убрать с рабочего стола все значки. Для этого создайте в ключе

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

DWORD-параметр с именем "NoDesktop ". Перезагрузитесь и увидете самый чистый в мире Рабочий стол.

10.)Для того, чтобы скрыть диски в проводнике, заходим в

HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer

и создаем здесь Двоичный параметр с именем "NoDrives" .

Значение будет зависить от того, какие диски хотите скрыть:

Диск A - значение 01 00 00 00
B - 02 00 00 00
C - 04 00 00 00
D - 08 00 00 00
E - 10 00 00 00
F - 20 00 00 00

Если хотите скрыть несколько дисков, то нужно просуммировать их значения. Но учтите, что эти числа шестнадцатеричные. Чтобы верно рассчитать, воспользуйтесь калькулятором (Программы - стандартные - Калькулятор) . Выберите в меню Калькулятора "Вид - Инженерный ", затем выберите "Hex" и просчитайте. Например, чтобы скрыть диски C и D надо плюсовать 04 00 00 00 и 08 00 00 00 . Вводим в значение параметра 0C 00 00 00 . Чтобы скрыть диски A и E надо просуммировать 01 00 00 00 и 10 00 00 00, получаем результат 11 00 00 00.

11.)Откройте Свойства: Экран , здесь и поскрываем некоторые вкладки. В редакторе реестра найдите раздел

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System

создайте здесь DWORD -параметр с именем NoDispBackgroundPage и значением 1 . Теперь вкладка Фон отображаться не будет. Остальные вкладки скрываются следующими параметрами:

NoDispAppearancePage - Оформление
NoDispScrSavPage - Заставка
NoDispSettingPage - Настройка.

12.)Теперь сделаем так, чтобы пункт Открыть с помощью... всегда появлялся в контекстном меню. Для этого найдем ключ HKEY_CLASSES_ROOT\*\ и создадим в нем раздел shell (если его нет). Здесь создадим еще раздел "openas ", а в нем еще "command ". Измените значение "По умолчанию " на "C:\WINDOWS\rundll32.exe shell32.dll,OpenAs_RunDLL %1 ". Готово, можете проверять.

13.)Для изменения скорости выпадания Главного меню зайдите в ключ

HKEY_CURRENT_USER\Control Panel\desktop

и создайте Строковый параметр Menu Show Delay. В значение введите время задержки (в миллисекундах) и перезагрузитесь.

14.)Сейчас попробуем пункт Открыть в Блокноте поместить в контекстное меню. Зайдем в раздел HKEY_CLASSES_ROOT\*\shell (Если нет - создайте). Создайте раздел "Open " и измените По умолчанию на "Открыть в Блокноте ". Теперь создайте раздел "command" а в нем измените По умолчанию на "notepad.exe %1 ". Готово.
15.)А сейчас поиграемся с Internet Explorer"ом. Хотите изменить обои браузера? Пожалуйста. Зайдите в ключ

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar

и создайте Строковый параметр "BackBitmap ". А в качестве параметра введите путь к рисунку в формате Bmp и перезапустите браузер. Но это еще не все.

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

создайте новый Строковый параметр Window Title . В значении введите то, что вы желаете увидеть в заголовке после названия страницы, перезапустите браузер и наслаждайтесь. Точно также будет выглядить и проводник.

16.)Если Вы хотите любоваться именем или просто словом после часов в Systray (нижняя панель) то зайдите на

HKEY_CURRENT_USER\Control Panel\International\

и создайте два строковых параметра: s1159 и s2359 . В их значение следует ввести нужное имя. Ограничение - 8 букв.

17.)Когда надо перезапустить реестр, а перезагружать машину не охота, то в некоторых случаях поможет следующее: нажмите Ctrl+Alt+Del , затем выберите Explorer и кнопку "Завершить задачу" . На предложение выключить машину отвечайте отказом, затем жмите "Снять задачу " в следующем окне, после чего увидите, как исчезла и появилась "Панель задач ".

Не все работает в Windows 95

Восстановление реестра

При работе с реестром надо соблюдать осторожность. Удаление каких-либо важных данных случайно или по незнанию может привести к краху операционной системы. Тогда спасти положение может только восстановление последней работоспособной копии.

Если Вы собрались поэкспериментировать с реестром, предварительно сохраните на диске файлы SYSTEM.DAT и USER.DAT. Они находятся в каталоге, куда была установлена операционная система и имеют атрибуты "только для чтения" и "скрытый". В случае если реестр будет серьезно испорчен, Вы сможете переписать эти файлы в каталог Windows, установить нужные атрибуты и реестр будет как новенький. Только не вздумайте восстанавливать эти файлы, когда загружен Windows, иначе система накроется окончательно и спасет ее только полная переустановка! Для восстановления этих файлов надо предварительно перезагрузиться в DOS и уже там заменять испорченные файлы хорошими.

Но это не единственный вариант восстановления данных. Дело в том, что операционная система, при каждом удачном запуске сохраняет копию реестра в CAB-файле, который записывается в скрытый каталог SYSBCKUP каталога Windows. По умолчанию, хранятся последние пять копий. Это число может варьироваться от 0 до 99 и устанавливается значением ключа MaxBackupCopies в файле scanreg.ini в каталоге Windows. Правда не стоит устанавливать слишком большое значение, т.к. файлы занимают немало места (один файл имеет размер больше мегабайта).

Чтобы восстановить реестр с одной из этих резервных копий надо перезагрузиться в DOS и выполнить команду

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

Но если Вы устанавливали какие-то программы или меняли настройки операционной системы в промежуток между последней резервной копией и сбоем в реестре, то все эти данные безвозвратно пропадут. Надо ли нам это? Однозначно нет! Чтобы в любое время создать резервную копию реестра воспользуйтесь командой

которая в случае нормально прошедшей проверки создаст резервную копию.

Еще один вариант резервирования и восстановления реестра состоит в экспортировании раздела или целой ветви, которую Вы планируете изменять. Это можно осуществить в Regedite для Windows в меню "Реестр". Выделите нужный раздел и щелкните по пункту "Экспорт файла реестра". После задания имени файла данные этого раздела будут в него экспортированы. Файл имеет расширение REG. Для его импортирования в реестр достаточно дважды щелкнуть на нем и данные будут перенесены. Правда этот способ восстановления информации имеет один существенный недостаток: все удаленные или измененные записи будут восстановлены, но вот добавленные записи удалены не будут. Поэтому данный способ больше подходит, если Вы проводите какие-то несущественные изменения, и чтобы откатить их не вводя старые данные заново, можно воспользоваться экспортом/импортом.

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

Лучшие статьи по теме