Первые шаги с Windows 7. Руководство для начинающих — страница 18 из 20

Полезные трюки реестра

1. Реестр Windows

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

Многие пользователи считают, что реестр — далеко не самая важная часть системы, поскольку она им не заметна. Однако это не так. Да, реестр как бы пассивен по отношению к пользователям: они не замечают его работы и поэтому не осознают его важности.

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

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

Вы можете спросить: а зачем обычному пользователю вообще нужно знать о реестре? Ведь не зря разработчики Windows «убрали» его с глаз пользователей. Действительно, в Windows можно работать, не обращая внимания на реестр, а при настройке системы довольствоваться панелью управления. Но в один не очень прекрасный момент Windows может дать сбой из-за повреждения реестра: записи в него некорректной информации или удаления необходимых данных (например, вирусом). Что делать? Можно переустановить Windows и все приложения, потратив на это целый день, а можно просто восстановить реестр, что займет максимум полчаса. Выходит, обычному пользователю нужно знать, как минимум, что такое реестр и как выполнять его резервное копирование и восстановление в случае сбоя. Но если мы знаем, что такое реестр, то можно не останавливаться на полпути, а освоить хотя бы минимальные навыки работы с ним. Мне, например, намного удобнее запустить regedit, найти раздел Run, отвечающий за автозапуск программ, и удалить из него все ненужное, чем использовать для этого какую-то специальную программу, например, Starter, которой может не оказаться под рукой, так же как и доступа в Интернет, откуда можно было бы ее скачать. А вот regedit, который мы рассмотрим в этом приложении, есть всегда.

2. Программа regedit (Registry Editor)

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

Примечание

Если за вашим компьютером работает кто-либо еще (коллеги, родственники), ни в коем случае не нужно создавать ярлык для редактора реестра на рабочем столе, в меню Пуск или на панели быстрого запуска!

Основные элементы пользовательского интерфейса редактора реестра изображены на рис. П4.1.

3. Просмотр реестра

На левой панели редактора реестра (панель разделов) отображается иерархия всех разделов реестра. На правой (панель параметров) — параметры выбранного раздела реестра. Раздел вместе со всеми подразделами называется ветвью реестра.

Ваша работа с редактором реестра будет более эффективной, если вы изучите горячие клавиши и комбинации клавиш, используемые для быстрого доступа к функциям редактора, представленные в табл. П4.1.

Рекомендую не забывать о возможности добавления часто используемых ключей в избранное. Можете прямо сейчас перейти к разделу HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run и добавить его в избранное с помощью команд меню Избранное | Добавить в избранное (рис. П4.2).

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

4. Поиск данных в реестре

Для поиска значения в реестре выберите команду меню Правка | Найти или нажмите +. В появившемся окне (рис. П4.3) нужно ввести искомое значение, а также указать, где его следует искать: в именах разделов, параметров или в значениях параметров.

Обычно поиск производится по всем этим критериям, но для ускорения можно уточнить область поиска: если вам нужно найти, например, раздел, то незачем производить поиск в именах параметров и в их значениях. Чтобы повторить поиск, нажмите кнопку .

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

Точно такая же возможность есть и в редакторе реестра. Для выполнения поиска следует перейти к ветви, по которой будет осуществляться быстрый поиск, а затем ввести начальные буквы названия раздела, к которому вы хотите перейти. Например, вы находитесь в ветви HKLM\SOFTWARE и хотите быстро перейти к разделу Microsoft. В этом случае вам нужно ввести начальные буквы названия раздела, то есть Mi. Если ввести только M, то редактор реестра переместит вас к первому разделу, который начинается на букву M, а это совсем необязательно будет Microsoft (например, у меня это Macromedia). Между вводом букв M и i должно пройти как можно меньше времени, иначе редактор реестра может посчитать, что вы уже ищете другой раздел, который начинается на букву I.

Функция поиска в редакторе реестра имеет следующие ограничения:

□ нельзя выполнить поиск значений типа REG_DWORD и двоичных значений;

□ редактор может искать только имена разделов, имена параметров и строковые данные.

Что делать, если все же нужно найти в реестре число? Можно экспортировать ветвь реестра, в которой предполагается выполнить поиск, в REG-файл, затем открыть его в Блокноте и произвести поиск числа. Как видите, все гениальное просто!

