Добавить в корзинуПозвонить
Найти в Дзене

Недостаточно системных ресурсов Windows 7

Всё началось с того, что Kaspersky Endpoint Security перестал запускаться, падая с ошибкой (какой именно — уже неважно). Попытка удалить его тоже заканчивалась сбоем — после длительного процесса деинсталляции выскакивало сообщение об ошибке. Параллельно перестали работать системные операции: при установке обновлений Windows, запуске sfc или dism появлялась ошибка: «Недостаточно системных ресурсов для завершения операции» В журнале C:\Windows\Logs\CBS\CBS.log фиксировались сообщения о невозможности загрузить куст реестра COMPONENTS: Info CBS Starting TrustedInstaller initialization.
Info CBS Loaded Servicing Stack v6.1.7601.25734...
Info CBS Failed to load the COMPONENTS hive...
[HRESULT = 0x800705aa - ERROR_NO_SYSTEM_RESOURCES]
Info CBS Failed to load WCP DLL...
Info CBS Failed to initialize CBS Core...
Info CBS Failed to initialize Trusted Installer... В интернете по этой ошибке чаще всего советуют снимать ограничения на используемую системой память через измене
Оглавление

Всё началось с того, что Kaspersky Endpoint Security перестал запускаться, падая с ошибкой (какой именно — уже неважно). Попытка удалить его тоже заканчивалась сбоем — после длительного процесса деинсталляции выскакивало сообщение об ошибке.

Параллельно перестали работать системные операции: при установке обновлений Windows, запуске sfc или dism появлялась ошибка:

«Недостаточно системных ресурсов для завершения операции»

В журнале C:\Windows\Logs\CBS\CBS.log фиксировались сообщения о невозможности загрузить куст реестра COMPONENTS:

Info CBS Starting TrustedInstaller initialization.
Info CBS Loaded Servicing Stack v6.1.7601.25734...
Info CBS Failed to load the COMPONENTS hive...
[HRESULT = 0x800705aa - ERROR_NO_SYSTEM_RESOURCES]
Info CBS Failed to load WCP DLL...
Info CBS Failed to initialize CBS Core...
Info CBS Failed to initialize Trusted Installer...

В интернете по этой ошибке чаще всего советуют снимать ограничения на используемую системой память через изменения реестра. Но в моём случае эти рекомендации не дали результата.

Неожиданное открытие

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

Размер файла %windir%\System32\config\SOFTWARE достиг… 2 ГБ.

Позже нашёл упоминание на сайте Microsoft, что в Windows 7 размер отдельных кустов реестра ограничен примерно 2 ГБ. То есть система упёрлась в физический предел.

Где скрывалась причина

При обходе подразделов нашёл гигантское раздутие в ветке:

HKLM\SOFTWARE\Wow6432Node\KasperskyLab\KES\watchdog\MessageQueue\PatchEvents

Внутри находилось более двух миллионов (!) подразделов, и в каждом — несколько параметров. Это объясняло всё:

  • открытие раздела занимало 5+ минут;
  • любые операции с ним шли черепашьими темпами;
  • файл SOFTWARE разросся до предельного размера.

После удаления содержимого этой ветки экспорт SOFTWARE стал весить всего 80 МБ, что подтвердило масштаб проблемы.

Как восстановить работоспособность

Чтобы система заработала корректно, необходимо очистить и пересоздать куст SOFTWARE:

  1. Загрузиться в среду, где раздел Windows не активен (например, с LiveCD/WinPE).
  2. Открыть редактор реестра (regedit или аналог).
  3. Подгрузить куст SOFTWARE из

    %windir%\System32\config\SOFTWARE.
  4. Очистить проблемный раздел (в моём случае — Kaspersky PatchEvents).
  5. Экспортировать очищенный куст в новый файл реестра.
  6. Заменить исходный файл SOFTWARE свежим экспортом.
  7. Сделать резервные копии перед любыми действиями — это обязательно.

После восстановления размера куста система успешно загружает TrustedInstaller и выполняет установку обновлений, sfc и dism работают штатно.

Содержание разделов
Содержание разделов
Подразделы ветки
Подразделы ветки
Свойства раздела
Свойства раздела