Сбой при вызове loaduserprofile из за ошибки

Все мы знаем, что для решения большинства проблем в ОС Windows, есть универсальные инструменты проверка системных файлов (SFC) и команды DISM. Запуск sfc /scannow будет проверять целостность защищенных файлов операционной системы и заменит поврежденные, где это возможно. Тем не менее, если ошибки файлов массовые, это выходит за рамки SFC и вы должны использовать DISM команды, чтобы устранить системные ошибки и сбои.

Сегодня, во время работы с командами Dism, я получил: Ошибка:1726.Сбой при удаленном вызове процедуры. Вы можете увидеть это ниже в скриншоте.

После исследования этой ошибки, я обнаружил, что это может произойти по следующим причинам:

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

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

Примечание: Дальнейшие шаги будут включать в себя изменения реестра. Ошибки во время правки реестра могут повлиять на вашу систему отрицательно. Так что будьте осторожны при редактировании записей реестра, рекомендуем создать точку восстановления системы.

1. Нажмите Win + R и вставьте Regedit в диалоговом окне Выполнить, чтобы открыть редактор реестра. Нажмите кнопку ОК.

2. Перейдите к следующему разделу реестра:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services RpcSs

3. В правой панели в разделе реестра с именем RpcSs , найдите параметр DWORD с именем Start, имеющий значение 4.

4 . Откройте данный параметр и измените значение на 2, нажмите кнопку OK. Закройте редактор реестра и перезагрузите компьютер.

После перезагрузки снова запустите команду DISM, на этот раз она должна работать нормально.

Администрируем и настраиваем Windows, Linux.

При попытке залогиниться на компьютер пользователь может получить следующую ошибку: “The User Profile Service service failed the logon. User profile cannot be loaded.”.

Данная проблема может быть решена двумя способами.

Решение 1:

Данный способ состоит в переименовании ключей реестра, содержащих информацию профиля. Если данное решение не работает, попробуйте следующий способ.

Решение 2:

Права безопасности на директории профиля ‘Default’ должны быть корректны. Выполните следующие шаги:

1. Войдите в систему с правами администратора.

2. Перейдите в директорию %systemdrive%Users (обычно C:Users).

3. Откройте Свойства директории Default и выберите Безопасность.

4. Нажмите Дополнительно.

5. Нажмите Изменить разрешения.

6. Отметьте Include inheritable permissions from this object’s parent and Replace all child object permissions with inheritable permissions from this object и дважды нажмите OK.

Теперь настройки безопасности директории Default установлены верно. Попробуйте залогиниться заново.

Читайте также:  Как в вк добавить все песни сразу

SCM удостоверяется, что процесс сервиса еще не запущен под другой учетной записью. Для этого он ищет в своей внутренней базе данных, называемой базой данных образов (image database), запись для параметра ImagePath сервиса. Если такой записи нет, SCM создает ее. При этом он сохраняет имя учетной записи, используемой сервисом, и данные из параметра ImagePath. SCM требует от сервисов наличия параметра ImagePath. Если его нет, SCM генерирует ошибку, сообщая, что найти путь к сервису не удалось и запуск этого сервиса невозможен. Если SCM находит существующую запись в базе данных с теми же данными, что и в ImagePath, то проверяет, совпадают ли сведения об учетной записи пользователя запускаемого сервиса с информацией в базе данных. Процесс регистрируется только под одной учетной записью, и поэтому SCM сообщает об ошибке, если имя учетной записи сервиса отличается от имени, указанного другим сервисом, который уже выполняется в том же процессе.

Чтобы зарегистрировать (если это указано в конфигурации сервиса) и запустить процесс сервиса, SCM вызывает ScLogonAndStartImage. SCM регистрирует сервисы, выполняемые не под системной учетной записью, с помощью LSASS-функции LsaLogonUser. Обычно LsaLogonUser требует пароль, но SCM указывает LSASS, что пароль хранится как «секрет» LSASS в разделе реестра HKLMSECURITYPolicySecrets. (Учтите, что содержимое SECURITY обычно невидимо, поскольку его параметры защиты по умолчанию разрешают доступ только по системной учетной записи.) SCM, вызывая LsaLogonUser, указывает тип регистрации, и поэтому LSASS ищет пароль в подразделе раздела Secrets с именем типа _SC ‹имя сервиса›. Конфигурируя регистрационную информацию сервиса, SCM командует LSASS сохранить регистрационный пароль как секрет, используя функцию LsaStorePrivateData. Если регистрация проходит успешно, LsaLogonUser возвращает описатель маркера доступа. B Windows такие маркеры применяются для установки контекста защиты пользователя, и SCM сопоставляет маркер доступа с процессом, реализующим сервис.

После успешной регистрации SCM загружает информацию из профиля учетной записи (если она еще не загружена), для чего вызывает функцию LoadUserProfile из WindowsSystem32Userenv.dll . Местонахождение куста, который LoadUserProfile загружает в реестр как раздел HKEY_CURRENT_USER, определяется параметром HKLMSOFTWAREMicrosoftWindows NTCurrentVersionProfileList‹раздел профиля пользователя›ProfileImagePath.

Интерактивный сервис должен открыть WindowStation-объект WinSta0. Ho прежде чем разрешить интерактивному сервису доступ к WinStaO, ScLogonAndStartImage проверяет, установлен ли параметр HKLMSYSTEMCur-rentControlSetControlWindowsNoInteractiveServices. Этот параметр устанавливается администратором для того, чтобы запретить сервисам, помеченным как интерактивные, вывод окон на консоль. Такой вариант применяется при работе сервера в необслуживаемом режиме, когда пользователей, взаимодействующих с интерактивными сервисами, нет.

Далее ScLogonAndStartImage запускает процесс сервиса, если он еще не выполняется. SCM запускает процессы в приостановленном состоянии, используя Windows-функцию CreateProcessAsUser. После этого SCM создает именованный канал для взаимодействия с процессом сервиса и присваивает ему имя PipeNetNtControlPipeX, гдеХ- счетчик количества созданных SCM каналов. SCM возобновляет выполнение процесса сервиса через функцию ResumeTbread и ждет подключения сервиса к созданному каналу. Сколько времени SCM ждет вызова сервисом функции StartServiceCtrlDispatcher и соединения с каналом, зависит от значения параметра реестра HKLMSYSTEMCurrentControlSetControlServicesPipeTimeout (если такой параметр существует). По истечении этого времени SCM завершает процесс и считает запуск сервиса несостоявшимся. Если параметра ServicesPipeTimeout в реестре нет, SCM использует таймаут по умолчанию, равный 30 секундам. Этот же таймаут распространяется на все виды коммуникационной связи между SCM и сервисами.

Читайте также:  Мегафон тариф для ватсапа

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

Если параметр реестра Туре для сервиса, запускаемого SCM с помощью ScStartService, равен SERVICEKERNELDRIVER или SERVICE_FILE_SYSTEM_ DRIVER, то данный сервис является драйвером устройства, и ScStartService вызывает для его загрузки ScLoadDeviceDriver. Она выдает процессу SCM право на загрузку драйвера и вызывает сервис ядра NtLoadDriver, передавая ему значение параметра реестра ImagePath для данного драйвера. B отличие от сервисов драйверам не обязательно указывать значение ImagePath. Если оно не указано, SCM формирует путь к образу исполняемого файла, добавляя имя драйвера к строке WindowsSystem32Drivers.

ScAutoStartServices продолжает поочередно обрабатывать сервисы, принадлежащие какой-либо группе, до тех пор, пока все они не будут запущены или не вызовут ошибку, связанную с нарушением зависимостей. Такая циклическая обработка позволяет SCM автоматически упорядочивать сервисы внутри группы в соответствии с их параметрами DependOnService. SCM сначала запускает сервисы, на которые полагаются другие сервисы, пропуская зависимые сервисы. Заметьте, что SCM игнорирует параметры Tag в подразделах Windows-сервисов раздела HKLMSYSTEMCurrentControlSet Services. Эти параметры использует диспетчер ввода-вывода, упорядочивая запуск драйверов устройств в группе драйверов, запускаемых при загрузке и при старте системы.

