Картина знакома до боли. Машина прошла начальную загрузку, появился экран приветствия с крутящимся кружком, и на нём всё замерло. Десять секунд, двадцать, полминуты, а рабочий стол всё не показывается. Пользователь сидит и смотрит на этот кружок, теряясь в догадках, завис компьютер или просто думает. Самое коварное в долгом экране приветствия то, что это не самостоятельная поломка, а симптом, за которым может скрываться добрая дюжина совершенно разных причин. И пока не выяснишь, какая именно, бороться бесполезно, ведь лечение одной причины бессильно против другой.
Именно поэтому диагностика тут важнее, чем готовые рецепты из сети. Совет, помогший одному, другому не даст ничего, потому что у них корень разный. У кого-то виноват сетевой профиль, ждущий недоступный сервер. У кого-то повреждённый профиль пользователя. У кого-то сценарий входа, упёршийся в недостижимый ресурс. У кого-то даже банальная картинка фона особым образом тормозит готовность стола. Разобраться, какой из этих сценариев твой, и есть главная задача. Стоит её решить, и лечение находится почти само.
Что на самом деле происходит за приветственным экраном
Чтобы диагностировать, надо понимать, что система делает, пока висит этот экран. Приветственный экран это не пустая пауза, а время, за которое система готовит рабочее окружение пользователя. После того как личность подтверждена, начинается череда подготовительных работ: загружается профиль пользователя со всеми его настройками, применяются групповые политики, отрабатывают сценарии входа, подтягиваются сетевые подключения, рисуются значки рабочего стола. Пока всё это не завершится, человек видит лишь крутящийся кружок.
Ключевая мысль в том, что экран висит ровно столько, сколько длится самый медленный из этих этапов. Если хоть один из них упирается в проблему, скажем сценарий входа ждёт ответа от сервера, которого нет, весь экран приветствия растягивается на время этого ожидания. Остальные этапы давно отработали, а система всё равно держит экран, потому что ждёт застрявший. Поэтому диагностика сводится к выявлению, какой именно этап тормозит, ведь именно он и есть истинный виновник, а долгий экран лишь его внешнее проявление.
Любопытный факт, показывающий, насколько неочевидны бывают причины. Известен случай, когда экран приветствия задерживался ровно на полминуты у тех, кто выбрал сплошной цветной фон рабочего стола вместо картинки. Корень был в тонкой ошибке кода, из-за которой при определённой настройке фона система не получала вовремя сигнал о готовности значков рабочего стола и упрямо ждала истечения таймаута. История поучительна тем, что причина долгого экрана может прятаться в самом неожиданном месте, никак на первый взгляд не связанном с входом.
Сетевые причины как самый частый источник задержек
Чаще всего долгий экран приветствия растёт из сетевых корней, особенно на машинах в доменной сети. При входе система обращается к сетевым ресурсам: проверяет подлинность на контроллере домена, применяет групповые политики с сервера, выполняет сценарии входа, подключает сетевые диски. Если какой-то из этих ресурсов недоступен или отвечает медленно, система терпеливо ждёт, и это ожидание целиком ложится на экран приветствия. Машина при этом исправна, тормозит не она, а недостижимый сервер на том конце.
Классический сценарий это сценарий входа, упёршийся в недоступный ресурс. Если при входе должен отработать скрипт, обращающийся к сетевой папке, которой больше нет, или к серверу, который выключен, скрипт будет ждать своего таймаута, держа экран приветствия всё это время. Похожая история с сетевыми дисками, настроенными на подключение при входе: когда сервер недоступен, попытка подключения тянется до истечения отведённого срока, и человек смотрит на кружок, пока система ждёт.
Распознать сетевую причину помогает простой опыт. Если вход проходит долго, когда машина в сети, но быстро, когда сеть отключена, виноват именно какой-то сетевой этап. Первым делом смотрят список подключённых сетевых дисков, среди которых и прячутся обращения к мёртвым ресурсам:
net use
Найдя в списке диск, ведущий к недоступному серверу, его отключают, убирая источник зависания:
net use Z: /delete
Это разделение сразу сужает поиск: значит, надо смотреть сценарии входа, сетевые диски, групповые политики и обращения к серверам. Часто оказывается, что в настройках осталось обращение к давно несуществующему ресурсу, и достаточно убрать этот мёртвый адрес, чтобы экран приветствия снова стал мгновенным. Мёртвые сетевые ссылки в настройках входа это одна из самых частых и легко устранимых причин.
Повреждённый профиль пользователя и его признаки
Вторая крупная группа причин это проблемы с самим профилем пользователя. Профиль это хранилище всех персональных настроек, и его загрузка часть подготовки рабочего стола. Если профиль повреждён, разросся до неприличия или система не может его нормально загрузить, экран приветствия затягивается, пока система борется с проблемным профилем. Иногда дело кончается тем, что система входит во временный профиль, и человек обнаруживает, что все его настройки и файлы рабочего стола пропали, хотя на деле они целы, просто загрузился не тот профиль.
Признаки проблемы с профилем довольно характерны. Если долгий вход касается только одного пользователя, а другие на той же машине входят быстро, подозрение сразу падает на профиль этого человека. Универсальная причина, общая для всех учётных записей, обычно бьёт по всем одинаково, а вот беда с конкретным профилем выборочна. Это наблюдение, кого именно затрагивает задержка, мощно сужает диагностику: проблема у всех или у одного, и от ответа зависит всё дальнейшее направление поиска.
Проверить гипотезу о профиле можно, создав нового тестового пользователя и войдя под ним. Если новый пользователь входит мгновенно, а старый по-прежнему долго, значит, корень в профиле старого, и лечение лежит в его починке или пересоздании. Если же и новый пользователь входит так же долго, профиль ни при чём, и копать надо в общесистемных причинах вроде служб, сети или повреждённых системных файлов. Этот нехитрый тест с новым пользователем разом разделяет два больших класса причин и экономит уйму времени, направляя дальнейшие усилия в верное русло.
Системные и программные причины помимо сети и профиля
Когда сеть и профиль исключены, остаётся третья группа причин, общесистемная. Сюда входят повреждённые системные файлы, проблемные службы, конфликты программ, неполадки оборудования. Повреждение системных файлов способно затягивать вход самыми разными путями, и для проверки этой гипотезы есть штатное средство, сканирующее целостность системных файлов и восстанавливающее повреждённые. Запускается оно из командной строки с правами администратора:
sfc /scannow
Эта команда проходит по системным файлам, сверяет их с эталоном и чинит те, что повреждены. Если же само хранилище эталонных компонентов повреждено, проверка целостности может не справиться, и тогда сначала восстанавливают само хранилище средством обслуживания образа:
DISM /Online /Cleanup-Image /RestoreHealth
После восстановления хранилища повторный запуск проверки системных файлов уже отрабатывает как надо. Если долгий вход рос из испорченных системных компонентов, после починки и перезагрузки экран приветствия нередко приходит в норму. Сканирование занимает время, но это один из первых шагов, когда не видно явной сетевой или профильной причины, ведь повреждённые файлы дают самые разнообразные и трудноуловимые симптомы.
Отдельного внимания заслуживают службы и программы, цепляющиеся к входу. Тяжёлая программа, стартующая при входе и устраивающая бурю, способна затянуть появление отзывчивого рабочего стола, даже если формально экран приветствия уже сменился. Здесь смыкаются диагностика долгого входа и чистка автозапуска: разгрузив старт от прожорливых программ, нередко облегчают и ощущение долгого приветствия. Помогает и проверка в безопасном режиме, при котором система грузит лишь самый минимум. Перевести машину в безопасный режим на следующую загрузку можно командой настройки загрузчика:
bcdedit /set {current} safeboot minimal
После проверки безопасный режим отменяют, убрав этот параметр, чтобы вернуться к обычной загрузке:
bcdedit /deletevalue {current} safeboot
Если в безопасном режиме вход быстрый, значит, виновата какая-то из обычных программ или служб, и её вычисляют, выборочно отключая.
Последовательность диагностики, которая ведёт к причине
Чтобы не метаться, полезно держать в голове порядок проверки, идущий от простого к сложному и от частого к редкому. Первым делом выясняют, кого затрагивает задержка: всех пользователей или одного. Это разом делит причины на профильные и общесистемные. Затем проверяют сетевую гипотезу, сравнивая вход в сети и без неё, что отсекает или подтверждает сетевые корни. Эти два вопроса в начале диагностики снимают большую часть неопределённости и направляют все дальнейшие действия.
Дальше, в зависимости от ответов, идут прицельно. Если виноват профиль, тестируют нового пользователя и при подтверждении чинят или пересоздают проблемный профиль. Если виновата сеть, ищут мёртвые ссылки в сценариях входа, сетевых дисках и политиках, убирая обращения к недоступным ресурсам. Если ни то ни другое, проверяют целостность системных файлов, заглядывают в безопасный режим, перебирают службы и программы. Этот разветвлённый, но логичный маршрут почти всегда выводит на истинную причину, не давая распыляться на случайные советы.
Важно сопротивляться соблазну хвататься за первый попавшийся рецепт из сети, не определив свою причину. Долгий экран приветствия тем и коварен, что одинаков на вид при совершенно разных корнях, и чужое работающее решение легко окажется бесполезным или даже вредным в твоём случае. Дисциплина последовательной диагностики, при которой каждый шаг подтверждает или отметает конкретную гипотезу, отличает того, кто чинит причину, от того, кто наугад применяет советы, иногда случайно попадая, а чаще лишь теряя время и запутывая картину ещё сильнее.
Как измерить задержку точно и заглянуть в журналы входа
Субъективное ощущение долгого входа обманчиво, и для трезвой диагностики полезно опереться на точные данные, которые система ведёт сама. При каждом входе она записывает в свои журналы события, отмечающие этапы загрузки и их длительность. Эти события поднимают запросом к журналу через командную строку, отбирая записи о медленных этапах входа:
Get-WinEvent -LogName "Microsoft-Windows-GroupPolicy/Operational" -MaxEvents 50
По таким записям можно увидеть не размытое впечатление, а конкретные цифры: сколько заняла подготовка профиля, сколько отработали политики, сколько тянулись сценарии входа. Этот объективный взгляд часто сразу указывает на застрявший этап, избавляя от гадания.
Особенно ценны события, в которых система прямо предупреждает о медленных этапах входа. Когда какой-то этап превышает разумный порог, система фиксирует это отдельной записью с указанием, что именно затянулось и насколько. Увидев в журнале такое предупреждение про, скажем, обработку групповой политики, диагност получает прямую наводку на виновника, а не блуждает вслепую. Чтение этих записей превращает диагностику из шаманства в чтение показаний приборов, что куда надёжнее любых догадок.
Полезно понимать и разницу между временем до экрана приветствия и временем самого экрана. Иногда машина быстро доходит до приветствия, но потом долго висит на нём, а иногда наоборот, долго возится до приветствия, а сам экран мелькает мгновенно. Это разные стадии с разными причинами, и важно определить, какая именно тормозит. Долгое ожидание до приветствия чаще указывает на службы и оборудование, а долгий сам экран на профиль, сеть и подготовку рабочего стола. Это уточнение, на какой именно стадии теряется время, дополнительно сужает круг подозреваемых.
Стоит держать в уме и фактор накопления. Долгий вход редко появляется внезапно на ровном месте, чаще он подкрадывается постепенно по мере того, как обрастает мёртвыми ссылками, тяжелеет профиль, копятся службы и программы. Поэтому в диагностике помогает вопрос, с какого момента всё началось и что менялось примерно тогда же. Установили новую программу, добавили сетевой диск, сменили настройку, любое из этих событий могло стать спусковым крючком. Связав начало задержек с конкретным изменением, нередко выходят на причину быстрее, чем перебором всех возможных вариантов подряд.
Долгий экран приветствия перестаёт пугать своей загадочностью, стоит увидеть в нём не болезнь, а симптом, за которым стоит вполне определённая причина из ограниченного набора. Сеть, профиль, системные файлы, программы, вот основные подозреваемые, и каждый отсеивается или подтверждается простой проверкой. Выяснив, кого затрагивает задержка и зависит ли она от сети, диагност отсекает большую часть вариантов уже на первых шагах. А дальше остаётся прицельно добить найденную причину, после чего крутящийся кружок снова уступает место рабочему столу за считаные секунды, как и было задумано.