Comments 23
UFO just landed and posted this here
Пруф или не было
+4
Сохранность Registry своими руками
Датировано 21 апреля 2012 г., 16:22, т. е. на день раньше публикации на хабре.
Датировано 21 апреля 2012 г., 16:22, т. е. на день раньше публикации на хабре.
+2
Пишу на оба ресурса. Ссылки, вроде, назад на Хабр не прикрутили. Этот вопрос поднимался несколько раз здесь, и я так и не нашел на него ответа.
Только вот, здесь мне уже заметили, что в Vista/W7 таки есть встроенный бакап, и я статью подправил. А там пока не заметили, и статья, соотвественно, пока не обновлена. Так что это не кросспост — теперь это форк :)
Если у вас есть дельное решение по поводу кросспоста — с радостью к нему прислушаюсь. На ko.com.ua точно так же не любят ссылки. Не писать же вот такое: habrahabr.ru/post/135357/?
Только вот, здесь мне уже заметили, что в Vista/W7 таки есть встроенный бакап, и я статью подправил. А там пока не заметили, и статья, соотвественно, пока не обновлена. Так что это не кросспост — теперь это форк :)
Если у вас есть дельное решение по поводу кросспоста — с радостью к нему прислушаюсь. На ko.com.ua точно так же не любят ссылки. Не писать же вот такое: habrahabr.ru/post/135357/?
+1
Можно так. Можно поосто скрипт в автозапуск системы ( не автозагрузку пользователя). Да в nt6+ вполне можно wbadmin на отдельный каталог натравить.
0
По умолчанию в Windows 7 реестр копируется каждые 10 дней в папку %WinDir%\System32\Config\RegBack, смотрите в планировщике задачу Microsoft\Windows\Registry\RegIdleBackup.
+3
Что-то у меня фирменный сервис на Win7 x64 ставиться не хочет.
P.S.: Registry это ок, но почему тогда бакап (бастрад факапа и бэкапа? :))
P.S.: Registry это ок, но почему тогда бакап (бастрад факапа и бэкапа? :))
0
Это очень интересно про отсутствие встроенных средств резервирования реестра. Если у вас включен System Restore, то можете наблюдать 100500 копий реестра в %systemdrive%\System Volume Information.
Правда там лежит только SYSTEM и SOFTWARE, пользовательского там быть не должно.
Правда там лежит только SYSTEM и SOFTWARE, пользовательского там быть не должно.
0
Это вы про XP или Vista/7? Т.к. в вистоподобных ОС system restore иначе работает. В XP все было проще, в Win7 выручает nicbedford.co.uk/software/systemrestoreexplorer/
Когда у меня слетел профайл — я много где искал… ntuser.dat не нашел нигде, а в указанном вам каталоге, единственное похожее на реестр было syscache.hve и два .log-файла (ну и базы System Restore).
Когда у меня слетел профайл — я много где искал… ntuser.dat не нашел нигде, а в указанном вам каталоге, единственное похожее на реестр было syscache.hve и два .log-файла (ну и базы System Restore).
0
Да, вы правы, это справедливо по отношению к XP. Это они любили «помереть» с побитым реестром. Утилита интересная, спасибо.
А вы не пробовали просто Windows Backup натравить на папку «Users», он и будет периодически делать копии и реестра, и всего остального. Нет?
А вы не пробовали просто Windows Backup натравить на папку «Users», он и будет периодически делать копии и реестра, и всего остального. Нет?
0
И да, действительно, утилита которая открывает снепшоты System restore, подтверждает в них наличие и файлов ntuser.dat, что логично, поскольку это просто снепшот тома.
0
Ну вот а меня файла ntuser.dat не было!
NTUser.dat.log были (2 шт), regrans-ms — были, а ntuser.dat — не было. Если бы был — не было бы этой статьи. :)
Как выяснилось, есть ряд косяков, когда в Windows Restore попадает не все. Причины понятны не до конца.
У меня, например, C:\Users перенаправляется в D:\Users, и System Restore честно сбакапила symlink, не попытавшить его прорезолвить. По большому счету, я сам виноват. Можно было и Винду кастомизировать при инсталляции, сразу указав D:\Users (но помню, что влез в какие-то проблемы с этим позже), и забыл, что это уже не XP, где System Restore работал на файловом уровне.
В других случаях, какие-то программки держат дескрипторы реестра настолько цепко, что NTuser.dat не попадает в Shadow Copy, и соотв в System Restore. Или просто глюкает Shadow Copy. В общем, факт остается фактом.
Утилиту Windows Backup я использую только с одним параметром — System Image. Все остальное жутко долго. Плюс, моя папка Users тоже нашпигована sym/hard-link'ами.
NTUser.dat.log были (2 шт), regrans-ms — были, а ntuser.dat — не было. Если бы был — не было бы этой статьи. :)
Как выяснилось, есть ряд косяков, когда в Windows Restore попадает не все. Причины понятны не до конца.
У меня, например, C:\Users перенаправляется в D:\Users, и System Restore честно сбакапила symlink, не попытавшить его прорезолвить. По большому счету, я сам виноват. Можно было и Винду кастомизировать при инсталляции, сразу указав D:\Users (но помню, что влез в какие-то проблемы с этим позже), и забыл, что это уже не XP, где System Restore работал на файловом уровне.
В других случаях, какие-то программки держат дескрипторы реестра настолько цепко, что NTuser.dat не попадает в Shadow Copy, и соотв в System Restore. Или просто глюкает Shadow Copy. В общем, факт остается фактом.
Утилиту Windows Backup я использую только с одним параметром — System Image. Все остальное жутко долго. Плюс, моя папка Users тоже нашпигована sym/hard-link'ами.
0
Я может чего не понимаю, но на фига нужен этот System Restore Explorer, когда Windows Explorer и сам все умеет:
0
Это Volume Shadow Copy. System Restore тоже им пользуется, но это несколько иная штука.
0
System Restore и создает VSS снепшоты каждый раз, когда его просят создать Restore Point. Я (как и все) могу ошибаться, но не могли бы Вы привести пример, когда снепшот, созданный в System Restore недоступен через «Previous Versions»?
0
Покопал матчасть и, похоже, таки вы правы. Хочется придумать и потестить какой-то пример с перенаправлением на другие диски (symlinks, junctions, DFS), т.к. System Restore, если я правильно помню, следит только за C:, но VSS работает на блочном уровне, так что не выйдет. :)
Польза от System Restore Explorer в том, что он монтирует shapshot в каталог (доступный не только через Explorer, но и другим программам). Через Previous Version такой фокус не удается. По крайней мере у меня.
Польза от System Restore Explorer в том, что он монтирует shapshot в каталог (доступный не только через Explorer, но и другим программам). Через Previous Version такой фокус не удается. По крайней мере у меня.
0
Сейчас нет под рукой вин7, но насколько я помню System Restore работает для всех дисков, для которых включен (а для не системных он по умолчанию не включен). Работает как фильтр над volume manager-ом. То есть таки да — на блочном уровне, но файловая система которая над ним этого вообще не знает и ей, по большому счету, все равно. Снепшоты просматриваются не эксплореровским неймспейс экстеншеном (как, например, всякие панели управления и мои компьютеры), а сетевым редиректором (как сетевые шары и shared folders в большинстве виртуалок). То есть можно кликнуть в адресной строке и скопировать оттуда полный путь. Причем эти снепшоты доступны не только всем приложениям, но и ядру (правда с немного другим синтаксисом).
0
Registry, каким мы его знаем, впервые появился в Win95
Плохая, негодная историческая справка. Реестр появился в NT за несколько лет до Win95.
Ну и как водится «как начнешь — так и проведешь»: остаток статьи — какие то дикие мифы, а то и просто глупости.
0
Согласен, нужно было начать «Реестр появился в Win31 для хранения информации о COM-компонентах»… Или еще лучше — начать с INI-файлов. Win95 выбрана т.к. именно с нее начались повальные проблемы связанные с порченным реестром.
Если у вас есть дельные комментарии для улучшения статьи — с радостью выслушаю. Уже полсотни человек добавили статью в Избранное — сделаем им хорошо, развеяв все «мифы и глупости».
Если у вас есть дельные комментарии для улучшения статьи — с радостью выслушаю. Уже полсотни человек добавили статью в Избранное — сделаем им хорошо, развеяв все «мифы и глупости».
0
Реестр появился как централизованное хранилище конфигурации (его внутреннее название в ядре NT — Configuration Manager) как специализированная база данных, оптимизированная для хранения и поиска большого количества небольших значений (собственно, конфигурации). COM использует его для регистрации потому что это логично.
TxR (transactional registry) не имеет никакого отношения к целостности реестра. Реестр испокон веков был журналируемым и сам следил за целостностью метаданных — TxR нужен для обеспечения целостности (а вернее ACID) ДАННЫХ. Соответственно, «убитый» реестр я видел всего раз в жизни и вскрытие показало, что «умерла» файловая система.
Перед тем, как отключать реестр винда прибивает все программы (предварительно дав им немного времени на сохранение состояния). В ходе убиения процесса, автоматически закрываются все его хендлы. Сервисы могут заставить винду ждать до трех минут если неправильно обрабатывают события. Никакого отношения к «открытому» реестру это не имеет. Обычные приложения кажется тоже могут заблокировать перезагрузку при помощи WM_SHUTDOWN/WM_QUERYSHUTDOWN, но на них винда довольно быстро жалуется и предлагает пользователю прибить их принудительно. Опять же, никакого отношения к открытым ключам не имеет. Напротив, ВСЕ процессы в системе ВСЕГДА держат открытыми десятки ключей реестра. В этом легко убедиться при помощи ProcessExplorer/ProcessHacker. User Profile Hive Cleanup чистит хендлы не тех приложений, которые были в убиваемой сессии (те то как раз прибиваются автоматом), а те, которые держат открытым юзерский профайл из другой сессии (вот в частности сервисы) и мешают они не перегружаться (тогда бы их тоже прибили — так или по таймауту), а именно полноценному разлогиниванию пользователя. И опять таки никакого отношения к целостности реестра не имеют.
Для бекапа в винде с доисторических времен был FILE_FLAG_BACKUP_SEMANTICS, который позволяет пользователям со включенными SeBackupPrivilege/SeRestorePrivilege открывать практически любые файлы в системе (и встроенные бекапилки начиная с ntbackup всю жизнь вполне успешно этот флаг использовали). Проблема как раз была в другом: такая штука хорошо работает для отдельных файлов, но очень плохо если нужно сбекапить систему, в которую прямо во время бекапа вносятся изменения. Именно для того, чтобы обеспечить «атомарный» бекап и были введены теневые копии.
TxR (transactional registry) не имеет никакого отношения к целостности реестра. Реестр испокон веков был журналируемым и сам следил за целостностью метаданных — TxR нужен для обеспечения целостности (а вернее ACID) ДАННЫХ. Соответственно, «убитый» реестр я видел всего раз в жизни и вскрытие показало, что «умерла» файловая система.
Перед тем, как отключать реестр винда прибивает все программы (предварительно дав им немного времени на сохранение состояния). В ходе убиения процесса, автоматически закрываются все его хендлы. Сервисы могут заставить винду ждать до трех минут если неправильно обрабатывают события. Никакого отношения к «открытому» реестру это не имеет. Обычные приложения кажется тоже могут заблокировать перезагрузку при помощи WM_SHUTDOWN/WM_QUERYSHUTDOWN, но на них винда довольно быстро жалуется и предлагает пользователю прибить их принудительно. Опять же, никакого отношения к открытым ключам не имеет. Напротив, ВСЕ процессы в системе ВСЕГДА держат открытыми десятки ключей реестра. В этом легко убедиться при помощи ProcessExplorer/ProcessHacker. User Profile Hive Cleanup чистит хендлы не тех приложений, которые были в убиваемой сессии (те то как раз прибиваются автоматом), а те, которые держат открытым юзерский профайл из другой сессии (вот в частности сервисы) и мешают они не перегружаться (тогда бы их тоже прибили — так или по таймауту), а именно полноценному разлогиниванию пользователя. И опять таки никакого отношения к целостности реестра не имеют.
Для бекапа в винде с доисторических времен был FILE_FLAG_BACKUP_SEMANTICS, который позволяет пользователям со включенными SeBackupPrivilege/SeRestorePrivilege открывать практически любые файлы в системе (и встроенные бекапилки начиная с ntbackup всю жизнь вполне успешно этот флаг использовали). Проблема как раз была в другом: такая штука хорошо работает для отдельных файлов, но очень плохо если нужно сбекапить систему, в которую прямо во время бекапа вносятся изменения. Именно для того, чтобы обеспечить «атомарный» бекап и были введены теневые копии.
0
Sign up to leave a comment.
Сохранность Registry своими руками