5. Редактирование реестра и создание новых объектов в реестре

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

5.1. Создание нового раздела

Как уже было сказано, в реестре имеется пять корневых разделов. Вы не можете создать еще один корневой раздел, однако можете создать раздел в любом из имеющихся корневых разделов (он будет представлять собой раздел первого уровня по отношению к корневому). Для создания раздела проще всего щелкнуть правой кнопкой мыши по разделу, в котором вы хотите создать подраздел, и из контекстного меню выбрать последовательно команду Создать, а затем — команду Раздел (рис. П4.4).

После этого нужно ввести имя раздела и нажать клавишу (рис. П4.5).

Если вы не любите работать с правой кнопкой мыши, можно создать раздел при помощи пунктов главного меню программы: Правка | Создать | Раздел.

5.2. Удаление разделов и параметров

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

Удалить раздел или параметр очень просто — выделите его и нажмите клавишу . Перед удалением настоятельно рекомендую экспортировать удаляемые параметры (разделы) в REG-файл, чтобы в случае чего можно было выполнить откат.

5.3. Создание нового параметра

Редактор реестра позволяет создавать параметры следующих типов (см. рис. П4.4):

□ REG_SZ — строковый параметр;

□ REG_BINARY — двоичный параметр;

□ REG_DWORD — параметр DWORD;

□ REG_MULTI_SZ — мультистроковый параметр;

□ REG_EXPAND_SZ — расширяемый строковый параметр.

Параметры остальных типов в редакторе реестра можно только просмотреть, но нельзя создать или отредактировать.

Для создания нового параметра перейдите в раздел, в котором нужно создать параметр, и выберите команду Правка | Создать, после чего укажите тип создаваемого параметра.

5.4. Редактирование параметров

Для изменения значения параметра нужно выбрать команду Правка | Изменить, но могу поспорить, что вам больше понравится дважды щелкать на нужном параметре, чем выбирать команду Изменить из меню Правка. В окне редактирования (рис. П4.6) вы сможете изменить только значение параметра.

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

А вот тип параметра вы изменить не можете. Единственный вариант — удалить параметр и создать новый с таким же именем, но другого типа. Правда, скорее всего вам никогда не понадобится изменять тип параметра.

Для редактирования двоичных данных гораздо удобнее использовать команду Правка | Изменить двоичные данные (рис. П4.7).

6. Практика

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

6.1. Делаем ярлыки привлекательными

Вам нравятся стрелки в нижнем левом углу значка ярлыка? Мне тоже нет. Отключить их вывод можно очень просто. Перейдите в раздел HKLM\SOFTWARE\Classes\lnkfile и установите значение 0 для параметра REG_SZ IsShortcut (или вовсе удалите этот параметр).

Для удаления стрелки с ярлыка DOS-программы перейдите в раздел HKLM\SOFTWARE\Classes\piffile и установите для параметра REG_SZ IsShortcut значение 0 (можно вообще удалить параметр).

При создании ярлыка к имени файла обычно добавляется строка «Ярлык для». Не каждому нравится эта строка, и многие ее удаляют. Проще вообще отключить функцию, добавляющую эту строку, чем каждый раз переименовывать ярлык. Итак, откройте раздел HKCU\Software\Microsoft\Windows\ CurrentVersionYExplorer и для параметра BINARY link установите значение hex:00,00,00,00.

6.2. Отключение поиска подходящей программы в Интернете

Когда вы открываете файл неизвестного типа, который еще не сопоставлен ни с одной программой на вашем компьютере, Windows 7 отображает окошко, в котором предлагает вам либо найти подходящую программу в Интернете, либо выбрать программу из списка установленных программ (рис. П4.8).

Вы обычно выбираете второй вариант, после чего появляется окошко, изображенное на рис. П4.9.

Вы можете отключить функцию поиска подходящей программы в Интернете, тогда вы сразу будете видеть второе окно, что в большинстве случаев более удобно. Для этого перейдите в раздел реестра HKLM\SOFTWARE\Microsoft\ Windows\ CurrentVersion\Policies\Explorer и создайте DWORD-параметр NoInternetOpenWith со значением 1. Чтобы вернуть все, как было, удалите этот параметр или присвойте ему значение 0.

