Не работает пуск в Windows Server 2016, решаем за минуту

Не работает пуск в Windows Server 2016, решаем за минуту

Start Menu Not Working

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами научились создавать резервные копии сертификатов и копировать их в нужное вам расположение, в этом нам помогали две утилиты, robocopy и keytool. Сегодня же я с вами опять хочу заняться траблшутингом, а именно одной из неприятных ситуаций которая присутствует в операционной системе Windows Server, аж с 2012 года. Мы рассмотрим методы решения, когда у вас не работает пуск в Windows Server 2016. При попытке его открыть, просто ничего не происходит и вы лишаетесь огромного удобства связанного с этим.

Описание ситуации

В инфраструктуре предприятия есть отказоустойчивая RDS ферма на базе Windows Server 2016, на одном из RDSH серверов у пользователей возникла проблема, что при попытке открыть меню "Пуск" ничего не происходит, кнопка просто не реагирует. Это очень пагубно сказывается на работу сотрудников, так как не все из них могут запускать необходимые для них программы и не все знают, короткие команды для меню "Выполнить", через которые можно открывать кучу вещей. Как я и писал выше данный глюк еще существует со времен Windows Server 2012 и так же легко может встретиться и в Windows Server 2019, спасибо Microsoft.

Основные причины ломающие кнопку пуск в Windows Server 2016

Сразу хочу отметить, что в ряде случаев вам придется изрядно попотеть, чтобы восстановить работу меню пуск, и иногда быстрее просто переустановить сервер, если конечно на нем нет ничего такого экстраординарного. Хочу выделить вот такой список почему не работает пуск:

  • В системе завис процесс отвечающий за меню "Пуск"
  • Ваша система имеет поврежденные файлы и компоненты, например из-за вируса
  • В вашей системе слетели права на папку или ветку реестра, отвечающих за открытие кнопки пуск
  • Прилетело глючное обновление Windows
  • Сторонние утилиты, после установки которых идет конфликт в системе

Так как на устранение этой ошибки у меня ушло уйма времени и я перепробовал кучу всего, я решил все это структурировать и записать в виде отдельной статьи, в расчете, что мой путь будет кому-то полезен

Перезапускаем процесс отвечающий за работу кнопки пуск

Логично предположить, что в операционных системах Windows за любой компонент, отвечает тот или иной процесс и кнопка пуск, тут не исключение. За ее функционал отвечают два процесса:

  • Explorer.exe (Проводник)
  • StartMenuExperienceHost.exe (Запустить)

Зная, это я в первую очередь всегда советую попробовать их перезапустить, так как это просто и не потребует перезагрузки сервера. Для этого нажмите одновременно три кнопки CTRL+SHIFT+ESC, это запустит диспетчер задач, через который вы сможете выполнить нашу задумку.

Напоминаю, что данные методы и дополнительные я уже описывал в статье "Не открывается пуск в Windows 10"

Сразу отмечу, что найти процессы вы можете и на вкладке "Процессы", а так же на вкладке "Подробности". Разница в том, что на первой все почти будет по русски, а на второй все чисто системными именами. Процесс Explorer.exe в русской версии называется "Проводник", щелкаем по нему правым кликом мышки и из контекстного меню выберите пункт "Перезапустить" или "Снять задачу", иногда это требуется.

Перезапускаем процесс explorer.exe отвечающий за работу кнопки пуск

Процесс StartMenuExperienceHost.exe в русской версии называется "Запустить"

Перезапускаем процесс StartMenuExperienceHost.exe отвечающий за работу кнопки пуск

Ну и на вкладке "Подробности" вы можете найти все то же самое.

Перезапускаем процесс explorer.exe отвечающий за работу кнопки пуск

Перезапускаем процесс StartMenuExperienceHost.exe отвечающий за работу кнопки пуск

Если вы именно снимите задачу "Проводника", то у вас пропадет все и останется только диспетчер задач. Далее нажмите в верхнем меню "Файл - Создать задачу" и в открывшемся окне введите explorer.exe и нажмите "Enter". Это вернет вам проводник и не потребуется перезагрузка сервера

Запуск процесса Explorer.exe

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

Перезапуск службы поиска

Если перестал работать пуск, то из быстрых решений можете проверить, что у вас запущена служба поиска и сам процесс. Перейдите в оснастку службы (services.msc) и найдите там службу "Windows Search", убедитесь, что она запущена и что у нее тип запуска "Автоматически".

Что делать если перестал работать пуск

Так же откройте "Диспетчер задач", вкладка "Подробности". Найдите там SearchUI.exe и снимите у него задачу, он будет перезапущен.

Перезапуск процесса SearchApp.exe

То же самое вы можете найти и на вкладке "Процессы", тут уже будет "Поиск"

перестал работать пуск

Восстанавливаем работу пуск через средство диагностики

Следующим методом, я вам настоятельно рекомендую использовать разработанную в Microsoft утилиту "Средство диагностики и исправления проблем с кнопкой "Пуск (startmenu.diagcab)'".

Запускаем утилиту, она покажет, что будет искать проблемы с работой главного меню "Пуск". Нажмите далее.

Запускаем Средство диагностики и исправления проблем с кнопкой "Пуск

Утилита начнет сканирование и обнаружение проблем.

Проверка компонентов отвечающих за работу главного меню пуск

Через некоторое время вы получите результат. Если все хорошо, то статус будет "Модуль устранения неполадок не выявил проблемы"

Результат проверки работоспособности кнопки пуск

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

Дополнительные сведения из модуля проверки работы кнопки пуск

Что именно проверяет средство устранения неполадок по мимо установки пакетов. Проверяет, есть ли у текущего пользователя разрешения на доступ к следующему разделу реестра, и при необходимости исправляет списки управления доступом:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ DeviceAccess\Global

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

Reauired application are not installed correctly. Install the applications

Ругается, что компоненты не установлены.

“Microsoft.Windows.ShellExperienceHost” and “Microsoft.Windows.Cortana” applications are installed correctly

Reauired application are not installed correctly “Microsoft.Windows.ShellExperienceHost” and “Microsoft.Windows.Cortana” applications are installed correctly"

Как видите, он нам тонко намекает, что хорошо бы переустановить Microsoft.Windows.ShellExperienceHost.

“Microsoft.Windows.ShellExperienceHost” and “Microsoft.Windows.Cortana” applications are installed correctly

Как повторно зарегистрировать компоненты меню Пуск в Windows Server 2016

Очень часто меню "Пуск" может не работать из-за поврежденного или отсутствующего пакета. Никто вам не мешает заново зарегистрировать меню "Пуск" . С помощью Windows PowerShell вы можете сделать это возможным, инструкции по использованию которого упомянуты ниже. Обратите внимание, что для применения этого трюка вам необходимо войти в систему как администратор, поэтому, если ваша система является частью домена, это может не сработать, так как обычно у пользователей минимальные права на рабочей станции.

Первое, что вы должны сделать для того, чтобы заново зарегистрировать пакет отвечающий за ваше меню "Пуск", это запустить ОБЯЗАТЕЛЬНО в режиме администратора оболочку PowerShell. В окне PowerShell вам необходимо ввести вот такую команду:

Get-appxpackage -all *shellexperience* -packagetype bundle |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + “\appxmetadata\appxbundlemanifest.xml”)}

Как повторно зарегистрировать компоненты меню Пуск

После успешного выполнения команды вы можете закрыть окно PowerShell и перезагрузить компьютер. После перезапуска системы проблемы, с которыми вы столкнулись с меню "Пуск", должны быть решены.

Если вы потом по прежнему не можете взаимодействовать с кнопкой "Пуск" и средство проверки, все так же показывает отсутствие компонентов "Microsoft.Windows.ShellExperienceHost" and "Microsoft.Windows.Cortana", то причиной может быть ваш антивирус, например Comodo Internet Security или Symantec.

