Одной из причин нарушения загрузки системы в защищенном режиме может быть удаление ключа реестра HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot с настройками загрузки в защищенном режиме. Данный ключ повреждается некоторыми вредоносными программами, в частности - червем Bagle.
Восстановление ключа реестра SafeBoot вручную
С технической точки зрения ключ SafeBoot содержит два подключа - Minimal и Network. Восстановить повреждение можно двумя путями: при помощи резервной копии или про помощи REG файла, в который были экспортированы данные ключи с ПК, содержащего аналогичную версию Windows. Второй вариант не совсем корректный, но при отсуствии резервной копии может помочь. В частности, вот REG файл для XP SP2
Кроме того, есть еще один метод восстановления испорченных ключей. Как известно, в самом реестре есть копии ключа SafeBoot. Они находятся в HKLM\SYSTEM\CurrentControlSet001\Control\SafeBoot и HKLM\SYSTEM\CurrentControlSet002\Control\SafeBoot. Следовательно, можно попробовать следующую операцию:
1. Экспортировать HKLM\SYSTEM\CurrentControlSet001\Control\SafeBoot
2. В полученном REG файле заменить "CurrentControlSet001" на "CurrentControlSet" (REG файл текстовый, поэтому заменить несложно)
3. Импортировать модифицированный файл
Данная операция может быть успешной сразу после запуска повреждающей ключ реестра вредоносной программы, до перезагрузки.
Автоматическое восстановление ключа реестра SafeBoot
Для автоматического восстановления в базы AVZ начиная с 23.2006 введена микропрограмма, производящее восстановление удаленных ключей реестра. Она называется "Восстановление настроек загрузки в SafeMode" и может быть запущена через "Файл/восстановление системы". Набор восстанавливаемых ключей определяется автоматически, поддерживаются W2K, XP, W2K3.