6.3. Новый способ отключения автозапуска

Перейдите в раздел реестра HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\ Explorer\AutoplayHandlers\CancelAutoplay\Files. В нем находятся текстовые параметры, содержащие имя файлов. Если такие имена файлов имеются на компакт-диске, автозапуск работать не будет. Если вы добавите параметр со значением *.*, вы отключите автозапуск.

6.4. Windows 7 не распознает мой DVD-привод

Если вы установили Windows 7, а она не распознает ваш DVD-дисковод, и DVD-привод отмечен желтым треугольником в списке диспетчера устройств, это означает, что Windows не может контролировать цифровые подписи драйвера DVD-привода. Проблему можно решить несколькими способами. Можно при запуске системы нажать и выбрать запуск без проверки цифровых подписей драйверов. Но это не лучшее решение, ведь придется нажимать при каждой загрузке или перезагрузке системы.

Осталось два способа. Первый заключается в редактировании реестра. Перейдите в раздел реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\ Class\(4D36E965-E325-11CE-BFC1-08002BE10318). Удалите параметры UpperFilters и LowerFilters, после чего перезагрузите компьютер.

Третий способ заключается в следующем. Запустите приложение cmd с правами администратора и введите следующую команду:

bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS

6.5. Увеличение производительности NTFS

Можно долго спорить о том, какая файловая система лучше — FAT32 или NTFS. С моей точки зрения — однозначно NTFS. Она обеспечивает должный уровень безопасности и предоставляет возможности, которые не доступны в FAT32, кроме того, она поддерживает файлы больших размеров. В Windows максимальный размер файла для FAT32 — 4 Гбайт. А что делать, если вам нужно создать файл большего размера? Ведь рано или поздно вам придется создать образ DVD, а это уже 4,5 Гбайт!

Хотя у FAT32 также есть свои преимущества — она работает быстрее, чем NTFS. Но делу можно помочь. NTFS медленнее, чем FAT32, только потому что:

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

□ для совместимости со старыми приложениями в NTFS-разделе создается специальная таблица файлов, содержащая имена файлов в формате MS-DOS (если кто-нибудь помнит, это 8 символов для имени и 3 — для расширения файла). Не думаю, что вы до сих пор используете настолько древние приложения, поэтому можно смело отключить эту возможность, что положительно отразится на производительности.

Итак, для повышения производительности NTFS нужно перейти в раздел HKLM\ SYSTEM\CurrentControlSet\Control\FileSystem и установить значение 1 для следующих параметров:

□ NtfsDisableLastAccessUpdate;

□ NtfsDisable8dot3NameCreation.

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

6.6. Настройка автозапуска программ

Для автоматического запуска программ используются следующие разделы:

□ HKCU\Software\Microsoft\Windows\CurrentVersion\Run;

□ HKCU\Software\Microsoft\Windows\CurrentVersion\Runonce;

□ HKLM\Software\Microsoft\Windows\CurrentVersion\Run;

□ HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce;

□ HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx.

Как мы уже говорили, разделы в HKCU содержат настройки для текущего пользователя, а в HKLM — для всех пользователей системы.

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

Теперь о том, как формируются списки автозапуска. Каждый список — это набор параметров типа REG_SZ. Имя параметра произвольное, а его значение — команда, которую нужно выполнить (рис. П4.10).

Для добавления программы в список автозапуска нужно создать параметр типа REG_SZ, содержащий команду для запуска программы. Чтобы удалить программу из списка автозапуска, достаточно удалить соответствующий ей параметр из раздела (или разделов) Run*.

Для управления автозапуском также используются следующие параметры:

□ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\Explorer\\DisableCurrentUserRun — если параметр включен (его значение равно 1), то пользовательский список Run из HKCU не будет выполнен;

□ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\Explorer\\DisableCurrentUserRunOnce — отключает пользовательский список RunOnce из HKCU;

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\Explorer\\DisableLocalMachineRun — отключает «общий» список Run автозапуска из HKLM;

□ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ policies\Explorer\\DisableLocalMachineRunOnce — отключает «общий» список RunOnce автозапуска из HKLM.