Удаление антивируса для ремонта кнопки "Пуск"

Бывают неприятные ситуации, когда программа, которая призвана вас защищать ломает вашу систему или ее компоненты, случаев таких полно. Если у вас в ОС есть антивирусные решения, отличные от защитника Windows, то можно попробовать их удалить (Avast, Comodo).

Удалять антивирус можно как и любую обычную программу, при желании можете скачать с сайта производителя специальную утилиту для этих вещей, обычно они есть у каждого антивируса. После удаления антивируса, обязательно перезагрузите сервер или компьютер. Далее когда система вновь загрузится, откройте PowerShell в режиме администратора и введите команды:

Get-AppxPackage Microsoft.Windows.ShellExperienceHost | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Get-AppxPackage Microsoft.Windows.Cortana | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Get-AppxPackage Microsoft.Windows.StartMenuExperienceHost | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Или перерегистрировать все сразу пакеты:

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

Перерегистрация пакетов “Microsoft.Windows.ShellExperienceHost” and “Microsoft.Windows.Cortana”

Далее откройте реестр Windows и перейдите в раздел:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WpnUserService

Находим тут ключ с именем "Start', щелкаем по нему двойным щелчком мыши и меняем значение на 4. После чего обязательно перезагрузите вашу систему. Это должно исправить ситуацию, когда не работает меню пуск в Windows.

ремонтируем реестр, когда не работает меню пуск в windows

Восстановление поврежденных компонентов в системе

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

Критическая ошибка: Меню "Пуск" и приложение Кортана не работают. Мы попытаемся исправить эту проблему при следующем выполнении входа.

Критическая ошибка меню пуск

Critical Error: Start menu and Cortana aren't working. We'll try to fix it the next time you sign in.

Critical error start menu

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

После того, как вы его загрузите и распакуете, вам нужно запустить от имени администратора файл ResetWUEng.cmd

Восстановление файловой системы когда не открывается кнопка пуск

В результате чего у вас будет запущен скрипт, на экране ознакомления вам нужно подтвердить, что вы его запускаете, для этого нажмите "Y".

Запускаем Reset Windows Update Tools

Перед вами появятся все возможности данного скрипта Reset Windows Update Tool. Нас будут интересовать пункты с 5-го по 11.

Стартовое меню Reset Windows Update Tools

Выбираем пятый пункт (Runs Chkdsk on the Windows Partition), чтобы проверить наш диск C:\ на наличие программных и физических ошибок. Вас уведомят, что это можно выполнить при следующей перезагрузке системы, подтвердите нажав клавишу "Y".

не работает кнопка пуск виндовс

Перезагрузите вашу систему. Для этого можно выбрать 19 пункт "Restarts your PC"

Проверка диска на ошибки

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

Проверка системы на ошибки

Выбираем шестой пункт "Run the System File Cheker Tool", по сути у вас будет запущена команда (sfc /scannow). Использование средства проверки системных файлов довольно длительный процесс, поэтому вам придется запастись терпением.

Ремнтируем кнопку пуск через утилиту sfc

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

Путь к файлу логу %WinDir%\Logs\CBS\CBS.log

Использование средства проверки системных файлов

Если у вас по прежнему не работает меню "Пуск", то выбираем пункт  8 "Checks the image for component store corruprion". У вас будет выполнена команда (dism /checkhealth). В идеале повреждений не должно быть. Если оно обнаружено, то переходим к пункту 9.

Проверка хранилища компонентов

Запускаем пункт "Perform repair operations automatically'". Это аналог команды (dism /online /cleanup-image /restorehealth). Через некоторое время, все должно быть восстановлено.

Perform repair operations automatically

Если восстановление не получилось, то необходимо открывать лог файл и смотреть ошибки. Найти их можно по пути:

C:\Windows\Logs\DISM\dism.log

Лог файл dism

Если по каким-то причинам у вас нет возможности скачать мой скрипт, или у вас нет на сервере интернета, то просто выполните по очереди команды:

  • sfc /scannow
  • DISM /Online /Cleanup-Image /ScanHealth
  • DISM /Online /Cleanup-Image /CheckHealth
  • DISM /Online /Cleanup-Image /RestoreHealth

не забываем потом перезагрузиться.

Переходим к 11 пункту (Deletes any incorrect registry values) и постараемся удалить старые и неправильные записи в реестре.

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

Ремонт реестра, когда не работает меню пуск

Если у вас нет возможности скачать скрипт описанный выше, то вы можете так же в командной строке выполнить код:

sfc /scannow & DISM /Online /Cleanup-Image /ScanHealth & DISM /Online /Cleanup-Image /CheckHealth & DISM /Online /Cleanup-Image /RestoreHealth

Восстановление базы данных TileDataLayer

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

У вас должна быть учетная запись, в которой нет проблем с меню "Пуск", так как вам нужны хорошие копии базы данных TileDataLayer для копирования. Это можно сделать с другого сервера с Windows Server 2016

Алгоритм действий такой.

  • Вы заходите на сервер с Windows Server 2016, где работает кнопка "Пуск". Обязательно убедитесь, что у вас там есть две учетные записи с административными правами, это связано с тем, что когда сессия пользователя активна, у нее используются файлы из папки TileDataLayer , они заблокированы, поэтому вам и нужно их скопировать со второй учетной записи, которая в данный момент не активна на сервере. Папка лежит по пути "%LOCALAPPDATA%\TileDataLayer\Database"

Восстановление базы данных TileDataLayer

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

C:\Users\ваш логин\AppData\Local

  • Переименуйте или удалите папку Packages, лично я переименовал в папку Packages.old
  • Удалите или переименуйте файл UsrClass.dat по пути "C:\Users\логин сбойной учетки\AppData\Local\Microsoft\Windows\UsrClass.dat". Я переименовал его в UsrClass.old

Восстановление кнопки пуск в профиле пользователя

  • Далее вам нужно заменить битую папку TileDataLayer на рабочую, ту что вы скопировали с другого сервера. Напоминаю, куда ее подложить "C:\Users\логин поврежденной учетки\AppData\Local\TileDataLayer\Database"
  • Перезагружаемся и проверяем работу меню "Пуск"

Проверка политики Applocker

Applocker - действительно хорошая функция, но, как и все функции безопасности, у нее есть некоторые подводные камни. Один из них заключается в том, что если вы включите Applocker в Windows 10 или Windows Server 2016,  то кнопка "Пуск" больше не будет работать. Если щелкнуть левой кнопкой мыши, ничего не произойдет.

Если у вас есть контроллер домена Windows 2008 R2, то вы не увидите "Правила для упакованных приложений" в консоли управления групповой политикой. Вам нужно будет создать эту политику на сервере Windows Server 2012 или выше с GPMC. Чтобы решить эту проблему, вам необходимо создать правила для упакованных приложений в групповой политике Applocker. Для этого выполните следующие действия

  • Перейдите в "Конфигурация компьютера - Политики - Конфигурация Windows - Параметры безопасности - Политики управления приложениями - Applocker"
  • 2. Щелкните правой кнопкой мыши "Правила пакетных  приложений"  и выберите "Создать правила по умолчанию".

Правила пакетных  приложений

Создание новой учетной записи

Нужно выяснить является ли проблема на уровне сервера или же на уровне вашей учетной записи. Для это вы можете в случае с доменным компьютеров попробовать войти под другой учетной записью и проверить открывается ли пуск или нет. В случае с обычным серверов Windows Server 2016, который находится в рабочей группе, я вам советую создать новую учетную запись и проверить уже под ней. Для этого в командной строке в режиме администратора введите:

net user имя пользователя пароль /add (В моем примере net user pusk 123456 /add)

Создание нового пользователя из командной строки

Далее пробуем зайти под новым пользователем, если вы используете удаленное подключение к рабочему, столу то не забываем дать учетной записи административные права

Проверка меню пуск из под нового пользователя

Отключение некоторых функций меню "Пуск"

Что еще делать если не работает пуск? Вы можете проверить не активирована ли у вас опция "Открывать начальный экран в полноэкранном режиме". Для этого вызовите окно "Выполнить" и введите в нем:

ms-settings:personalization-start

ms-settings:personalization-start

Уберите ползунок с опции "Открывать начальный экран в полноэкранном режиме".

 

Открывать начальный экран в полноэкранном режиме

Если у вас есть проблемы с файловой системой, то можете получить ошибку:

ms-settings:personalization-start the wait operation timed out

Нужно снова проверить ее на ошибки через утилиты sfc и DISM.

ms-settings:personalization-start the wait operation timed out

Не работает пуск из за UPD дисков

Очень часто на RDS ферме используются UPD диски, из-за которых может не работать панель пуска, казалось, что это было решено до появления Spectre patch, а затем снова вернулось. Когда это происходит, в %localappdata%\Packages присутствует только 1 или 2 папки, должно быть 15. Вот пример скрипта Powershell, который вам поможет это исправить, запускать необходимо в контексте пользователя у которого не работает кнопка пуск.

$packages = Get-ChildItem -Path "$env:USERPROFILE\AppData\Local\Packages"

if($packages.count -lt 14){

$apps = Get-ChildItem -Recurse -Path "C:\Windows\SystemApps","C:\Windows\ImmersiveControlPanel", "C:\Windows\PrintDialog","C:\Windows\MiracastView" -Include "AppXManifest.xml"

Foreach($app in $apps){
Add-AppxPackage -DisableDevelopmentMode -Register "$app" -Verbose}
}
Else{
$null}

Скачать готовый скрипт - https://cloud.mail.ru/public/5NZx/4rrcJzqNr

Восстановление поврежденного профиля

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

Обязательно сохраните все данные из поврежденного профиля

  1. Войдите на сервер с другой учетной записью администратора.
  2. Удалите профиль пользователя в c:\users\<поврежденный профиль>
  3. Перейдите в реестр к ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion \ ProfileList
  4. Изучите каждую запись SID для "ProfileImagePage REG_EXPAND_SZ" C:\users<поврежденный профиль>"
  5. Удалить запись SID.
  6. Выйти
  7. Войдите как пользователь <поврежденный профиль>, чтобы создать новый профиль.

Не работает пуск из-за брандмауэра

Не знаю в чем прикол, но в ряде случаев вам потребуется выполнить удаление ключей реестра отвечающих за правила брандмауэра и заново их воссоздание. Запустите в PowerShell команды:

Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess \Parameters\FirewallPolicy\RestrictedServices\Configurable\System"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess \Parameters\FirewallPolicy\RestrictedServices\Configurable\System"
Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess \Parameters\FirewallPolicy\FirewallRules"
New-Item "HKLM:\SYSTEM\CurrentControlSet\Services\SharedAccess \Parameters\FirewallPolicy\FirewallRules"
Remove-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion \Notifications" -Recurse
New-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Notifications"

Скачать готовый скрипт - https://cloud.mail.ru/public/3mKR/NZtmoQS95

Удаление Dropbox

Если у вас на сервере Windows Server 2016 установлена старая версия Dropbox, то попробуйте ее удалить и если она вам нужна поставьте более свежую версию.

Отключение UAC

Если у вас были манипуляции с правами и кнопка пуск перестала открываться, то попробуйте отключить UAC, чтобы удостовериться является ли он причиной или нет.

Удаление обновления

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

На этом у меня все, я постарался собрать все известные мне методы, которые могут помочь вам решить проблему с неработоспособностью меню "Пуск". С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *