`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Арсен Бандурян

За сохранность Registry администрация ответственности не несет

+1010
голосов

Недавно Windows преподнесла очередной сюрприз и угробила безвозвратно кусок Registry. Windows System Restore не помог. В этой части - анализ инцидента с Windows System Restore. Во второй части - о том, как это самому резервировать реестр отдельно от полного бакапа системы.

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

Установил программку от HP. Не понравилась, решил снести. HP, видимо, решила, что их программка настолько классная, что пользователь никогда не захочет с ней расстаться. Посему, не удосужилась снабдить программку анинсталлером. Благо, Windows 7 (да и WinXP тоже) делает System Restore Snapshot перед каждой инсталляцией, чем я и воспользовался.

После восстановления и перезагрузки - "Preparing Your Desktop" и я попадаю во временный профайл. Если система создает временный профайл – значит, что-то не в порядке с оригинальным. Смотрим, чего не хватает. Понимаю, что все на месте кроме HKEY_CURRENT_USER. Иду в каталог профайла - точно - файл ntuser.dat (в котором, собственно, хранится HKCU) пропал! Ntuser.dat.log есть, файлы транзакций (.BLF, .REGTRANS-MS) есть, а самого главного - нет! Ладно, думаю, откатимся на еще более ранний Restore Point. Откатываюсь - то же самое: ntuser.dat отсутствует. Беда…

Думаю, надо пойти посмотреть в сами Restore Point’ы: в WinXP все файлы просто лежали в подкаталогах C:\System Volume Information\SystemRestore\ – можно было взять любой и ручками восстановить. Иду в вышеупомянутый каталог и вижу там …ничего! Но ведь Restore Point’ы имеются? Обращаюсь к фольклору (гуглю). Оказывается, в Vista/7 механизм System Restore перестроили и теперь каждый Restore Point – это отдельный большой файл, так просто его уже не посмотришь.

Нахожу в Интернете ценную программку System Restore Explorer, которая позволяет монтировать Restore Point’ы в файловую систему и работать с ними, как с обычными каталогами. Монтирую, убеждаюсь что в каждом Restore Point отсутствует ntuser.dat! Я ожидал, что уж что-что, а профайл будет бекапиться всегда и целиком – приятный сюрприз от Microsoft!

После исследования фольклора оказалось, что проблема возникает, если в профайлах есть symlink’и или junction’ы (у меня C:\Users ведет в D:\Users) – System Restore работает на низком уровне, и вместо копирования target’ов копирует сами ссылки. Что, в общем, даже логично, претензии снимаются: сам виноват, поленился правильно кастомизировать процесс установки Windows (на то были причины).

В итоге, пришлось восстанавливать ntuser.dat из полного системного бакапа, благо, делаю я их регулярно. Родной Windows 7 Backup создает VHD, так что можно примонтировать образ и достать нужные файлы без полного восстановления. Идем в Disk Management, Action -> Attach VHD, выбираем файл, ставим галку “Read-Only” …FAIL. Битый VHD? Нет, просто Windows не может монтировать диски, не инициализировав их (нужно записать на диск метку)! Решения проблемы может быть два:

  1. Таки примонтировать VHD как R/W, система его проинициализирует, «признает», впоследствии можно уже будет монтировать как R/O.
  2. Использовать программку Gizmo Drive, которая этого недостатка лишена.

Восстанавливаем из VHD ntuser.dat, ntuser.dat.log (blf и regtans-ms на самом деле не нужны) – компьютер починили! Почему Win7 Backup создает VHD, который нельзя безопасно примонтировать без танцев с бубном для меня осталось тайной… Ответ услужливо подсказывает Доктор Хауз :)

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

+1010
голосов

Напечатать Отправить другу

Читайте также

Спасибо. Надеюсь, что в будущем не понадобиться, но на всякий случай текст сохранил и софт скачал. Мало ли что... :)

Спасибо, в мемориз, хотя и надеюсь, что никогда это не понадобится ).

Мое скромное мнение, что такие технические статьи совсем не мешают здесь, в особенности если есть внятное и удобное тегирование материалов.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT