删除一个无进程使用却显示被使用的文件
一、发现问题
问题是这样的,我的电脑原来运行顺畅,不会有死机情况,最近一段时间却经常出现死机情况:鼠标,键盘统统不起作用。于是下定决心,找到问题并解决。
- 电脑出现死机后,重新启动。
- 重启后,检查系统日志:
- 右击“此电脑” → “管理” → “事件查看器” → “Windows日志” → “系统”。
- 查看死机时间附近的错误或警告记录(如
Critical
、Error
)。我发现最近1小时内的唯一错误是和 软件T 与 kernel 有关的。
二、解决方法
以下时尝试删除时用到的方法(最后一个成功):
-
打开任务管理器,结束与软件T有关的进程。但是还是没办法删除。
-
每次只删除一个文件,看看到底是哪个文件删除问题。删到最后发现,我发现软件T的有个驱动无法删除,一直显示已在另一个程序中打开。
-
CMD(管理员身份运行),想要强制删除:del /f /s /q "文件完整路径"。还是没用。
-
禁用 软件T 的服务:
-
按
Win + R
,输入services.msc
回车。 -
找到
软件T
或类似名称的服务。右键选择“停止”,然后改为“禁用”启动类型。 -
重启电脑后删除。可还是删不了。
-
-
可能有隐藏进程,使用第三方工具LockHunter(LockHunter is a free 64/32 bit tool to delete files blocked by any processes)。然而没找到相关进程,也无法删除,加入重启时删除,但重启后LockHunter显示无法删除。
-
使用PowerShell 删除:
-
以管理员身份打开 PowerShell(Win + X → Windows PowerShell (管理员))。
-
获取文件所有权
takeown /f "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys"
-
赋予当前用户完全控制权限
icacls "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys" /grant "$env:USERNAME:F"
-
尝试删除。还是无法删除。
Remove-Item -Force -Path "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys"
-
-
......此处省略多次无果的尝试用CMD和powershell删除。
-
直接删除驱动文件。注意完成前两个步骤后,需要重启电脑,再删除。
% 步骤1:获取文件所有权
takeown /f "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys" /a
icacls "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys" /grant "Administrators:F" /t /c% 步骤2:重命名文件(绕过占用)
ren "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys" inpoutx64.sys.bak% 步骤3:重启后删除
del /f /q "C:\Program Files\Tobii\Tobii Pro Lab\Drivers\inpoutx64.sys.bak"
三、总结
虽然最后一个方法生效了,但是中间尝试了很多方法,我也不知道前面尝试的方法有没有生效,所以这里也举了前面尝试过的主要方法。
注:deepseak是个好帮手。