Файл хостов Windows 10, используемый другим процессом

18

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

  • Я установил разрешение для файла «hosts» на полный доступ для текущего пользователя. Я даже взял на себя ответственность. Текущий пользователь в группе администраторов.

  • Я выключил UAC.

  • Я удалил разрешение на чтение только из файла.

    C:\Windows\System32\drivers\etc>attrib hosts
    A            C:\Windows\System32\drivers\etc\hosts
    
  • Я отключил свой антивирус Panada. Я также остановил 3 службы панды из палитры услуг.

  • Я открываю командную строку с повышенными правами (запускаю с правами администратора). Запустите Блокнот и измените файл. Когда я пытаюсь сохранить файл, я получаю следующую ошибку:

    "Процесс не может получить доступ к файлу, потому что он используется другим процессом.

  • Я проверяю файл, используя «Unlocker», и программное обеспечение говорит, что нет активной блокировки файла.

Кто-нибудь может помочь?

wmac
источник
1
Большую часть времени отключение AV не совсем достаточно. Я предлагаю вам удалить Panda Antivirus, затем попробуйте отредактировать файл hosts.
Ramhound
1
Дэвид, как я уже говорил, Unlocker говорит, что никто не запер его. Обозреватель процессов не находит дескриптор, прикрепленный к файлу.
Wmac
Удаление Панды тоже не сработало. Это очень странно
Wmac

Ответы:

25

У меня была та же проблема, мой hostsфайл был заблокирован межсетевым экраном ZoneAlarm. Чтобы решить эту проблему, мне пришлось снять флажок [X] Lock Hosts File в настройках ZoneAlarm

введите описание изображения здесь

Йосеф Харуш
источник
4
В ZoneAlarm 15 не будет просто отключить брандмауэр - вы должны выбрать Брандмауэр / Базовый брандмауэр / Настройки / Дополнительные параметры - затем снимите флажок Блокировать файл хостов.
Джин
Спасибо - я "уничтожаю" настройки безопасности Windows, чтобы иметь возможность редактировать этот файл. Итак, благодаря ZA я, вероятно, НАМНОГО хуже (иначе как восстановить "TrustedInstaller" как владельца - мое более раннее решение, которое работало более года назад (последний раз я редактировал хосты). Вздох! Еще раз - Спасибо !!
Michael Felt
11

Просто наткнулся и решил эту проблему, после небольшой суеты, поэтому подумал, что я предложу заметки.

Я использовал SysInternals Process Explorer , Run as Administrator , чтобы найти процесс, который блокировал файл (используя Find > Find Handle or DLL). Обратите внимание, что когда я запускал его без прав администратора, он не мог видеть процесс на системном уровне WRSA.

В моем случае это был WRSA.exeWebroot Secure Anywhere. Отключение защиты разблокировало файл, и я смог легко перезаписать его. В некоторых версиях webroot вам придется открыть «Расширенные настройки> Щиты» и снять флажок для блокировки изменений в файле hosts.

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

Марк Рендл
источник
Вы спасатель жизни! У меня был блок Webroot. Ничего не сработало, пока ваше решение! Благодарность!
IrfanClemson
9

Я мог в конечном итоге найти виновника. Это была программа под названием «Tiny Firewall» (программное обеспечение для управления правилами брандмауэра Windows), которая вызвала проблему.

Я не совсем уверен, что он делает с файлом hosts, потому что ни одно из доступных программ не может показать блокировку файла. Я мог бы обнаружить, что это как-то связано с файлом, используя монитор процесса (Sysinternals). Я вышел из интерфейса и остановил процесс (не позволил остановить, убил дерево процессов и установил ручной сервис).

PS: Это особенность Tiny Firewall (защита файла hosts), и вы можете просто отключить его из его настроек.

wmac
источник
0

В моем случае файл HOSTS постоянно блокировался svchost.exe!

Проблема началась, так как я использовал инструмент HostsMan . Он заполнил файл HOSTS примерно 18 МБ номеров DNS и доменов. И мой компьютер внезапно отключился.

Итак, с помощью инструмента Process Explorer я искал «etc \ HOSTS». Когда вы нажимаете на одну запись в результатах поиска, соответствующий процесс блокировки выделяется коричневым цветом. Итак, я обнаружил, что файл HOSTS был заблокирован процессом svchost.exe, а иногда и другими процессами. Я ждал, пока никакой другой процесс, кроме svchost.exe, не заблокировал HOSTS. Затем я убил дерево процессов, относящихся к svhosts.exe! В течение нескольких секунд, пока этот процесс svhosts.exe еще не был перезапущен (таким образом, HOSTS был временно разблокирован), мне наконец-то удалось вручную переименовать HOSTS во что-нибудь еще, например, «HOSTS000». Затем я переименовал соседний файл «HOSTS.back» (который является резервной копией с содержимым по умолчанию) в HOSTS. Проблема решена! Я вдруг снова был в сети.

Проверьте картинку ниже для DNS-фильтров, которые я активировал. Я предполагаю, что Windows 10 просто была перегружена всеми этими 50 тысячами доменных имен, сохраненных в файле HOSTS.

введите описание изображения здесь

gloschtla
источник