Безопасный режим в Windows отличается от обычного режима в первую очередь процедурой загрузки, при которой загружаются не все службы и драйвера. Это сделано для того, чтобы запуск драйверов и служб, срывающих загрузку Windows, был невозможен. Однако эти ограничения не относятся к драйверам, которые загружаются до запуска ядра Windows, то есть у которых параметр Start равен 0.

Белый список служб и драйверов хранится по адресу HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network для безопасного режима с поддержкой сети, и по адресу HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal для обычного (минимального) безопасного режима. По этим адресам хранится список ключей реестра. Каждый ключ может разрешить загрузку для:
  • драйвера
  • службы
  • группы служб и драйверов
  • класса устройств
То, что из перечисленного разрешает ключ, определяется значением его строкового параметра "По умолчанию" (default). Для записи, разрешающей запуск драйвера, устанавливается значение Driver, для службы - соответственно, значение Service. Имя ключа должно совпадать с именем ключа службы или драйвера в разделе HKLM\SYSTEM\CurrentControlSet\Services.
Для группы служб или драйверов указывается значение Driver Group. В этом случае имя ключа должно совпадать с тем, что указано в параметре Group по адресу HKLM\SYSTEM\CurrentControlSet\Services\имя_службы.
Для классов устройств указывается строковое имя, соответствующее этому же классу в разделе HKLM\SYSTEM\CurrentControlSet\Control\Class\GUID_класса. Имя ключа должно совпадать с GUID класса устройств.

Зная все эти особенности, можно заставить Windows загружать в безопасном режиме те драйвера, которые вам нужны - в том числе видеодрайвера. Кроме того, можно разрешить загрузку всех групп служб и драйверов, а также драйверов всех классов устройств. Отличие такого расширенного вручную безопасного режима от обычного будет в следующем:
  • не будут загружаться драйвера, программы и службы, в коде которых указан запрет на запуск в безопасном режиме;
  • окна будут отображаться в классическом стиле, без тем оформления.
  • свежеустановленные службы и драйвера, для которых не указана группа (параметр Group), не будут запускаться, пока вы не добавите их в белый список в соответствии с вышеуказанными правилами.
  • не будет проверяться активация Windows;

Данный способ разрешить запуск всего в безопасном режиме проверялся и работает, но при проверке выявилось несколько особенностей.
Во-первых, добавление драйвера в список разрешенных в безопасном режиме ещё не значит, что его запуск будет разрешен. По каким-то причинам этот способ работает не для всех драйверов, какой-либо четкой закономерности выявить не получилось. Добавление группы драйверов работает всегда. Если для драйвера не указана группа, и простым добавлением драйвера в белый список не удается разрешить его запуск, потребуется назначить ему группу.
Во-вторых, зависимости драйверов и служб, не отраженные в реестре в параметре DependOnService, могут внезапно проявить себя и стать причиной, по которой часть драйверов не запустится. В Windows 7 и выше такое может происходить из-за того, что разработчики драйверов забыли указать зависимость видеодрайвера от системного драйвера DxgKrnl, который в безопасном режиме сам не запустится.