Инструменты пользователя

Инструменты сайта


Боковая панель

Общие вопросы

Решения Кварта Технологии

Системы Windows Embedded/IoT, кроме Compact

Лицензирование, активация и ключи продукта

Загрузка, устройства и драйверы

Разработка, развертывание, тиражирование, обслуживание и обновления

Компоненты для встраивания и брендирование

Системы Windows Embedded Compact

Разработка образа

Эксплуатация и обслуживание образа

.NET Micro Framework

Другое

public:windows:servicing:logon_password_expired

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

Материалы данной статьи относятся к системам Windows Embedded Standard 7/8, POSReady 7, Industry 8/8.1/8.1 Update

Используйте решение, приведенное в данной статье, если сразу после установки или через месяц после начала эксплуатации при входе в систему появляется пустой экран и система не отвечает ни на какие действия

В Windows Embedded существует возможность автоматического входа в систему (AutoLogon), при неверной настройке которой после загрузки системы появляется черный экран, а сама система не отвечает ни на какие команды (в т.ч. нажатия Ctrl-Alt-Del и других служебных комбинаций).

Данная ситуация возникает при одновременном выполнении следующих условий:

  • При подготовке файла ответов с использованием инструмента Image Configuration Editor (ICE) в настройках компонента Embedded Core (подразделы AutoLogon, UserAccounts) добавлен пользователь с пустым полем пароля (что естественно для учетных записей, с использованием которых осуществляется автоматический вход в систему).
  • В настройках компонента Custom Logon выключены все элементы интерфейса экрана входа в систему (BrandingNeutral = 1), а сам экран входа в систему скрыт (HideAutoLogonUI = 1), что также естественно для автоматического входа в систему.

Либо:

  • Не было отключено устаревание паролей для одной из учетных записей.
  • С этой учетной записью происходит автоматический вход в систему.
  • В настройках компонента Custom Logon выключены все элементы интерфейса экрана входа в систему (BrandingNeutral = 1), а сам экран входа в систему скрыт (HideAutoLogonUI = 1), что также естественно для автоматического входа в систему.
  1. В первом случае система считает, что для пользователя, с учетной записью которого производится автоматический вход в систему, пароль не задан и при входе предлагает его создать;
  2. Во втором случае система предлагает обновить пароль, выводя соответствующее приглашение.

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

Чтобы избежать описанной ситуации в первом случае, следует на этапе подготовки файла ответов в ICE явно указать при настройке компонента Embedded Core, что пользователю задан пустой пароль. Для этого следует:

  • В панели Configuration File выбрать компонент Products\Embedded Core;
  • В панели Settings выбрать фильтр 7 OOBE Settings;
  • Там же последовательно развернуть разделы UserAccounts\LocalAccounts, далее раздел LocalAccount, соответствующий учетной записи, с помощью которой будет производиться автоматический вход в систему, затем убедиться, что поля Action, Group, Name правильно заполнены. Здесь же развернуть раздел Password, нажать правым кликом на строку Value и выбрать в контекстном меню Write Empty String;
  • Аналогично развернуть раздел AutoLogon, убедиться, что заполнены поля Username и Enabled, в поле Password\Value явно задать пустой пароль с помощью контекстного меню.

В данном случае важно то, что если вы не указываете пустой пароль явно (Write Empty String), то он считается не заданным вообще, даже если вы вошли в поле Password\Value и нажали в нем Tab или Enter.

Если нет желания тратить время на развертывание системы с нуля, существует способ исправить положение на уже развернутой системе за 2-3 минуты. Для этого следует загрузиться не в развернутую систему, а на той же машине в Image Builder Wizard (IBW) или Windows PE (загрузочные образы доступны в Toolkit или могут быть созданы прямо из ICE) и запустить командную строку. Далее следует:

  • Определите, на каком логическом диске установлена ОС WE8S одним из двух способов: перебором дисков, начиная с a: командами dir a:\, dir b:\ и т.д. Диск с ОС можно узнать по характерной структуре корневого каталога. Другой способ подразумевает использование утилиты diskpart: наберите в командной строке
diskpart
list volume

и определите диск с системой. Выйдите из утилиты командой

exit
  • Примонтируйте ветвь HKLM\System реестра развернутой системы в ветвь HKLM\temp загруженной системы следующей командой:
reg load hklm\temp c:\windows\system32\config\system

где c: - логический диск, буква которого определена в предыдущем пункте.

  • Выключите автоматический вход в развернутую систему:
reg add "hklm\temp\Software\Microsoft\Windows NT\CurrentVersion\WinLogon" /v AutoAdminLogon /t REG_SZ /d 0

Подтвердите перезапись параметра.

  • Размонтируйте примонтированную ранее ветвь реестра:
reg unload hklm\temp

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

В появившемся окне:

  • Под надписью Users for this computer выберите учетную запись пользователя, с которой осуществляется автоматический вход в систему;
  • Снимите флажок «Users must enter a user name and password to use this computer» и нажмите Apply;
  • В окне «Automatically sign in» нажмите OK;
  • В окне «User Accounts» нажмите OK;

Перезагрузитесь и убедитесь, что AutoLogon работает верно и не приводит к появлению черного экрана.

Во втором случае с помощью апплета lusrmgr.msc перед захватом мастер-образа необходимо отключить устаревание паролей. Если это не было сделано, а система уже не функциональна, можно действовать таким же способом, как и в первом случае, или просто перевести дату в BIOS/UEFI на месяц назад, установить правильные настройки, а затем вернуть дату в правильное состояние.

public/windows/servicing/logon_password_expired.txt · Последние изменения: 2015/07/23 16:17 (внешнее изменение)