6.7. Удаление программ из списка установленных (Uninstall своими руками)

Для удаления сведений об установке программы из реестра перейдите в раздел реестра HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall. В нем будут подразделы с именами, содержащими цифры и буквы, например, {01B28B7B-EEC6-12D5-5B5A-5A7EBDF5EFBA}, рис. П4.11.

Каждый такой раздел соответствует какой-то программе. Какой именно? Имя программы содержится в параметре DisplayName. Например, у меня раздел {01B28B7B-EEC6-12D5-5B5A-5A7EBDF5EFBA} соответствует программе Catalyst Control Center Localization Dutch.

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

6.8. Резервное копирование реестра с помощью программы reg

Для резервного копирования реестра можно создать командный файл reg-backup.bat (листинг П4.1).

Листинг П4.1. Командный файл reg-backup.bat

CD\

MD C: \REG CD C: \REG

REG EXPORT HKLM C: \REG\HKLM_BACK.REG

REG EXPORT HKCU C: \REG\HKCU_BACK.REG

REG EXPORT HKCR C: \REG\HKCR_BACK.REG

REG EXPORT HKCC C: \REG\HKCC_EACK.REG

REG EXPORT HKU C: \REG\HKU_BACK.REG

Данный командный файл сначала создает каталог C: \REG, а затем экспортирует в него ветви реестра. Для восстановления реестра можно использовать командный файл reg-restore.bat (листинг П4.2).

Листинг П4.2. Командный файл reg-restore.bat

CD\

CD C: \REG

REG IMPORT HKLM_BACK.REG

REG IMPORT HKCU_BACK.REG

REG IMPORT HKCR_BACK.REG

REG IMPORT HKCC_BA.CK.REG

REG IMPORT HKU_BACK.REG

Данный файл сначала переходит в каталог C: \REG, а после — импортирует ранее экспортированные REG-файлы.

6.9. Шифрование файлов в Windows Vista и Windows 7

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

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Создайте новый параметр EncryptionContextMenu типа REG_DWORD и установите для него значение 1 (рис. П4.12).

После этого при щелчке на файле правой кнопкой мыши в контекстном меню появится команда Зашифровать (Encrypt).

Самое интересное, что шифрование по умолчанию не доступно в версии Home Basic, но приведенный ранее трюк позволяет активировать его даже в этом выпуске Windows 7.

7. Теневые копии в Windows 7

Служба восстановления тесно связана со службой теневого копирования. В ОС Windows Vista и Windows 7 окно свойств любого файла или каталога содержит новую вкладку — Предыдущие версии (Previous Versions). На этой вкладке вы можете просмотреть список копий файла или каталога, созданных ранее с помощью службы теневого копирования. Вы также можете открыть любую копию файла или каталога (кнопка Open), создать новую теневую копию (кнопку Copy), а также восстановить содержимое файла на основании одной из теневых копий (кнопка Restore).

7.1. Управление теневыми копиями из командной строки

Для управления теневыми копиями из командной строки используется утилита vssadmin.exe, находящаяся в каталоге %systemroot%\system32\. Примеры использования этой утилиты приведены в табл. П4.2.

7.2. Отключение вкладки Предыдущие версии и задание других параметров теневых копий

Параметры теневого копирования хранятся в разделе реестра HKCU\Software\Policies\Microsoft\PreviousVersions. Все параметры имеют тип REG_DWORD. Вот список параметров:

□ DisableBackupRestore — установите значение 1, если хотите отключить теневое копирование;

□ DisableLocalPage — отключает вкладку Предыдущие версии в окне свойств локальных файлов/каталогов (при значении 1);

□ DisableLocalRestore — при значении 1 запрещает восстановление копий, расположенных на локальном диске компьютера;

□ DisableRemotePage — отключает вкладку Предыдущие версии в окне свойств удаленных файлов/каталогов, расположенных в общих папках (при значении 1);

□ DisableRemoteRestore — при значении 1 запрещает восстановление копий, расположенных в общих папках;

□ HideBackupEntries — запрещает (при значении 1) восстановление файла из копий, которые хранятся на архивных носителях.

Дополнительные трюки реестра вы найдете в моей книге «Настройка Windows 7 с помощью реестра».

Приложение 5