Answers:
您可以使用Sysinternals Process Explorer查找打开的任何文件的句柄。只需选择Find
菜单,然后选择Find Handle or DLL
。在打开的对话框中,在搜索框中输入驱动器号。搜索结果应显示从驱动器打开的所有文件以及打开这些文件的过程。
M:
。
更简单的方法:当您尝试弹出可移动驱动器时,Windows(至少10个,AFAIK)会在事件日志中创建一个条目,但由于进程已锁定而无法创建。两个事件ID 225将显示进程ID和负责锁定的进程的名称。
一步步:
1)启动事件查看器
2)打开“ Windows日志”,然后打开“系统”
3)右键单击“系统”,然后选择“过滤当前日志”
4)在出现的对话框中,输入“ 225”(不带引号),显示“所有事件ID”
5)然后,您将看到与由于进程锁定驱动器而无法弹出有关的所有事件。
6)查看所有这些条目上的时间戳,并找出与您尝试弹出驱动器的实际时间相关的时间戳。
7)采取适当的措施。在大多数情况下,正常结束任务(关闭具有锁的程序)是可以的。也可以停止Windows Search服务。停止防病毒扫描应该可以(如果您当时不怀疑自己有任何病毒)。进入任务管理器并终止进程可能不行。如何解决这个问题超出了这个问题的范围。
8)在(动作)面板(位于右图框)中(储存检视...),您可以将[储存筛选器至自订检视...],这样您就可以在[自订检视](位于[ Windows日志”)
8)如果您没有其他带有进程名称的条目,则系统进程(进程ID 4)正在保存您的驱动器。要解决这一问题,您将不得不进行磁盘管理,并使要弹出的驱动器脱机。如果文件在启动驱动器上,则无法使其脱机。在这种情况下,请参阅以下注释:
更新2018年:我已经看到诸如WhatsApp Desktop之类的应用程序通过系统进程在Chrome Canary上进行处理。由于您无法弹出启动盘(因为正在使用中),解决方案是使用另一个漂亮的Sysinternals实用程序Handle。关闭具有锁定文件的程序后,启动句柄并运行(作为示例),handle64 "Chrome SxS\Application\chrome.exe"
以查看在具有PID 4锁的文件上是否仍然存在该句柄。通过反复试验,关闭每个正在运行的程序,直到锁定文件上没有句柄为止。
最佳方法(收费)
下载并运行SafelyRemove。它可以帮助您弹出驱动器,如果无法弹出,则会显示哪些进程已锁定:
The application System with process id 4 stopped the removal or ejection for the device ...
好吧...我会尝试禁用它Distributed Link Tracking Client
,看看是否有帮助。
您还可以使用wevtutil.exe(自Windows 7开始)使用命令行查询Windows日志,同时知道Windows Kernel-PnP使用事件ID 225记录系统(始终具有进程ID 4)拒绝删除或弹出该Windows日志。设备USB \ VID _ ####&PID _ ############(其中#表示十六进制数字)。
wevtutil qe System /q:"*[System[(EventID=225)]]" /c:5 /f:text /rd:true
EventID=225
表示系统拒绝了弹出请求我在批处理脚本中使用它。
对我来说(Windows 7)。
注意: “安全删除硬件并弹出媒体”任务栏图标不再显示USB驱动器-仅三个点
chkdsk /f f:
文件系统以某种方式进行了重新设计,但是所有内容都落入了“ found.000”中。所以...这种方法看起来并不真正安全。幸运的是,我在该磁盘上没有任何真正重要的东西……
这是一个快速的PowerShell命令,用于查询事件日志并显示哪个应用程序阻止了驱动器弹出(适用于Windows 10,可能也适用于7/8)
Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap
输出将列出过去一小时系统无法弹出磁盘驱动器的所有实例。的消息列显示堵塞喷出的过程。在下面的示例中,任务管理器实际上是罪魁祸首,我可以在关闭任务管理器后弹出。
PS C:\Users\Jonathan> Get-EventLog -LogName System -after (Get-Date).AddHours(-1) | \Where-Object {$_.EventID -eq 225} | Sort-Object TimeGenerated | Format-Table -Wrap
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
14692 Sep 07 10:50 Warning Microsoft-Windows-Ke 225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
rnel-PnP the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
14693 Sep 07 10:50 Warning Microsoft-Windows-Ke 225 The application \Device\HarddiskVolume4\Windows\System32\Taskmgr.exe with process id 11972 stopped
rnel-PnP the removal or ejection for the device USB\VID_0781&PID_5575\200445301013C111B1A0.
您可以启动resmon.exe(通过WIN + R),依次转到磁盘>磁盘活动>按文件排序现在您可以查看系统正在访问的所有文件以及正在访问这些文件的进程,并按文件路径排序(哪个btw开始)与驱动器号)。可能不适用于所有情况,但这是一种简单的方法。
重新启动计算机似乎“释放”了设备使用情况。同样,为了更快地删除,您可以在设备的“硬件”部分禁用Windows缓存,有时窗口花费的时间比将刷新到外部磁盘的缓存要长,并且会显示该消息,表明该设备正在使用中(因为Windows本身)
如果打开“我的电脑”,而驱动器未在“可移动存储”标题下列出,则Windows由于某种原因会将其视为固定的系统资源。您将必须卸载驱动器上的所有分区。
如果是这种情况,请打开“计算机管理”,然后转到“磁盘管理”。对于设备上的每个分区,右键单击该分区,选择“更改驱动器号和路径”,然后删除分配给该分区的所有驱动器号。一旦这样做,您应该会发现“安全弹出”功能可以按您希望的那样工作。
Windows报告正在使用USB ...与这里的其他所有人一样。
在Windows 10中,Ctrl + Alt + Del进入任务管理器。
滚动查找-Windows资源管理器。并突出显示。
右下角是一个很好的友好按钮,称为“重新启动过程”
再次三重检查“ Windows资源管理器”是否是突出显示的唯一内容。
鼠标左键单击友好的按钮“重新启动过程”。
我只有一个浏览器,其他人有时只有两个。只要注意哪一个又回来了。尝试关闭/弹出USB。我的工作正常,关闭USB。
如果您没有退出/关闭,则可能是另一个资源管理器。重试,然后恢复该状态。祝好运。