Как нам обустроить Windows XP с помощью реестра 3

Как нам обустроить Windows XP, или Настройка Windows XP с помощью реестра, и не только

Часть 3
С прошлого раза у нас остались нетронутыми такие интересные темы из раздела "Манипулирование реестром Windows XP"как:
— Структура .reg-файла. REGEDIT — опции командной строки.
— Удаление разделов и ключей реестра при помощи .reg-файла.
— Восстановление поврежденного реестра, когда Windows XP не загружается.

Структура .reg-файла. REGEDIT — опции командной строки
Знание реестра Windows XP будет неполным без умения написать reg-файл.
REG-файл — это файл, имеющий определенную структуру и содержащий информацию, которая импортируется в реестр.
Для чего нужно это знать и уметь? Например, если была заблокирована работа с редактором реестра, а это можно сделать с помощью изменения ключей реестра, то наиболее легким способом исправить установки в реестре будет создание и импортирование reg-файла.
Первая строка reg-файла для Windows XP обязательно должна быть такой:
Windows Registry Editor Version 5.00

однако REGEDIT от Windows XP понимает и такое:
REGEDIT4

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

Вот пример reg-файла:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\Setup]
"SetupType"=dword:0
"SystemSetupInProgress"=dword:0
"CmdLine"=""
"SystemPrefix"=hex:cc,1b,00,00,00,40,3d,68
"SystemPartition"="\\Device\\HarddiskVo-lume1"
"OsLoaderPath"="\\"
"uniqueid"="C:\\WINDOWS\\LPM"

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\ AllowStart]
{...описание параметров...}
Последнюю строку в файле сделайте пустой.

Как видим, строковые параметры заключаются в кавычки. Перед числами ставятся указатели на их тип. Например, dword — указывает на тип этого параметра, буквы должны быть обязательно маленькие. После двоеточия следует значение из восьми цифр в шестнадцатеричном формате. Однако большинство параметров dword имеют значение либо 0, либо 1. Пробелы в строке не допускаются.

В реестре существуют параметры "По умолчанию" (Default). Чтобы присвоить им какое-то значение через REG-файл, надо добавить такую строку:
@="какое-либо значение"
Regedit имеет некоторое множество опций командной строки, чтобы автоматизировать его использование в пакетных файлах. Ниже указаны некоторые из вариантов.
regedit.exe [options] [filename]
filename — импортируемый в реестр.reg файл
/s — подавлять запрос на подтверждение при импорте файла
/e — экспорт раздела реестра в файл.

Пример:
regedit /e file.reg HKEY_CURRENT_USER\ Software\ Microsoft
Довольно убого, не так ли? Но не все так плохо. Наберите в командной строке:
REG /?
и изучайте "Программу редактирования системного реестра из командной строки, версия 3.0". Я думаю, она вам понравится.

Удаление разделов и ключей реестра при помощи .reg-файла
Вы можете удалять разделы реестра и значения в разделах, не используя REGEDIT. Для удаления раздела используйте тот же самый формат reg-файла, только перед наименованием раздела поставьте знак "минус" ("-"). Например:
REGEDIT5
[-HKEY_LOCAL_MACHINE\SYSTEM\Test]
Этот же формат используйте для удаления отдельных параметров в выбранных разделах, поставив знак "минус" ("-") после знака "равно" ("="):
REGEDIT5
[HKEY_LOCAL_MACHINE\SYSTEM\Test]
"TestValue" =-
Помните, что прежде, чем проводить какие-либо манипуляции с реестром вручную, рекомендуется сделать резервную копию.

Восстановление поврежденного реестра, когда Windows XP не загружается
А теперь посмотрим, что нужно делать, когда из-за ошибок в реестре Windows XP не загружается.
Описываемая процедура не гарантирует полного восстановления системы к предыдущему состоянию, однако мы сможем восстановить наши данные.
Разрушенные файлы системного реестра могут вызывать ряд различных сообщений об ошибках.
Эта глава предполагает, что с помощью стандартных методов восстановления, описанных выше, вернуть Windows XP к жизни не удалось, и доступа к системе нет, кроме использования Recovery Console.
Если у вас имеется копия системы, сделанная Automatic System Recovery (ASR), то используйте эту копию, прежде чем попробовать процедуру, описанную в данной главе. Попробуйте при загрузке Windows XP нажать F8 и выбрать вариант "Загрузка последней удачной конфигурации" (Boot Using Last Known Good Configuration). При этом восстанавливаются только данные в разделе реестра HKLM\System\CurrentControlSet. Любые изменения в других разделах реестра сохраняются. Загрузка последней удачной конфигурации позволяет восстановить реестр в случае неполадок, вызванных, например, новым, несовместимым с имеющимся оборудованием драйвером. Неполадки, возникшие вследствие повреждения или ошибочного удаления драйверов или файлов, не могут быть устранены таким образом.

Примечание: Вы должны будете заменить все 5 ульев системного реестра. Если вы заменяете только один улей или два, то это может вызывать проблемы, так как программное обеспечение и оборудование может иметь параметры настройки во многих местах в системном реестре.
Итак, при попытке запуска Windows XP вы получаете сообщение об ошибке, например, одно из указанных ниже:
Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SYSTEM;
Windows XP could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32\CONFIG\SOFTWARE;
Stop: c0000218 {Registry File Failure} The registry cannot load the hive (file): \SystemRoot\System32\Config\SOFTWARE or its log or alternate.
Очень хорошо, теперь настала пора применить ваши знания на практике. Если вы когда-либо выполняли NTBACKUP и завершили системное копирование успешно, то вы можете сразу приступить к 4-му шагу.
Рекомендации по установке и загрузке Recovery Console расположены в разделе "Общие вопросы".

Шаг 1
Загружаемся в Recovery Console, создаем временную папку, копируем туда существующие файлы системного реестра, удаляем файлы системного реестра и затем копируем файлы системного реестра из папки Repair в папку System32\Config. Затем мы сможем загрузить Windows XP.
Системный реестр, находящийся в папке Repair, был создан и сохранен при начальной установке Windows XP, поэтому любые изменения, которые были проведены позже, будут утеряны.

Итак, выполняем следующие шаги:
1. Загружаем Recovery Console.
2. В командной строке выполняем следующие действия:

md tmp

copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\defa-ult c:\windows\tmp\default.bak

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default

Примечание: Здесь имеется в виду, что Windows XP установлена в папку C:\Windows. Если это не так, то вам придется внести небольшие изменения.
Чтобы сэкономить время, вы можете оформить все вышеприведенные команды в отдельный файл, например, regcopy1.txt, набрав его на другом компьютере, и выполнить на вашем одной командой:
batch regcopy1.txt

Шаг 2
Чтобы выполнить процедуру, описанную в этом разделе, вы должны войти как администратор или как пользователь, приравненный к администратору. Т.е. пользователь, имеющий учетную запись в группе "Администраторы".
Если у вас Windows XP Home Edition, то вы сможете войти как административный пользователь. Но если вы хотите войти как администратор, то вы должны сначала запустить Windows XP Home Edition в безопасном режиме (Safe mode).
Также полагаем, что у вас файловая система — FAT32.

Выполняем следующие действия:
1. Перегрузите компьютер.
2. При загрузке Windows XP нажмите F8.
3. Выберите безопасный режим.
Если вы используете проводник в качестве файл-менеджера, то придется выполнить несколько действий, чтобы сделать папку System Restore видимой:
1. Запускаем "Проводник".
2. В меню "Сервис" выбираем "Свойства папки" и далее закладку "Вид".
3. Раскрываем опцию "Скрытые файлы и папки" и щелкаем на "Показывать скрытые файлы и папки".
4. Далее щелкаем на "Применить" и "ОК".

Теперь:
1. Открываем раздел жесткого диска где установлена Windows XP, и находим папку System Volume Information. Примечание: Это скрытая системная папка. Она содержит одну или более папок с именами вида _restore {GUID}, например, _restore{87BD3667-3246-476B-923F-F86E30B3E7F8}.
2. Откройте папку, которая была создана НЕ в текущее время. Это может быть одна или больше папок, имена которых начинаются с RP. Это — точки восстановления.
3. Откройте выбранную папку и затем папку с именем Snapshot. Например,
c:\System Volume Information\_restore {DBB3294C-F5C9-43A9-9010-A75010CD2631} \RP2\snapshot\Repository.
4. Из папки Snapshot в папку C:\Windows\Tmp, уже созданную на первом этапе, скопируйте следующие файлы:
— _REGISTRY_USER_.DEFAULT
— _REGISTRY_MACHINE_SECURITY
— _REGISTRY_MACHINE_SOFTWARE
— _REGISTRY_MACHINE_SYSTEM
— _REGISTRY_MACHINE_SAM

Эти файлы созданы службой восстановления системы — System Restore. Так как на предыдущем шаге мы использовали файлы системного реестра, созданные при начальной установке Windows XP, то этот "новый" системный реестр не знает, что "старые" точки восстановления существуют и доступны. При загрузке Windows XP создана новая папка с новым GUID и с новым System Volume Information, и создана новая точка восстановления, которая включает копию файлов нового системного реестра. Вот почему важно не использовать самую новую папку, особенно если время ее создания — текущее время.
Таким образом, конфигурация существующей системы не знает о предыдущих точках восстановления. Нам нужна предыдущая, "старая" копия системного реестра от предыдущей, "старой" точки восстановления, чтобы сделать все предыдущие, "старые" точки восстановления доступными. Я надеюсь, что вы меня поняли.
Файлы системного реестра были скопированы из папки Snapshot в папку C:\Windows\Tmp, чтобы сделать их доступными, когда мы будем находиться в Recovery Console. Мы будем использовать эти файлы, чтобы заменить ими файлы текущего системного реестра в папке C:\Windows\System32\Config. Дело в том, что в Recovery Console папка с System Volume Information в общем случае недоступна. Если вам нужно иметь доступ ко всем папкам, то вам следует позаботиться об этом заранее: об этом я уже писал в разделе "Общие вопросы".

Шаг 3
В третьей части мы удалим существующие файлы системного реестра, а затем скопируем файлы системного реестра, созданные службой System Restore, в папку C:\Windows\System32\Config:
1. Загружаемся в Recovery Console.
2. В командной строке Recovery Console выполняем следующие команды:
3.
4. del c:\windows\system32\config\sam
5. del c:\windows\system32\config\security
6. del c:\windows\system32\config\software
7. del c:\windows\system32\config\default
8. del c:\windows\system32\config\system
9.

10. copy c:\windows\tmp\_registry_machi-ne_software c:\windows\system32\config\ software
11. copy c:\windows\tmp\_registry_machi-ne_system c:\windows\system32\config\system
12. copy c:\windows\tmp\_registry_machi-ne_sam c:\windows\system32\config\sam
13. copy c:\windows\tmp\_registry_machi-ne_security c:\windows\system32\config\security
14. copy c:\windows\tmp\_registry_user_. default c:\windows\system32\config\default
Перегружаем компьютер.

Шаг 4
Теперь запускаем программу "Восстановление системы" (System Restore) или %SystemRoot%\System32\restore\rstrui.exe и выбираем "Восстановление более раннего состояния компьютера".

(c)2002 mr.Tim

Продолжение следует...

Обсудить статью можно на форуме http://yurit.iscool.net .



Компьютерная газета. Статья была опубликована в номере 37 за 2002 год в рубрике soft :: win

©1997-2024 Компьютерная газета