Jump to content


!!! Только у нас на форуме !!!
Спектакли от дяди Пчёлки

для просмотра необходима регистрация
Photo
- - - - -

Не сделал копию реестра


  • Please log in to reply
No replies to this topic

#1 Bizarre

Bizarre
  • Участниk
  • 2 posts

Posted 09 Jan 2005 - 15:45

Если в результате сбоя система 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", то лучшим способом (поскольку именно он чаще всего позволяет восстановить систему с минимумом усилий) вернуть ее к жизни будет восстановление реестра из резервной копии. Не всем пользователям хватает благоразумия заранее позаботиться о регулярном создании таких копий, даже при том условии, что программ, делающих это автоматически, достаточно много, и вручную каждый день специально заниматься этой процедурой совсем не обязательно. Для таких пользователей можно предложить пару гораздо менее удобных способов решения данной проблемы, что, впрочем (в отличие от заблаговременного регулярного резервирования реестра или использования Automatic System Recovery (ASR) и программы NTBackup), не гарантирует полного успеха, так как серьезная часть данных и настроек системы может оказаться потеряна. В процессе восстановления обратите внимание, что крайне необходимо восстанавливать все пять файлов реестра, поскольку данные, содержащиеся в разных кустах реестра, могут быть тесно взаимосвязаны. Итак, технология восстановления реестра такова: загрузите консоль восстановления (например, загрузив ПК с компакт-диска Windows XP и выбрав режим восстановления, то есть, нажав кнопку R при появлении надписи "Welcome to Setup", подробнее - Microsoft Knowledge Base Article 307654), создайте временную папку, сохраните в ней исходные файлы реестра, затем в папку System32\Config скопируйте резервные копии файлов реестра. Таким образом, все опять упирается в резерв реестра. К счастью, такой резерв все же можно найти почти в любой системе, даже у самых ленивых пользователей. Во-первых, эти резервные копии можно взять из папки Windows Repair - там они, правда, были созданы аж во время инсталляции Windows, и потому все изменения, которые произошли в реестре с того момента, будут безвозвратно потеряны, так что это не самый лучший вариант. Однако часто он оказывается единственным выходом. В данном случае последовательность команд в консоли восстановления будет выглядеть следующим образом (если система установлена в папку C:\Windows):

md tmp
соpу с:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copу c:\windows\system32\config\sam c:\windows\tmp\sam.bак
copy c:\windows\system32\config\security c:\windows\tmp\security.bак
copy c:\windows\system32\config\default c:\windows\tmp\default.bак
delete с:\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 с:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copу c:\windows\repair\sam c:\windows\system32\config\sam
copу c:\windows\repair\security c:\windows\system32\config\security
copу c:\windows\repair\default c:\windows\system32\config\default
exit
Для того чтобы не набивать все это дело вручную на клавиатуре, просто скопируйте все эти команды в текстовый файл, назвав его, например, regcopy.txt, а находясь в консоли восстановления, введите команду batch a:\regcopy.txt.Файл regcopy.txt при этом нужно поместить на дискету. Впрочем, если вы используете файловую систему FAT32 или имеете под рукой полную версию программы NTFS for DOS (www.winternals.com), то вы сможете работать с диском и файлами из-под любого DOS-файлового менеджера, что в данной ситуации гораздо удобнее, чем консоль восстановления, и не требует знания пароля администратора.

Гораздо интереснее же в плане восстановления те резервные копии реестра, которые автоматически создает служба восстановления системы System Restore (если она не отключена), поскольку эти копии оказываются, мягко говоря, более свежими, чем файлы в папке Windows\Repair, и при их использовании восстанавливается состояние ОС, наиболее близкое к моменту сбоя. Если вы уже восстановили реестр из файлов, расположенных в Windows\Repair, то вы с большой долей вероятности сможете загрузить режим Safe Mode, войдя в него как Администратор. Из этого режима можно достаточно легко восстановить резерв реестра, созданный службой System Restore. Сама System Restore работать пока не будет (по начальным условиям задачи ни она не работала, ни ПК не загружался). Найдите на том диске, куда установлена ОС, скрытую папку System Volume Information. Чтобы получить полный доступ к папке System Volume Information на томах NTFS, откройте диалог свойств этой папки и на вкладке "Безопасность" добавьте пользователя "Администратор", разрешив ему полный доступ к папке. Эта папка будет содержать один или несколько подкаталогов типа "_restore{GUID}\RPx\Snapshot", например, "_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}\ RP1\Snapshot". Это каталоги имеющихся точек восстановления (Restore Points, RP) системы, созданные System Restore. И в них можно найти копии реестра. Нам желательно взять ту точку восстановления, которая как можно ближе по дате создания к настоящему моменту, но не последняя (впрочем, ради эксперимента можно попробовать и последнюю, может, она и сработает) - дату создания папки RPx можно увидеть в диалоге ее свойств. В выбранном каталоге, например C:\System Volume Information _restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3-ED8}\RP1\ Snapshot, нужно взять файлы с названиями: _REGISTRY_USER_.DEFAULT _REGISTRY_MACHINE_SECURITY _REGISTRY_MACHINE_SOFTWARE _REGISTRY_MACHINE_SYSTEM _REGISTRY_MACHINE_SAM и скопировать их во временную папку, например, C:\Windows\Tmp. Это и есть копии реестра, созданные System Restore. Поскольку названия резервных копий отличаются от обычных названий файлов реестра, то их надо переименовать: _REGISTRY_USER_.DEFAULT в DEFAULT _REGISTRY_MACHINE_SECURITY в SECURITY _REGISTRY_MACHINE_SOFTWARE в SOFTWARE _REGISTRY_MACHINE_SYSTEM в SYSTEM _REGISTRY_MACHINE_SAM в SAM. Теперь все готово к восстановлению самых близких к настоящему моменту копий реестра. Саму эту процедуру можно проделать точно таким же образом, как и восстановление файлов из папки Windows\Repair - читайте начало этой заметки. Почему надо было столь долго перемещать резерв реестра из папки в папку, да еще загружать Safe Mode? А потому, что из консоли восстановления нет доступа к директории System Volume Information. Конечно, и в данном случае удобнее и быстрее было бы работать с программой NTFS for DOS - не нужно было бы предварительно восстанавливать реестр из папки Windows\ Repair, однако ее полный вариант, позволяющий осуществлять запись на тома NTFS, платный и есть далеко не у каждого пользователя, да и проблемы с длинными именами файлов в DOS могут осложнить работу. FAT32, безусловно, в плане восстановления системы попроще. После восстановления реестра из копий, созданных службой System Restore, можно попробовать сделать и полное восстановление системы, если нужно откатиться к определенной точке, по идее, это должно сработать.
  • 0


1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Rambler's Top100