«Омский Государственный Колледж Управления и Профессиональных Технологий»
Учебное пособие: «ПО КС и web-серверов»

Выполнил: Студент группы ТО-31
Панечкин А.Е.
Руководитель:
Шойко А.З.


Лекция 9. Реестр ОС Windows XP


Оглавление

Введение в реестр Windows XP

Что такое реестр Windows XP
Из каких файлов состоит реестр Windows XP

Манипулирование реестром Windows XP

Общие вопросы
Резервное копирование реестра в Windows XP
Восстановление реестра в Windows XP
Структура .reg-файла. REGEDIT - опции командной строки
Удаление разделов и ключей реестра при помощи .reg-файла
Восстановление повреждённого реестра, когда Windows XP не загружается

Введение в реестр Windows XP

Что такое реестр Windows XP

Для начала определимся с терминологией. Эта важная часть нужна нам для того, чтобы лучше понимать друг друга.

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

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

Реестр имеет иерархическую древовидную структуру, состоящую из разделов, подразделов и ключей (параметров).

Для работы с реестром используется простая и понятная утилита Regedit, знакомая ещё со времен Windows 3.1.

Разделы и подразделы - это, грубо говоря, папки в левом окне regedit'а. Ключ реестра или параметр - это некая переменная, которой присвоено определённое значение, проще говоря - это то, что мы видим в правом окне regedit'а.

Куст (основной раздел, стандартный раздел, в английской документации - улей , от англ. "hive") - это раздел реестра, отображаемый как файл на жестком диске. Куст является набором разделов, подчиненных разделов и параметров и имеет корни на верхнем уровне иерархии реестра. По умолчанию большинство файлов кустов (Default, SAM, Security и System) сохраняются в папке %SystemRoot%\System32\Config. Папка %SystemRoot%\Profiles содержит профили (настройки) для каждого пользователя компьютера. Поскольку куст представляет собой файл, его можно перемещать из одной системы в другую. Для редактирования этого файла необходимо использовать редактор реестра.

Важное замечание : Windows XP в отличие от своих предшественниц не имеет ограничения по размеру реестра.

Реестр Windows XP состоит из следующих основных разделов :

Раздел реестра
Краткое описание
HKEY_CLASSES_ROOT
HKCR
Это ссылка на раздел HKEY_LOCAL_MACHINE\Software\Classes. Хранящиеся здесь сведения обеспечивают запуск необходимой программы при открытии файла с помощью проводника. Этот раздел содержит связи между приложениями и типами файлов, а также информацию об OLE.
HKEY_CURRENT_USER
HKCU
Это ссылка на определённый подраздел HKEY_USERS. Настройки соответствуют текущему, активному пользователю, выполнившему вход в систему.
HKEY_LOCAL_MACHINE
HKLM
Раздел содержит настройки, относящиеся к вашему компьютеру и действительны для всех пользователей. Раздел содержит информацию об аппаратной конфигурации и установленном программном обеспечении.
HKEY_USERS
HKU
Этот раздел содержит настройки для всех пользователей компьютера.
HKEY_CURRENT_CONFIG
HKCC
Это ссылка на HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Раздел содержит сведения о настройках оборудования, используемом локальным компьютером при запуске системы, т.е. содержит информацию о текущей конфигурации.

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

Сердце системного реестра - это раздел HKEY_LOCAL_MACHINE \SYSTEM.

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

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

  • подраздел DEFAULT, где хранится используемая конфигурация, когда ни один из пользователей ещё не вошёл в компьютер. То есть мы ещё видим приглашение на вход в систему.
  • дополнительный подраздел, который имеет имя в соответствии с security ID текущего пользователя (SID). Этот подключ реестра содержит конфигурацию текущего пользователя. Если пользователь вошёл удалённо, данные для конфигурации пользователя сохраняются в системном реестре местного компьютера. Данные из HKEY_USERS\%SID% также появляются в HKEY_CURRENT_USER.
  • дополнительный подраздел, который имеет имя в соответствии с SID текущего пользователя с суффиксом Classes. Этот раздел содержит классы текущего пользователя. Данные в HKEY_USERS\%SID%_Classes также содержатся в HKEY_CLASSES_ROOT.

В Windows XP конфигурация пользователя по умолчанию (default user profile) не хранится в системном реестре. Она находится на системном диске в файле \Documents and Settings\Default User\Ntuser.dat.

Отметим, и это важно, что куст HKEY_CURRENT_USER является ссылкой, линком на определённый подраздел куста HKEY_USERS. Это значит, что все изменения в разделах, подразделах и ключах куста HKEY_CURRENT_USER автоматически тут же отображаются в определённом подразделе HKEY_USERS соответствующем активному пользователю. То есть пользователю, выполнившему процедуру входа.

