1

У меня проблема с разрешениями реестра. Во время использования моего компьютера он зависает из-за проблем с контроллером SSD. После перезагрузки и замены SATA на SSD - ПК смог распознать SSD и запустить Windows 8.1. Но похоже, что разрешения для служб в реестре испорчены. Многие службы не могут запуститься из-за проблемы с Access Denied в доступе .

Process Monitor сообщает, что они пытались получить доступ к разделу HKLM\System\CurrentControlSet\Control\ . Мои типичные разрешения для узлов реестра в этих разделах:

Users > Read access
Administrators > Full Control access
SYSTEM > Full Control access
CREATOR OWNER  > Full Control access
ALL APPLICATION PACKAGES  > Full Control access

И конкретные сервисные разрешения теряются. Я могу восстановить разрешения вручную, например, я добавил NT SERVICE\Dhcp в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dhcp а затем служба смогла нормально стартовать. Но трудно понять, к каким ключам должен быть разрешен доступ какими службами. Я могу использовать Process Monitor для получения этих данных, но это может быть слишком долго. Другой способ - я могу предоставить Everyone пользователю Full control над HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ , но это не безопасный способ.

Так существует ли какой-либо способ восстановить разрешения по умолчанию для разделов реестра служб? Я пытался восстановить его с помощью secedit , но это не помогло. Я также могу попробовать восстановить Windows с установочного DVD, но это может занять много времени. Может быть, существует способ для таких вещей?

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

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

1 ответ1

1

Многие службы не могут запуститься из-за проблемы с отказом в доступе.

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

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

https://helgeklein.com/download/


меры

  1. Выполните точку восстановления, в противном случае откройте командную строку (CMD.exe) и выполните следующие заказы, чтобы создать резервную копию дерева служебных ключей:

    Reg.exe Export "HKLM\SYSTEM\CurrentControlSet\Services" "%Userprofile%\Desktop\CurrentControlSet.reg"
    

    А также:

    Reg.exe Export "HKLM\SYSTEM\ControlSet001\Services" "%Userprofile%\Desktop\ControlSet001.reg"
    

    (он будет сохранен как сценарий реестра на рабочем столе текущего пользователя)

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

    "SetACL.exe" -on "HKLM\SYSTEM\CurrentControlSet\Services" -ot "reg" -ownr "n:%UserName%"        -rec "Yes" -actn "setowner" -silent
    "SetACL.exe" -on "HKLM\SYSTEM\CurrentControlSet\Services" -ot "reg" -ace  "n:%UserName%;p:full" -rec "Yes" -actn "ace"      -silent
    

    А также:

    "SetACL.exe" -on "HKLM\SYSTEM\ControlSet001\Services" -ot "reg" -ownr "n:%UserName%"        -rec "Yes" -actn "setowner" -silent
    "SetACL.exe" -on "HKLM\SYSTEM\ControlSet001\Services" -ot "reg" -ace  "n:%UserName%;p:full" -rec "Yes" -actn "ace"      -silent
    
  3. Перезагрузите компьютер и посмотрите, не привело ли это к ожидаемому удалению отказа в доступе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .