Восстановление поврежденного профиля пользователя Windows

Oct 31, 2012 15:19

Уверен, многим энтузиастам и сисадминам знакома ситуация, когда после входа в систему Винда загружает новый чистый профиль. Или молча или с сообщением типа "Не удалось загрузить профиль пользователя, поэтому вход в систему выполнен с помощью стандартного системного профиля". Хочу поделиться своей success story про вылечивание этого дела.

Причины могут быть разные: вирус, ошибка на диске, некорректное завершение работы. По факту система отторгает файл с веткой реестра HKEY_CURRENT_USER (HKCU), который хранится в файле NTUSER.DAT в корне профиля. У Микрософта есть тривиальная инструкция на эту тему. Зайти под другим пользователем-админом и скопировать папки битого юзера в свежесозданный профиль можно легко (еще один аргумент не работать под единственной учеткой Администратор), проблема в том, что без старого реестра все программы потеряют свои настройки. Ладно бы если это был цвет фона рабочего стола, а у меня такая беда случилась с программарём на Делфи 6 - заново собрать руками эту среду почти нереально. А если копирнуть NTUSER.DAT в новый профиль, история повторится.

Традиционные шаманские ритуалы, такие как chkdsk, sfc, проверка на вирусы и мастер восстановления в AVZ полезны, но в этом случае почти никогда не дают результатов.

Меня спасла функция загрузки куста в реестр :) В regedit можно открыть чужой NTUSER.DAT и выгрузить его в текстовый reg файл. При импорте Винда сама не даст переписать sid нового профиля и всякие системные штуки, а настройки софта поднимаются успешно.

Порядок действий от и до:
- Зайти в систему под другим пользователем с админскими правами, переименовать в папке Documents and Settings битый профиль, например "User" на "БитыйUser". Удалить новую пустую учетку, которая будет называться "User.Computer".
- Зайти под сломанным пользователем, чтобы новый чистый профиль лёг в папку "User".
- Снова зайти под админом и переписать всё, что есть в "БитыйUser" к "User" кроме NTuser.dat, Ntuser.dat.log и Ntuser.ini.
- Запустить regedit, встать на пункт HKEY_LOCAL_MACHINE (либо HKEY_USERS, другие нельзя), затем файл -> загрузить куст. Выбрать файл NTUSER.DAT в папке "БитыйUser", задать имя новой ветке, например "User". В 2000м такой фичи еще не было, в XP и прочих есть.
- Правой кнопкой по HKEY_LOCAL_MACHINE\User, экспортировать. Задать имя файла, запомнить, куда сохранили.
- Подсветить HKEY_LOCAL_MACHINE\User, файл -> выгрузить куст. Не перепутать, а то можно грохнуть что-нибудь лишнее.
- Открыть получившийся reg файл в текстовом редакторе, заменить все вхождения HKEY_LOCAL_MACHINE\User на HKEY_CURRENT_USER, чтоб все параметры встали куда надо.
- Загрузиться под User и использовать вышеупомянутый reg файл.
- Перезагрузиться. Всё должно заработать.

Если куст содержит слишком мало параметров или вообще не открывается в regedit, значит NTUSER.DAT действительно сильно поврежден. Может помочь откат системы к точке восстановления, либо ручное выковыривание копии реестра из System Volume Information. К сожалению, довольно часто восстановление системы просто отключено в целях экономии места на харде.

Делайте бекапы.

инструкции, компы

Previous post Next post
Up