Я бачу дивну поведінку на своїй машині Windows 7; виявляється, що коли виконується виконуваний файл, система SYSTEM зберігає ручку до нього відкритою протягом наступної хвилини або близько того. Ось моя остання зустріч:
Я встановив Steam, який запускає after.exe після встановлення, щоб оновити себе. Здається, це робиться, написавши тимчасову копію себе, запустивши її для завантаження, а потім перезаписавши оригінальну копію виконуваного файлу. У моєму випадку це не вдалося, стверджуючи, що steam.exe не вдалося видалити.
Я відкрив папку і спробував видалити steam.exe вручну, але Windows стверджував, що я не маю дозволу. Мій обліковий запис - адміністратор, і це єдиний обліковий запис користувача на цій машині. Але про всяк випадок я запустив Провідник як адміністратор, але все-таки не міг видалити файл. Я вивів "Властивості" файлу на вкладку "Безпека", але він показав лише повідомлення про те, що я не маю дозволу на перегляд дозволів.
Далі я підняв Провідник процесів, щоб побачити, чи щось заблокувало файл. СИСТЕМА (PID 4) так і зробила, але коли я намагався закрити ручку файлу, вона призвела до помилки, вказуючи, що ручка була недійсною. Я спробував переглянути властивості файлової обробки, але я також не мав дозволу на це.
Я припинив усе, крім нескінченних системних процесів, і припинив усі сервіси, на які я вмів, включаючи все, що стосується AV та брандмауера, але проблема продовжує з'являтися. Я спробував використовувати "takeown", щоб дати власність на файл, але він стверджує, що я не маю дозволу на це. Інші люди заявляли про успіх, використовуючи інструмент під назвою "Unlocker", але у нього була та сама проблема, що і у процесорі Explorer у закритті файлової ручки.
Я давно відключив Windows Indexing & Search і виключив C: \ з індексації, тому відповідь на це питання не стосується мене.
Щоразу, приблизно через хвилину, ручка зникає і файл негайно видаляється; Мабуть, спроба оновлення видалити його встала в чергу і, нарешті, закінчилася, коли файл більше не був заблокований. На жаль, оновлення вже припинено і не може відновитись. І коли я перевстановлюю, звичайно, намагається запустити steam.exe знову, і я повернуся до квадратного.
Моє запитання: чому ці ручки звисають навколо, і як я можу запобігти цьому?
Редагувати: Ось додаткова інформація, яку вимагають коментарі:
C:\>fltmc instances
Filter Volume Name Altitude Instance Name Frame VlStatus
-------------------- ------------------------------------- ------------ --------------------- ----- --------
KLIF \Device\Mup 320400 KLIF 0
KLIF C: 320400 KLIF 0
KLIF 320400 KLIF 0
luafv C: 135000 luafv 0
FileInfo \Device\Mup 45000 FileInfo 0
FileInfo C: 45000 FileInfo 0
FileInfo 45000 FileInfo 0
Редагувати: GMER вказує на те, що мій антивірус (Касперський) деяким чином все ще активний, незважаючи на те, що він відключив його від власного графічного інтерфейсу, і його сервіс припинено.
AttachedDevice \Driver\tdx \Device\Ip kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice \Driver\tdx \Device\Tcp kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice \Driver\tdx \Device\Udp kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
AttachedDevice \Driver\tdx \Device\RawIp kl1.sys (Kaspersky Unified Driver/Kaspersky Lab ZAO)
Але все це здається для мережевих служб; Я не бачу нічого, що стосується файлової системи. Чи може будь-яке з них стати причиною проблеми?
Редагувати: Я відключив фільтр Kaspersky KLIF, але проблема з блокуванням залишається.
Редагувати: Я вирішив конкретну проблему з Steam, встановивши, примусово припинивши інсталятор, перш ніж він міг запустити steam.exe, потім перезапустив у безпечному режимі і запустив його там. Тож, очевидно, що блокування виконуваного файлу немає в безпечному режимі.
Хоча я вирішив саме цей випадок, проблема виникає і в іншому місці, тому я все одно хотів би зрозуміти, що відбувається.
fltmc
чи це застарілі фільтри, вам знадобиться такий інструмент, як GMER, щоб перелічити відфільтровані об’єкти. Я знаю, що це не головна мета GMER, але це може бути використане таким чином. Тут також був якийсь інструмент від OSR, але я не пам’ятаю його назви. Відповім ще раз, якщо я пам’ятаю.