Загрузка Windows Server в безопасном режиме

загрузка windows server в безопасном режиме

Для загрузки Windows Server в безопасном режиме используйте команду bcdedit /set safeboot minimal в командной строке от администратора, затем перезагрузите сервер. Для возврата в обычный режим выполните bcdedit /deletevalue safeboot и снова перезагрузитесь.

Когда нужен безопасный режим на сервере

Короче, безопасный режим на сервере нужен значительно реже, чем на обычном компе. Но бывают ситуации, когда без него никак. Синий экран при загрузке. Проблемный драйвер. Вирус, который не удаляется в обычном режиме. Или нужно удалить сбойную роль сервера.

На самом деле, загрузка сервера в безопасном режиме это крайняя мера. Пока сервер в Safe Mode, все его службы не работают: Active Directory, DNS, DHCP, файловые шары, всё стоит. Для продакшн-сервера каждая минута простоя это проблема.

Знакомый Антон работает сисадмином в небольшой компании. Его сервер HPE ProLiant ML350 Gen10 с Windows Server 2022 после установки обновлений начал уходить в синий экран (BSOD) при загрузке. Единственный выход: безопасный режим, откат обновлений, нормальная загрузка. Весь процесс занял 20 минут, но за это время 30 сотрудников остались без почты и файлов.

Способ 1: через bcdedit (основной)

Это самый надёжный и рекомендуемый способ для серверов. Открываем командную строку от администратора и выполняем:

bcdedit /set {current} safeboot minimal

Для безопасного режима с сетью (чтобы работал TCP/IP и сетевые адаптеры):

bcdedit /set {current} safeboot network

Затем перезагружаем сервер:

shutdown /r /t 0

Сервер загрузится в безопасном режиме. Вот в чём прикол: настройка bcdedit сохраняется. Это значит, что сервер будет загружаться в безопасном режиме при каждой перезагрузке, пока вы не отмените настройку.

Для возврата в нормальный режим:

bcdedit /deletevalue {current} safeboot
shutdown /r /t 0

Тут такое дело: не забудьте отменить safeboot. Если честно, я знаю случаи, когда сисадмины забывали это сделать, и сервер перезагружался в безопасном режиме в самый неподходящий момент (после планового обслуживания, например).

Способ 2: через msconfig

Нажимаем Win+R, вводим msconfig. Переходим на вкладку «Загрузка». Ставим галочку «Безопасный режим». Выбираем вариант: «Минимальная» (без сети) или «Сеть» (с поддержкой сети).

Нажимаем OK, перезагружаемся. Сервер загрузится в безопасном режиме.

Кстати, после работы в безопасном режиме не забудьте снять галочку в msconfig и перезагрузиться. Как и с bcdedit, настройка сохраняется между перезагрузками. Знаете что, лучше сразу после загрузки в Safe Mode первым делом зайти в msconfig и снять галочку, пока не забыли. Перезагрузка произойдёт только когда вы сами решите, но настройка уже будет сброшена.

А ещё msconfig удобнее bcdedit тем, что показывает визуально, включён ли безопасный режим. Не нужно запоминать команды и параметры. Но msconfig доступен только на серверах с графическим интерфейсом (Desktop Experience). На Server Core его нет.

Способ 3: через меню восстановления

Грубо говоря, этот способ подходит, когда сервер вообще не загружается. Вы не можете войти в систему и выполнить команды. Нужно попасть в среду восстановления (Windows Recovery Environment).

Как попасть в WinRE:

  • Принудительно выключите сервер три раза подряд во время загрузки (Windows автоматически запустит среду восстановления)
  • Загрузитесь с установочного носителя Windows Server и выберите «Восстановить компьютер»

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

Нажимаем F4 для безопасного режима или F5 для безопасного режима с сетью.

Способ 4: через удалённое подключение

Знаете что, не всегда есть возможность подойти к серверу физически. Если сервер доступен по RDP или PowerShell Remoting, можно переключить его в безопасный режим удалённо.

Через PowerShell Remoting:

Invoke-Command -ComputerName "SERVER01" -ScriptBlock {
    bcdedit /set "{current}" safeboot network
    Restart-Computer -Force
}

Но после перезагрузки в безопасном режиме RDP работать не будет (если не выбрали режим с сетью). PowerShell Remoting тоже не будет работать. Поэтому обязательно используйте safeboot network, если планируете управлять сервером удалённо.

А ещё учтите: в безопасном режиме с сетью RDP не запускается автоматически. Нужно использовать IPMI/iLO/iDRAC или консоль гипервизора для доступа.

Особенности безопасного режима на Server Core

Если у вас Windows Server Core (без графического интерфейса), ситуация немного другая. Нет msconfig, нет визуального меню загрузки. Только командная строка.

По факту, для Server Core единственный надёжный способ это bcdedit. Всё делается точно так же, только через командную строку или PowerShell.

Моя коллега Наталья управляет кластером из пяти серверов Server Core на Hyper-V (HP DL360 Gen10 Plus). Когда один из серверов начал падать в BSOD, она удалённо через iLO перешла в консоль, выполнила bcdedit и перезагрузила сервер в безопасном режиме. Удалила проблемный драйвер, откатила safeboot, перезагрузила. Всё заняло 15 минут.

Что можно делать в безопасном режиме

Безопасный режим загружает минимальный набор драйверов и служб. Это позволяет:

  • Удалить проблемный драйвер или программу
  • Откатить обновления Windows
  • Запустить антивирусное сканирование
  • Восстановить системные файлы (sfc /scannow)
  • Отредактировать реестр
  • Удалить сбойную роль сервера

А ещё в безопасном режиме можно получить доступ к файлам, которые заблокированы службами в нормальном режиме. Полезно для удаления вирусов или очистки базы данных.

Вот в чём прикол: в безопасном режиме не загружаются сторонние драйверы. Если сервер падает в BSOD из-за нового драйвера (видеокарта, сетевая карта, RAID-контроллер), Safe Mode позволит загрузиться и удалить проблемный драйвер через Device Manager. По факту это одна из самых частых причин использования безопасного режима на серверах — откат проблемного драйвера или обновления.

Ну и для восстановления Active Directory есть специальный режим: Directory Services Restore Mode (DSRM). Он доступен только на контроллерах домена и позволяет восстановить базу данных AD из бэкапа. Для входа в DSRM используется отдельный пароль, который задаётся при повышении сервера до контроллера домена. Не путайте его с обычным паролем администратора.

Важные предупреждения

Не оставляйте сервер в безопасном режиме дольше, чем необходимо. Все службы остановлены: AD, DNS, DHCP, файловые шары. Пользователи не могут работать. Каждая минута простоя — это потенциальные потери для бизнеса.

Всегда проверяйте, что вы отменили safeboot перед перезагрузкой в нормальный режим. Ну и делайте резервную копию данных перед любыми манипуляциями с загрузчиком.

Автоматическое восстановление safeboot через планировщик

Вот хитрый трюк, который спас не одного сисадмина. Перед включением безопасного режима создайте задание в планировщике, которое через 30 минут автоматически отключит safeboot и перезагрузит сервер в нормальный режим. Если вы забудете отменить safeboot вручную (или что-то пойдёт не так), сервер сам вернётся в рабочее состояние.

# Создаём задание через schtasks
schtasks /create /tn "DisableSafeboot" /tr "cmd /c bcdedit /deletevalue {current} safeboot && shutdown /r /t 60 /c "Returning to normal mode"" /sc once /st 14:30 /ru SYSTEM

Замените 14:30 на время, когда задание должно сработать (текущее время плюс 30-60 минут). Грубо говоря, это ваша страховка от забывчивости.

Мой знакомый Руслан, который администрирует серверы в дата-центре (около 40 виртуальных машин на Hyper-V), всегда создаёт такое задание перед переводом сервера в Safe Mode. Говорит, что дважды оно его спасало: один раз он забыл отменить safeboot, второй раз — потерял связь с консолью гипервизора из-за проблем с сетью.

Безопасный режим и кластеры

Тут такое дело: если сервер входит в отказоустойчивый кластер (Windows Failover Cluster), безопасный режим работает иначе. Кластерная служба не запускается в Safe Mode, и все ресурсы кластера (диски, IP-адреса, роли) будут недоступны на этом узле.

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

А ещё учтите, что в безопасном режиме не работают многие серверные роли. DNS-сервер не отвечает на запросы. DHCP не раздаёт адреса. Файловые шары недоступны. Если честно, для продакшн-сервера безопасный режим — это крайняя мера, когда все другие варианты исчерпаны.

Кстати, если вам нужна лицензия для Windows Server, в нашем магазине keytrust24.store есть ключики для всех актуальных версий.