Windows ошибка среда пользователя

Содержание
  1. Исправляем ошибку: Службе профилей пользователей не удалось войти в систему
  2. 1. Редактирование параметров профиля в реестре
  3. 2. Восстановление Default профиля заменой поврежденного файла NTUSER.DAT
  4. 3. Восстановление Windows из точки восстановления
  5. 4. Создание нового пользователя и перенос старых данных
  6. 5. Права на чтение каталога C:\Users\Default
  7. Рекомендации по устранению проблемы
  8. Ошибки инициализации платформы .NET Framework: управление пользовательской средой .NET Framework initialization errors: Managing the user experience
  9. Коды HRESULT активации CLR CLR activation HRESULT codes
  10. Пользовательский интерфейс для ошибок инициализации UI for initialization errors
  11. Устранение ошибок инициализации Resolving the initialization error
  12. Управление сообщениями об ошибках Controlling the error message
  13. Политика пользовательского интерфейса для узлов в среде CLR UI policy for CLR-provided hosts
  14. Поведение и пользовательский интерфейс Windows 8 Windows 8 behavior and UI

Исправляем ошибку: Службе профилей пользователей не удалось войти в систему

В этой статье мы рассмотрим все варианты решения ошибки загрузки профиля пользователя на Windows 7, Windows 10 и линейке Windows Server, начиная с 2008 (чаще всего на RDS серверах). Ошибка довольно распространена, связана обычно с повреждением каталога с профилем пользователя, но исправляется относительно легко.

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

Невозможно загрузить профиль пользователя.

User profile cannot be loaded.

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

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

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

1. Редактирование параметров профиля в реестре

Запустите редактор реестра regedit с правами администратора и перейдите в ветку реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList.

Вы увидите список разделов (профилей) с названием в виде S-1-5-21-xxxxxxx. Это идентификаторы (SID) пользователей, по любому из них можно узнать имя учетной записи (например, следующей командой можно вывести список локальных пользователей и их SID: wmic useraccount get domain,name,sid ).

Можно просто найти профиль проблемного пользователя, последовательно перебрав все ветки с SID в разделе ProfileList. В нужной ветке учетная запись пользователя должна присутствовать в пути к профилю в параметре реестра ProfileImagePath.

Есть несколько вариантов:

  1. Имя ветки с нужным вам профилем пользователя оканчивается на .bak. В этом случае просто переименуйте ветку, убрав .bak;
  2. Вы нашли две ветки, указывающих на ваш профиль: с окончанием .bak и без. В этом случае переименуйте ветку без .bak, добавив в конце небольшой суффикс, например, S-1-5-21-xxxxx.backup. А у профиля с окончанием .bak удалите .bak в имени ветки реестра.

После того как вы переименовали ветку нужного профиля, нужно отредактировать значение параметров RefCount и State. Установите для них значения 0. Если у вас нет таких параметров, создайте их вручную (тип DWORD).

Убедитесь, что в значении ProfileImagePath указан путь к правильному каталогу профиля, а папка сама с профилем присутствует на диске и имеет такое же название, как и в ProfileImagePath. В моём случае это C:\Users\root.

После этого перезагрузите компьютер и попробуйте войти под профилем пользователя.

2. Восстановление Default профиля заменой поврежденного файла NTUSER.DAT

Если ошибка “Невозможно загрузить профиль пользователя” возникла при первом входе пользователя в систему, значит проблема с загрузкой профиля может быть связана с поврежденным файлом NTUSER.DAT в Default профиле. В этом файле хранятся настройки пользователя, те параметры, которые загружаются в ветку реестра HKEY_CURRENT_USER при входе пользователя. При создании профиля для нового пользователя этот файл копируется в каталог с созданным профилем пользователя. Если файл NTUSER.DAT удален или поврежден, служба User Profile Service не может создать профиль для нового пользователя.

Перейдите в каталог C:\Users\Default. В ней будет находиться файл NTUSER.DAT, переименуйте его, например, в NTUSER.DAT2. Далее вам нужно будет заменить этот файл аналогичным файлом с профиля другого пользователя, либо файлом с другого компьютера (с такой же версией Windows). После этого перезагрузите систему, и если проблема была в испорченном NTUSER.DAT, то всё должно заработать.

В интернете так же встречается совет заменить всю папку C:\Users\Default, но суть остаётся та же, дело в замене файла NTUSER.DAT, который меняется и при замене папки.

3. Восстановление Windows из точки восстановления

Если у вас в Windows включены и настроены точки восстановления, можно попробовать решить ошибку через восстановление на предыдущую точку восстановления.

В панели управления зайдите в раздел Recovery.

Далее жмите Open System Restore.

И следуйте указаниям мастера (несколько раз нажать далее), после чего система начнет восстановление.

Вы также можете увидеть подобную ошибку

Это значит, что у вас не настроены точки восстановления. В этом случае воспользоваться этим методом не выйдет.

4. Создание нового пользователя и перенос старых данных

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

  1. Запустите командную строку с правами администратора и введите netplwiz ;
  2. В открывшейся оснастке нажмите Add;
Читайте также:  Кто лучше windows или mac os

Пункты 3 и 4 относятся к Windows 10, если у вас Windows 7, то просто пропустите их и перейдите к пункту 5.

  1. Выберите Sign in without a Microsoft account;
  2. Выберите Local account;
  3. Введите логин и пароль и нажмите Finish;
  4. Скопируйте все папки из каталога старого профиля (включая AppData) и вставьте (с заменой) в каталог профиля свежесозданного пользователя.

Не забудьте включить отображение скрытых файлов и папок.

При таком способе восстановления вы не теряете данные, которые были в старом профиле. Если при копировании возникли проблемы, вы всегда можете получить доступ к данным со старого профиля просто зайдя в C:\users\ваш_старый_профиль

После того как как вы успешно зайдете под новым профилем, убедитесь, что у вас есть доступ к старым файлам, например, в папке Загрузки или Документы. Если доступа нет (выскакивает ошибка с запретом доступа), необходимо будет дать RW или FullControl права на эти папки вашему новому пользователю.

5. Права на чтение каталога C:\Users\Default

Проблем с отсутствием прав на чтение профиля пользователя Default чаще встречается в Windows Server. При попытке зайти в систему на Windows Server 2008 и выше, может встретиться подобная ошибка. В журнале ошибок вы можете увидеть соответствующую ошибку с ID 1509.

Для исправления просто дайте группе Users права на чтение C:\Users\Default, как указано ниже.

Если ошибка не решится, проверьте журнал ошибок Windows на предмет похожих ошибок, например, ID 1500, которая связана с повреждением файла NTUSER.DAT (решается вариантом #2 в этой статье).

Рекомендации по устранению проблемы

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

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

Самый сложный вариант — это когда вы не можете попасть в ваш профиль, у вас нет другого административного аккаунта, и система не создает временный профиль. То есть, вы никак не можете войти в Windows. Для решения проблемы вам понадобится загрузочная флешка (или хотя бы установочный диск) с вашей версией Windows, вам нужно загрузится с него и создать новый аккаунт с правами администратора. Затем следуйте описанным в статье шагам.

Ошибки инициализации платформы .NET Framework: управление пользовательской средой .NET Framework initialization errors: Managing the user experience

Система активации среды CLR определяет версию среды CLR, которая будет использоваться для выполнения управляемого кода приложения. The common language runtime (CLR) activation system determines the version of the CLR that will be used to run managed application code. В некоторых случаях система активации может не найти версию среды CLR для загрузки. In some cases, the activation system might not be able to find a version of the CLR to load. Эта ситуация обычно возникает в том случае, если приложение требует версии среды CLR, которая недопустима или не установлена на данном компьютере. This situation typically occurs when an application requires a CLR version that is invalid or not installed on a given computer. Если запрошенная версия не найдена, то система активации среды CLR получает код ошибки HRESULT из вызванных функции или интерфейса и может отобразить сообщение об ошибке для пользователя, запустившего приложение. If the requested version is not found, the CLR activation system returns an HRESULT error code from the function or interface that was called, and may display an error message to the user who is running the application. В этой статье приводится список кодов HRESULT и объясняется, как можно запретить отображение сообщения об ошибке. This article provides a list of HRESULT codes and explains how you can prevent the error message from being displayed.

Среда CLR предоставляет инфраструктуру ведения журнала для облегчения отладки проблем активации среды CLR, как описано в разделе Практическое руководство. Отладка проблем при активации среды CLR. The CLR provides logging infrastructure to help you debug CLR activation issues, as described in How to: Debug CLR Activation Issues. Эту инфраструктуру не следует путать с журналами привязки сборок, которая полностью отличается. This infrastructure should not be confused with assembly binding logs, which are entirely different.

Коды HRESULT активации CLR CLR activation HRESULT codes

Интерфейсы API активации среды CLR возвращают коды HRESULT, чтобы сообщить о результатах операции активации основному приложению. The CLR activation APIs return HRESULT codes to report the result of an activation operation to a host. Основные приложения среды CLR должны всегда обращаться к этими возвращаемым значениям, прежде чем предпринимать какие-либо дополнительные действия. CLR hosts should always consult these return values before proceeding with additional operations.

Пользовательский интерфейс для ошибок инициализации UI for initialization errors

Если системе активации среды CLR не удается загрузить правильную версию среды выполнения, которая требуется приложению, она отображает сообщение об ошибке, чтобы уведомить пользователя, что компьютер не настроен должным образом для запуска приложения, и предоставить с возможность исправить ситуацию. If the CLR activation system cannot load the correct version of the runtime that is required by an application, it displays an error message to users to inform them that their computer is not properly configured to run the application, and provides them with an opportunity to remedy the situation. Обычно в такой ситуации отображается следующее сообщение об ошибке. The following error message is typically presented in this situation. Пользователь может выбрать Да, чтобы перейти к веб-сайту Майкрософт, где он может загрузить правильную версию платформы .NET Framework для приложения. The user can choose Yes to go to a Microsoft website where they can download the correct .NET Framework version for the application.

Читайте также:  Настройка microsoft windows server 2012

Устранение ошибок инициализации Resolving the initialization error

В распоряжении разработчика имеются различные параметры для контроля сообщений об ошибках инициализации платформы .NET Framework. As a developer, you have a variety of options for controlling the .NET Framework initialization error message. Например, можно использовать флаг API для запрета отображения сообщения, как описано в следующем разделе. For example, you can use an API flag to prevent the message from being displayed, as discussed in the next section. Тем не менее причину, по которой приложение не смогло загрузить нужную среду выполнения, нужно устранить. However, you still have to resolve the issue that prevented your application from loading the requested runtime. В противном случае приложение не сможет работать либо часть функций будет недоступна. Otherwise, your application may not run at all, or some functionality may not be available.

Для разрешения проблем и наилучшего взаимодействия с пользователем (меньшее количество сообщений об ошибках), рекомендуется следующее: To resolve the underlying issues and provide the best user experience (fewer error messages), we recommend the following:

Для приложений на .NET Framework 3.5 (и более ранних версий): настройте приложение для поддержки .NET Framework 4 или более поздней версии (см. раздел Инструкции). For .NET Framework 3.5 (and earlier) applications: Configure your application to support the .NET Framework 4 or later versions (see instructions).

Для приложений .NET Framework версии 4: установите распространяемый пакет платформы .NET Framework 4 в составе установки приложения. For .NET Framework 4 applications: Install the .NET Framework 4 redistributable package as part of your application setup. См. раздел Руководство по развертыванию для разработчиков. See Deployment Guide for Developers.

Управление сообщениями об ошибках Controlling the error message

Отображение сообщения об ошибках для уведомления о том, что запрошенная версия платформы .NET Framework не найдена, можно рассматривать как полезную услугу или источник раздражения для пользователя. Displaying an error message to communicate that a requested .NET Framework version was not found can be viewed as either a helpful service or a minor annoyance to users. В любом случае этим пользовательским интерфейсом можно управлять, передавая флаги в API активации. In either case, you can control this UI by passing flags to the activation APIs.

Метод ICLRMetaHostPolicy::GetRequestedRuntime принимает в качестве входных данных элемент перечисления METAHOST_POLICY_FLAGS. The ICLRMetaHostPolicy::GetRequestedRuntime method accepts a METAHOST_POLICY_FLAGS enumeration member as input. Можно включить флаг METAHOST_POLICY_SHOW_ERROR_DIALOG для запроса сообщения об ошибке, если запрошенная версия среды CLR не будет найдена. You can include the METAHOST_POLICY_SHOW_ERROR_DIALOG flag to request an error message if the requested version of the CLR is not found. По умолчанию сообщение об ошибке не отображается. By default, the error message is not displayed. (Метод ICLRMetaHost::GetRuntime не поддерживает этот флаг и не предоставляет иных способов отобразить сообщение об ошибке.) (The ICLRMetaHost::GetRuntime method does not accept this flag, and does not provide any other way to display the error message.)

Windows предоставляет функцию SetErrorMode, с помощью которой можно объявить, должны ли сообщения об ошибках отображаться как результат выполнения кода, выполняемого внутри процесса. Windows provides a SetErrorMode function that you can use to declare whether you want error messages to be shown as a result of code that runs within your process. Можно указать флаг SEM_FAILCRITICALERRORS, чтобы запретить отображение сообщения об ошибке. You can specify the SEM_FAILCRITICALERRORS flag to prevent the error message from being displayed.

Но в некоторых случаях важно переопределить параметр SEM_FAILCRITICALERRORS, установленный процессом приложения. However, in some scenarios, it is important to override the SEM_FAILCRITICALERRORS setting set by an application process. Например, если имеется собственный компонент COM, в котором находится среда CLR и расположенный в процессе, для которого установлен флаг SEM_FAILCRITICALERRORS, можно переопределить флаг в зависимости от влияния отображения сообщений об ошибках в пределах данного процесса приложения. For example, if you have a native COM component that hosts the CLR and that is hosted in a process where SEM_FAILCRITICALERRORS is set, you may want to override the flag, depending on the impact of displaying error messages within that particular application process. В этом случае для переопределения SEM_FAILCRITICALERRORS можно воспользоваться одним из следующих флагов: In this case, you can use one of the following flags to override SEM_FAILCRITICALERRORS:

Читайте также:  Windows для планшетов сенсор

Используйте METAHOST_POLICY_IGNORE_ERROR_MODE с методом ICLRMetaHostPolicy::GetRequestedRuntime. Use METAHOST_POLICY_IGNORE_ERROR_MODE with the ICLRMetaHostPolicy::GetRequestedRuntime method.

Используйте RUNTIME_INFO_IGNORE_ERROR_MODE с функцией GetRequestedRuntimeInfo. Use RUNTIME_INFO_IGNORE_ERROR_MODE with the GetRequestedRuntimeInfo function.

Политика пользовательского интерфейса для узлов в среде CLR UI policy for CLR-provided hosts

Среда CLR включает в себя набор узлов для различных сценариев. Все эти узлы отображают сообщение об ошибке при возникновении проблем с загрузкой необходимой версии среды выполнения. The CLR includes a set of hosts for a variety of scenarios, and these hosts all display an error message when they encounter problems loading the required version of the runtime. В следующей таблице приводится список узлов и их политик сообщений об ошибках. The following table provides a list of hosts and their error message policies.

Узел CLR CLR host Описание Description Политика сообщения об ошибках Error message policy Можно ли отключить сообщение об ошибке? Can error message be disabled?
Узел управляемых EXE-файлов Managed EXE host Запускает управляемые EXE-файлы. Launches managed EXEs. Отображается в случае отсутствия версии платформы .NET Framework Is shown in case of a missing .NET Framework version Нет No
Узел управляемого COM Managed COM host Загружает управляемые компоненты COM в процесс. Loads managed COM components into a process. Отображается в случае отсутствия версии платформы .NET Framework Is shown in case of a missing .NET Framework version Да, установив флаг SEM_FAILCRITICALERRORS Yes, by setting the SEM_FAILCRITICALERRORS flag
Узел ClickOnce ClickOnce host Запускает приложения ClickOnce. Launches ClickOnce applications. Отображается в случае отсутствия версии платформы .NET Framework начиная с .NET Framework 4.5 Is shown in case of a missing .NET Framework version, starting with the .NET Framework 4.5 Нет No
Узел XBAP XBAP host Запускает приложения WPF XBAP. Launches WPF XBAP applications. Отображается в случае отсутствия версии платформы .NET Framework начиная с .NET Framework 4.5 Is shown in case of a missing .NET Framework version, starting with the .NET Framework 4.5 Нет No

Поведение и пользовательский интерфейс Windows 8 Windows 8 behavior and UI

Система активации CLR обеспечивает такое же поведение и пользовательского интерфейса в Windows 8, как и в других версиях операционной системы Windows, за исключением ситуаций с возникающими при загрузке CLR 2.0 проблемами. The CLR activation system provides the same behavior and UI on Windows 8 as it does on other versions of the Windows operating system, except when it encounters issues loading CLR 2.0. Windows 8 включает .NET Framework 4.5 с поддержкой CLR 4.5. Windows 8 includes the .NET Framework 4.5, which uses CLR 4.5. Но Windows 8 не включает .NET Framework 2.0, 3.0 или 3.5 с поддержкой CLR 2.0. However, Windows 8 does not include the .NET Framework 2.0, 3.0, or 3.5, which all use CLR 2.0. В результате приложения, зависящие от CLR 2.0, по умолчанию не будут работать в Windows 8. As a result, applications that depend on CLR 2.0 do not run on Windows 8 by default. Вместо этого выводится следующее диалоговое окно, позволяющее установить платформу .NET Framework 3.5. Instead, they display the following dialog box to enable users to install the .NET Framework 3.5. Пользователи также могут включить платформу .NET Framework 3.5 из панели управления. Users can also enable the .NET Framework 3.5 in Control Panel. Обе возможности рассматриваются в статье Установка платформы .NET Framework 3.5 в Windows 10, Windows 8.1 и Windows 8. Both options are discussed in the article Install the .NET Framework 3.5 on Windows 10, Windows 8.1, and Windows 8.

.NET Framework 4.5 заменяет .NET Framework 4 (среда CLR 4) на компьютере пользователя. The .NET Framework 4.5 replaces the .NET Framework 4 (CLR 4) on the user’s computer. Поэтому приложения .NET Framework 4 без проблем выполняются в Windows 8 без отображения этого диалогового окна. Therefore, .NET Framework 4 applications run seamlessly, without displaying this dialog box, on Windows 8.

В случае установки .NET Framework 3.5 пользователи могут запускать на своих компьютерах Windows 8 приложения, которые зависят от .NET Framework 2.0, 3.0 или 3.5. When the .NET Framework 3.5 is installed, users can run applications that depend on the .NET Framework 2.0, 3.0, or 3.5 on their Windows 8 computers. Они также могут запускать приложения платформы .NET Framework 1.0 и 1.1, если эти приложения не настроены явным образом для запуска только на платформе .NET Framework 1.0 или 1.1. They can also run .NET Framework 1.0 and 1.1 applications, provided that those applications are not explicitly configured to run only on the .NET Framework 1.0 or 1.1. См. раздел Миграция с платформы .NET Framework 1.1. See Migrating from the .NET Framework 1.1.

Начиная с .NET Framework 4.5 ведение журналов активации среды CLR было улучшено для включения записей журнала, которые регистрируют, когда и почему было отображено сообщение об ошибке инициализации. Starting with the .NET Framework 4.5, CLR activation logging has been improved to include log entries that record when and why the initialization error message is displayed. Дополнительные сведения см. в разделе Практическое руководство. Отладка проблем при активации среды CLR. For more information, see How to: Debug CLR Activation Issues.

Оцените статью