Как только SCM завершает операции запуска для всех групп, перечисленных в списке ServiceGroupOrderList, он переходит к запуску сервисов, принадлежащих к группам, которые не входят в этот список, а потом обрабатывает сервисы, не включенные ни в одну группу. Закончив, SCM переводит событие BaseNamedObjectsSC_AutoStartComplete в свободное состояние.

Ошибки при запуске

Если драйвер или сервис в ответ на команду запуска SCM сообщает об ошибке, реакция SCM определяется значением параметра ErrorControl из раздела реестра для соответствующего сервиса. Если ErrorControl равен SERVICE_ ERRORIGNORE (0) или вообще не указан, SCM игнорирует ошибку и продолжает обработку запуска сервисов. Если ErrorControl равен SERVICEER-RORNORMAL (1), SCM заносит в журнал событий запись такого вида: «The ‹имя сервиса› service failed to start due to the following error: («Служба ‹имя сервиса› завершена из-за ошибки:»). SCM добавляет возвращаемый сервисом Windows-код ошибки, указывая его в записи в качестве причины сбоя при запуске. Ha рис. 4-15 показан пример такой записи.

Читайте также:  Как перенести фото с мейзу на компьютер

Рис. 4-15. Запись в журнале событий, уведомляющая об ошибке при запуске сервиса

Если сервис, значение ErrorControl которого равно SERVICE_ERROR_SEVERE (2) или SERVICE_ERROR_CRITICAL (3), сообщает об ошибке при запуске, SCM делает запись в журнале событий и вызывает внутреннюю функцию ScRevertToLastKnownGood. Эта функция активизирует версию реестра, соответствующую последней удачной конфигурации, в которой система была успешно загружена. После этого она перезагружает систему, вызывая сервис NtShutdoumSystem, реализуемый исполнительной системой. Если система уже загружена в последней удачной конфигурации, она просто перезагружается.

Критерии успешной загрузки и последняя удачная конфигурация

Кроме запуска сервисов система возлагает на SCM определение того, когда следует сохранять раздел реестра HKLMSYSTEMCurrentControlSet в качестве последней удачной конфигурации. Раздел Services входит в раздел Cur-rentControlSet, поэтому CurrentControlSet включает представление реестра из базы данных SCM. CurrentControlSet также включает раздел Control, где хранятся многие параметры конфигурации подсистем режима ядра и пользовательского режима. По умолчанию загрузка считается успешной, если были запущены все автоматически запускаемые драйверы и пользователь смог войти в систему. Загрузка считается неудачной, если система остановилась из-за краха драйвера устройства или если автоматически запускаемый сервис с параметром ErrorControl, равным SERVICE_ERROR_SEVERE или SERVICE_ERROR_CRITICAL, сообщил об ошибке при запуске.

SCM узнает, успешно ли стартовали автоматически запускаемые сервисы, но уведомление об успешном входе пользователя он должен получить от Winlogon (WindowsSystem32Winlogon.exe ). При входе пользователя Winlogon вызывает функцию NotifyBootConfigStatus, которая посылает сообщение SCM. После успешного старта автоматически запускаемых сервисов или приема сообщения oт NotifyBootConfigStatus (в зависимости от того, какое из этих событий будет последним) SCM вызывает системную функцию NtInitializeRegistry для сохранения текущей конфигурации системы.

Сторонние разработчики программного обеспечения могут заменить определение успешного входа Winlogon собственным. Например, если в системе работает Microsoft SQL Server, загрузка считается успешной только после того, как SQL Server может принимать и обрабатывать транзакции. Разработчики указывают свое определение успешной загрузки, используя программу верификации загрузки и регистрируя ее местонахождение в параметре, который сохраняется в разделе реестра HKLMSYSTEMCurrentControlSetControlBootVerificationProgram. Кроме того, при установке программы верификации загрузки нужно отключить вызов Winlogon функции NotifyBootConfigStatus, присвоив параметру HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonReportBootOk значение, равное 0. Если такая программа установлена, SCM запускает ее, закончив обработку автоматически запускаемых сервисов. Перед сохранением последней удачной конфигурации SCM ждет вызова NotifyBootConfigStatus из этой программы.

9726552