В каком же именно разделе HKEY_USERS проводятся изменения? Для этого вы должны узнать свой SID. Тогда искомый раздел будет именоваться, например, так : HKEY_USERS\S-1-5-21-117609710-1606980848-839522115-500. Где цифровая часть, вместе с буквой "S", и есть SID.

Идентификатор безопасности (SID, security ID) - структура данных переменной длины, которая идентифицирует пользователя, группу или компьютер. Каждая учётная запись в сети имеет уникальный SID. Внутренние процессы в Windows обращаются к SID для получения учётной записи пользователя или имени группы.

Откройте редактор реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList SideBySide. Выберите SID и посмотрите ProfileImagePath. В конце строки найдете имя пользователя.

Увидеть все SID, относящиеся к пользователям компьютера, вы можете раскрыв раздел HKEY_USERS. Но, в большинстве случаев, знать SID не обязательно.

Примечание. Строго говоря тот SID, который вы видите в реестре в разделе HKEY_USERS, это лишь его "визуальное" представление, если можно так сказать. На самом деле SID - это бинарные данные определенной структуры.

Отметим также, что HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet это тоже ссылка, линк на один из пронумерованных подразделов с именами HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00n, где n - номер. Подразделы ControlSet00n представляют собой наборы настроек для операционнной системы Windows XP. Большинство систем имеет два пронумерованных управляющих набора, оригинал и резервную копию, которая использовалась при последнем успешном старте системы. Операционная система Windows XP может обслуживать несколько таких наборов. Windows XP обслуживает резервные копии так, чтобы вы могли отменить изменения конфигурации, которые в противном случае могли бы препятствовать загрузке операционной системы. Windows XP хранит последний набор настроек, который был использован успешно, и настройки по умолчанию. Эти значения сохранены в подключе Select. Имена параметров ключа Select соответственно: Current - текущие настройки и Default - настройки по умолчанию. Также обратите внимание на параметр LastKnownGood расположенный там же. При загрузке Windows XP вы можете выбрать пункт меню "Загрузка последней удачной конфигурации", а действительный номер набора загружаемых настроек будет определён именно этим параметром реестра.

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

Тип данных
Краткое описание
REG_BINARY
Двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD
Целые числа размером в 4 байта. Многие параметры служб и драйверов устройств имеют этот тип и отображаются в двоичном, шестнадцатеричном или десятичном форматах.
REG_EXPAND_SZ
Строка данных переменной длины.
REG_MULTI_SZ
Многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ
Текстовая строка фиксированной длины.
REG_FULL_
RESOURCE_DESCRIPTOR
Последовательность вложенных массивов, разработанная для хранения списка ресурсов железа или драйверов.

Из каких файлов состоит реестр Windows XP

Однако, не вся информация из некоторых подразделов кустов хранится на диске, но об этом немного ниже.

А сейчас, вот они - файлы реестра Windows XP :

Имя файла
Соответствующий куст реестра Windows XP
SAM HKEY_LOCAL_MACHINE\SAM
SECURITY HKEY_LOCAL_MACHINE\Security
Software HKEY_LOCAL_MACHINE\Software
System HKEY_LOCAL_MACHINE\System

HKEY_CURRENT_CONFIG
Default HKEY_USERS\.DEFAULT
Файлы Ntuser.dat HKEY_CURRENT_USER (эти файлы хранятся в С:\Documents and Settings\%UserName%) Содержат конфигурацию для конкретного пользователя.

По умолчанию почти все файлы кустов : Default, SAM, Security, Software и System, сохраняются в папке %SystemRoot%\System32\Config.

Папка %SystemRoot%\Profiles содержит настройки для каждого пользователя компьютера.

Если есть сомнения, то точный список файлов реестра Windows XP можно посмотреть здесь: HKEY_LOCAL_MACHINE\System\CotnrolSet\Control\HiveList\ при начальной загрузке к этому разделу обращается Configuration Manager, чтобы проинициализировать все основные разделы реестра.

К оглавлению

Манипулирование реестром Windows XP

Общие вопросы

Как мы уже знаем, в операционной системе Windows XP сведения о конфигурации системы централизованно размещены в реестре. Это упрощает администрирование компьютера или сети, но, вместе с тем, одно неправильное изменение в реестре может вывести операционную систему из строя. Приведенный ниже список содержит советы и рекомендации по аккуратному использованию реестра и редактора реестра.

  • Перед внесением изменений в реестр делайте резервную копию. Этот вопрос мы и рассмотрим прежде всего.
  • Не заменяйте реестр Windows XP реестром другой версии операционных систем Windows или Windows NT.
  • Не оставляйте редактор реестра работающим без присмотра.
  • Для редактирования реестра используйте редактор реестра или другие программы, которые обеспечивают безопасные методы работы с реестром.

Кроме того вы можете ограничить доступ к реестру различным пользователям. Для этого в левом окне Regedit'а кликните правой кнопкой мыши на выбранном разделе реестра и выберите пункт "Разрешения".

Для некоторых операций с реестром нам пригодится Recovery Console. Загрузиться в неё можно с CD-ROM на котором находится Windows XP, нажимая клавишу "R", но можно установить её и на жёсткий диск для удобства использования.

Для этого вставьте установочный CD-ROM с Windows XP и выполните команду:

[буква CD-ROM]:\i386\winnt32.exe /cmdcons

и далее следуйте инструкциям.

После установки консоль восстановления появится в виде варианта загрузки. Причем всё её содержимое находится в отдельной скрытой папке Cmdcons в корне загрузочного диска с Windows XP, объём папки около 8Мб, и изменение настроек Windows XP не повлияет на консоль восстановления.

Ещё один важный для нас вопрос : как в Recovery Console получить доступ в папки, отличные от \WINDOWS ?
Возможно нам это понадобится, поэтому позаботьтесь об этом заранее. Под аккаунтом администратора заходим в "Панель управления - Администрирование". Далее запускаем аплет "Локальная политика безопасности - Локальные политики - Параметры безопасности", опцию "Консоль восстановления : Разрешить копирование дискет и доступ ко всем папкам" устанавливаем во "Включён". Если вы не хотите, чтобы у вас постоянно спрашивали пароль для входа в RC установите также опцию "Консоль восстановления: разрешить автоматический вход администратора". После этого, когда вы будете находиться в режиме Recovery Console, нужно дать команду SET AllowAllPaths = TRUE.

Если вам что-то не понравится или будет нужно освободить место на жестком диске, около 8Мб, то удалить консоль восстановления не составит особого труда :

  • Удалите из корня диска скрытую папку \Cmdcons.
  • Удалите из корня диска скрытый файл Cmldr.
  • Откройте файл Boot.ini и удалите строку, похожую на эту:
    C:\cmdcons\bootsect.dat="Microsoft Windows Recovery Console" /cmdcons

Всё! Теоретическая часть закончена. Осталось разучить несколько интересных операций и мы подойдём к самому главному.

К оглавлению

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

Способ 1.

Примечание. Не используйте этот способ для экспорта всего реестра или его основных разделов (ульев, hive), таких как HKEY_CURRENT_USER и т.п.

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

  • Запустите REGEDIT. "Пуск-Выполнить-REGEDIT".
  • Найдите ветвь реестра содержащую ключ значение которого вы будете редактировать и кликните на ней, в левой части окна REGEDIT.
  • В главном меню выберите "Файл-Экспорт" и укажите имя файла. Либо кликните правой кнопкой и укажите "Экспортировать".

Альтернативный вышеприведенному способ состоит в том, что можно выполнить команду или командный файл определённого содержания. Например, сохраним настройки популярной программы The Bat! : regedit /e thebat1.reg HKEY_CURRENT_USER\Software\RIT regedit /e thebat2.reg HKEY_LOCAL_MACHINE\Software\RIT Вся необходимая информация будет помещена в файлы THEBAT1.REG и THEBAT2.REG.

Способ 2.

Для резервного копирования всего реестра используйте программу архивации данных "Программы-Стандартные-Служебные-Архивация данных" или просто %SystemRoot%\system32\ntbackup.exe

Программа архивации позволяет архивировать и восстанавливать так называемые данные состояния системы, что включает в себя следующие системные компоненты:

  • реестр;
  • базу данных регистрации классов COM+
  • загрузочные файлы : Ntldr и Ntdetect.com
  • системные файлы;

Пошаговые инструкции для архивации реестра Windows XP такие :

  1. Войдите в систему с необходимыми правами, например, как администратор.
  2. Запустите NTbackup ("Архивация данных").
  3. Если NTbackup запустилась в режиме мастера, перейдите в "Расширенный режим".
  4. Выберите закладку "Архивация".
  5. В левом окне найдите и пометьте "птичкой" строку "System State".
  6. Нажмите кнопку "Архивировать" и выберите "Дополнительно".
  7. Снимите "галочку" с пункта "Автоматически архивировать защищенные системные файлы вместе с состоянием системы". Таким образом мы заархивируем только файлы реестра, что произойдёт быстро и займёт немного места на диске, примерно 17-20Мб.
  8. На этой же вкладке "Тип архива" установите "Обычный".
  9. "ОК" и нажмите "Архивировать". После архивации вы сможете просмотреть отчет.
  10. Отчёты об архивации накапливаются в папке x:\Documents and Settings\%User%\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\ в пронумерованных файлах backup01.log, backup02.log и т.д.

NTbackup можно использовать и из командной строки, но мы не будем рассматривать этот способ, так как восстановить данные с командной строки нам не удастся и , кроме того, при архивации вместе с реестром будут заархивированы и все системные файлы, необходимые для загрузки Windows XP. А это потребует более долгого времени и займёт заметно больше места на жестком диске.

Способ 3.

Полностью системный реестр можно заархивировать и "вручную" с помощью консоли восстановления (Recovery Console). Для этого:

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

Консоль

 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\default c:\windows\tmp\default.bak

Обратите внимание, что вам придётся скопировать сразу все пять файлов системного реестра.

Чтобы сэкономить время вы можете оформить все вышепреведенные команды в отдельный файл, например, arcregistry.txt предварительно подготовив его, и выполнить одной командой:

batch arcregistry.txt

Примечания.

Примечание 1. В общем случае не рекомендуется перемещать сохранённые файлы реестра за пределы папки C:\Windows, так как в Recovery Console они могут быть недоступны, даже если вы - администратор. Это верно, если не предпринять особых мер, описанных выше в разделе Общие вопросы.

Примечание 2. Я бы рекомендовал вышеописанные способы №2 и №3 только если вы ожидаете полный крах системы. Обычно всегда удаётся загрузить последнюю удачную конфигурацию.

Примечание 3. Какой из способов №2 или №3 выбрать? Способ №2 проще в том смысле, что не требует перезагрузки в режиме Recovery Console для сохранения файлов реестра, но гораздо сложнее для восстановления, если самое большое горе всё-таки случится - ваша любимая Windows XP перестанет загружаться. Способ №3 самый простой в плане восстановления, но для его выполнения требуется перезагрузка, ещё до того момента как вы начнёте курочить реестр, в режим Recovery Console. А можно выбрать и оба способа.

К оглавлению

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

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

Способ 1.

При архивации части реестра, мы с помощью REGEDIT экспортировали данные в REG-файл. Теперь, чтобы извлечь их и восстановить исходный вид части реестра выполним следующие шаги:

• Запустите REGEDIT. "Пуск Выполнить REGEDIT".
• В главном меню выберите "Файл Импорт" и укажите имя файла.

Или можно выполнить команду или командный файл определённого содержания. Например, восстановим настройки программы The Bat! :

regedit -s thebat1.reg
regedit -s thebat2.reg

Вся необходимая информация будет взята из файлов THEBAT1.REG и THEBAT2.REG.

Способ 2.

Пошаговые инструкции для полного восстановления реестра Windows XP :

  1. Войдите в систему с необходимыми правами, например, как администратор.
  2. Запустите NTbackup.
  3. Если NTbackup запустилась в режиме мастера, нажмите кнопку "Расширенный" в окне мастера архивации.
  4. Перейдите на вкладку "Восстановление и управление носителем"
  5. Установите в списке "Установите флажки для всех объектов, которые вы хотите восстановить" флажок для объекта "Состояние системы". Это позволит восстановить данные состояния системы вместе с остальными данными, отмеченными в текущем задании восстановления.
  6. Отчёты о проделанной работе находятся в папке x:\Documents and Settings\%User%\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\ в пронумерованных файлах типа backup01.log, backup02.log и т.д.

Способ 3.

Если вы сохранили реестр "вручную", то восстановить его также возможно. Но для начала прочтите раздел Восстановление повреждённого реестра когда Windows XP не загружается расположенный ниже, а затем, если у вас есть сохранённые вручную файлы реестра, начните сразу с шага №3, расположенного в том же разделе.

К оглавлению

Структура .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\\HarddiskVolume1"
"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\default 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
    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. del c:\windows\system32\config\sam
      4. del c:\windows\system32\config\security
      5. del c:\windows\system32\config\software
      6. del c:\windows\system32\config\default
      7. del c:\windows\system32\config\system
      8. copy c:\windows\tmp\_registry_machine_software c:\windows\system32\config\software
      9. copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system
      10. copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam
      11. copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security
      12. copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default

    Перегружаем компьютер.

    Шаг 4.

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

    В начало страницы

    Copyright ОГКУиПТ© by Deadhummer