Устранение ошибки Windows "не удается войти в учетную запись"

  • Автор:

user-profile-service-failed-000.pngПроблемы, связанные с повреждением профиля пользователя, являются одними из самых распространенных, обычно они сопровождаются сообщениями "Не удается войти в учетную запись" и "Вы вошли в систему с временным профилем". Поэтому сегодня мы решили рассказать, как устроен профиль пользователя, что может привести к его повреждению и какими методами можно восстановить нормальную работу системы.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

user-profile-service-failed-001.pngЗатем вас "порадует" сообщение "Не удается войти в учетную запись" с вариантами повторного входа и продолжения работы.

user-profile-service-failed-002.pngЕсли закрыть данное окно, то мы увидим еще одно сообщение, немного проливающее свет на происходящее "Вы вошли в систему с временным профилем".

user-profile-service-failed-003.pngЕсли профиль временный, то получается, что по какой-то причине постоянный профиль пользователя загрузить не получилось. Поэтому не будем пороть горячку, а постараемся разобраться, что такое профиль пользователя, какие данные он содержит и что может быть причиной невозможности его загрузки.

В самом первом приближении профиль пользователя - это содержимое директории C:\Users\Name, где Name - имя пользователя, там мы увидим привычные всем папки Рабочий стол, Документы, Загрузки, Музыка и т.д., а также скрытую папку AppData.

user-profile-service-failed-004.png

С видимой частью профиля все понятно - это стандартные папки для размещения пользовательских данных, кстати мы можем спокойно переназначить их на любое иное расположение. В последних версиях Windows переназначить можно даже Рабочий стол.

user-profile-service-failed-005.pngЭто вполне удобно и оправданно, с учетом того, сколько всего пользователи держат на рабочих столах, а те же SSD далеко не резиновые. Но речь не об этом, гораздо интереснее то, что скрыто от глаз простого пользователя.

Папка AppData предназначена для хранения настроек и пользовательских данных установленных программ и в свою очередь содержит еще три папки: Local, LocalLow и Roaming.

user-profile-service-failed-006.pngРассмотрим их подробнее:

  • Roaming - это "легкая" и, как следует из названия, перемещаемая часть профиля. Она содержит все основные настройки программ и рабочей среды пользователя, если в сети используются перемещаемые профили, то ее содержимое копируется на общий ресурс, а затем подгружается на любую рабочую станцию, куда выполнил вход пользователь.
  • Local - "тяжелая" часть профиля, содержит кеш, временные файлы и иные, применимые только к текущему ПК настройки. Может достигать значительных размеров, по сети не перемещается.
  • LocalLow - локальные данные с низкой целостностью. В данном случае мы снова имеем неудачный перевод термина low integrity level, на самом деле уровни целостности - это еще один механизм обеспечения безопасности. Не вдаваясь в подробности можно сказать, что высокой целостностью обладают данные и процессы системы, стандартной - пользователя, низкой - потенциально опасные. Если заглянуть в данную папку, то мы увидим там данные связанные с браузерами, флеш-плеером и т.п. Логика здесь проста - в случае какой-либо нештатной ситуации или атаки процессы запущенные из этой папки не будут иметь доступа к данным пользователя.

А теперь самое время подумать, повреждение каких из указанных данных может привести к проблемам с загрузкой профиля? Пожалуй, что никаких. Следовательно в профиле должно быть что-то еще. Конечно оно есть, и если внимательно посмотреть на скриншот профиля пользователя выше, то мы увидим там файл NTUSER.DAT. Если включить отображение защищенных системных файлов, то мы увидим целый набор файлов с аналогичными именами.

user-profile-service-failed-007.pngВот мы и подобрались к сути. В файле NTUSER.DAT находится ветвь реестра HKEY_ CURRENT_USER для каждого пользователя. И именно повреждение ветви реестра делает невозможным загрузку профиля пользователя. Но не все так плохо, как может показаться на первый взгляд. Реестр достаточно хорошо защищен от возможных сбоев.

Файлы ntuser.dat.LOG содержат журнал изменений реестра с момента последней удачной загрузки, что делает возможным откатиться назад в случае возникновения каких-либо проблем. Файлы с расширением regtrans-ms являются журналом транзакций, что позволяет поддерживать ветку реестра в непротиворечивом виде в случае внезапного прекращения работы во время внесения изменений в реестр. В этом случае все незавершенные транзакции будут автоматически откачены.

Наименьший интерес представляют файлы blf - это журнал резервного копирования ветки реестра, например, штатным инструментом Восстановление системы.

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

Способ 1. Устранение проблемы в профиле пользователя

Прежде всего, при возникновении проблем со входом в учетную запись следует проверить на ошибки системный том, для этого загрузитесь в консоль восстановления или среду Windows PE и выполните команду:

chkdsk c: /f

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Слева увидим некоторое количество разделов с именем типа S-1-5 и длинным "хвостом", которые соответствуют профилям пользователей. Для того чтобы определить какой профиль принадлежит какому пользователю обратите внимание на ключ ProfileImagePath справа:

user-profile-service-failed-008.pngИтак, нужный профиль найден, теперь снова смотрим в дерево слева, в котором должны находиться две ветки, одна из которых с окончанием bak.

user-profile-service-failed-009.pngТеперь наша задача переименовать основной профиль в bak, а bak в основной. Для этого добавляем к основному профилю любое расширение, скажем .ba, затем переименовываем резервный профиль в основной, убрав из его имени .bak, и снова переименовываем ba в bak.

Кстати, могут быть ситуации, когда для вашей учетной записи существует только ветка bak, в этом случае просто уберите ее расширение.

Затем находим в новом основном профиле два ключа RefCount и State и устанавливаем значения обоих в нуль.

user-profile-service-failed-010.pngПерезагружаемся. В большинстве случаев, если профиль серьезно не поврежден, данные действия приведут к успеху, в противном случае переходим к способу 2.

Способ 2. Создание нового профиля и копирование туда пользовательских данных

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

Поэтому мы рекомендуем иной способ. Снова открываем редактор реестра переходим в

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

и удаляем все ветви, относящиеся к вашему профилю. Перезагружаемся.

После этого Windows создаст для вашей учетной записи новый профиль, как будто бы первый раз вошли в данную систему. Но ваш идентификатор безопасности (SID), при этом останется неизменным, вы снова окажетесь владельцем всех собственных объектов, сертификатов и т.д., и т.п.

Для дальнейших действий вам понадобится еще одна учетная запись с правами администратора, создадим ее, в нашем случае - это учетная запись temp.

user-profile-service-failed-011.pngПосле чего выходим из нашей основной учетной записи (или перезагружаемся) и входим во вспомогательный аккаунт. Наша задача - скопировать все содержимое старой папки профиля, кроме файлов NTUSER, в новую папку. Для этих целей лучше использовать файловый менеджер (Total Commander, Far и т.д.) запущенный с правами администратора.

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

После того, как вы некоторое время поработаете с системой и убедитесь, что всё находится на своих местах и работает как надо - можете удалить старую папку и дополнительную учетную запись.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments