Veo un comportamiento extraño en mi máquina con Windows 7; parece que cuando se ejecuta un ejecutable, SYSTEM mantiene abierto un identificador durante el siguiente minuto más o menos. Aquí está mi encuentro más reciente:
Instalé Steam, que inicia steam.exe después de la instalación para actualizarse. Parece hacer esto escribiendo una copia temporal de sí mismo, lanzándola para realizar la descarga, y luego sobrescribiendo la copia original del ejecutable. En mi caso, esto falló, alegando que steam.exe no se pudo eliminar.
Abrí la carpeta e intenté eliminar steam.exe manualmente, pero Windows afirmó que no tenía permiso. Mi cuenta es un administrador y es la única cuenta de usuario en esta máquina. Pero por si acaso, inicié Explorer como administrador, pero aún no podía eliminar el archivo. Puse las Propiedades del archivo en la pestaña Seguridad, pero solo mostró un mensaje que decía que no tenía permiso para ver los permisos.
Luego, mencioné Process Explorer para ver si algo tenía un bloqueo en el archivo. SYSTEM (PID 4) lo hizo, pero cuando intenté cerrar el identificador del archivo, se produjo un error que indicaba que el identificador no era válido. Traté de ver las propiedades del identificador de archivo, pero tampoco tenía permiso para hacerlo.
Terminé todo menos los procesos del sistema no terminables, y detuve todos los servicios que puedo, incluido todo lo relacionado con AV y firewall, pero el problema continúa apareciendo. Intenté usar 'takeown' para otorgarme la propiedad del archivo, pero afirma que no tengo permiso para hacerlo. Otras personas han afirmado tener éxito utilizando una herramienta llamada 'Unlocker', pero tuvo el mismo problema que Process Explorer al cerrar el identificador de archivo.
Hace mucho tiempo deshabilité la indexación y búsqueda de Windows, y excluí C: \ de la indexación, por lo que la respuesta a esta pregunta no se aplica a mí.
Cada vez, después de aproximadamente un minuto, el identificador desaparece y el archivo se elimina de inmediato; aparentemente, el intento del eliminador para eliminarlo se puso en cola y finalmente terminó una vez que el archivo ya no estaba bloqueado. Lamentablemente, la actualización ya ha finalizado y no se puede reanudar. Y cuando reinstalo, por supuesto, intenta ejecutar steam.exe nuevamente, y vuelvo al punto de partida.
Mi pregunta es: ¿por qué están estos mangos dando vueltas y cómo puedo evitar que lo hagan?
Editar: Aquí hay información adicional solicitada de los comentarios:
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
Editar: GMER indica que mi antivirus (Kaspersky) todavía está activo de alguna manera, a pesar de deshabilitarlo desde su propia GUI, y que su servicio se detuvo.
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)
Pero todo esto parece ser para servicios de red; No veo nada relacionado con el sistema de archivos. ¿Podría alguno de estos ser la causa del problema?
Editar: deshabilité el filtro Kaspersky KLIF, pero el problema de bloqueo persiste.
Editar: Resolví el problema específico con Steam instalando, forzando la finalización del instalador antes de que pudiera iniciar steam.exe, luego reiniciando en modo seguro y ejecutándolo allí. Entonces, aparentemente, lo que sea que esté bloqueando el ejecutable no está presente en modo seguro.
Aunque he resuelto este caso en particular, el problema también aparece en otro lugar, por lo que todavía me gustaría entender lo que está sucediendo.
fltmc
si son filtros heredados, necesitaría una herramienta como GMER para enumerar los objetos filtrados. Sé que no es el propósito principal de GMER, pero se puede usar de esa manera. También solía haber alguna herramienta de OSR, pero no recuerdo su nombre. Contestaré nuevamente si no recuerdo mal.