哪些程序正在使用我的USB闪存驱动器?


42

有时,当我按照安全删除USB闪存驱动器的过程进行操作时,会被告知无法删除驱动器,因为某些程序正在使用它。但是,我无法确定这些程序是哪个程序,因此最终不得不关闭程序-有时甚至是随机关闭。

我如何找出哪个程序正在使用我的USB闪存盘?

我已经搜索过互联网,但没有发现任何希望。一种解决方案可能是通过Process Explorer,因为它显示了句柄,但是我不知道如何使用它来解决我的问题。

最好的解决方案是拥有一个程序,该程序可以自动为我关闭这些程序,或者至少告诉我这些程序是哪个程序。


我们只能说Windows正在使用您的闪存驱动器。我认为我们都已经看到了这个问题。设备管理器中可能存在某些内容,可让您优化驱动器以快速移除。我现在无法检查...目前不使用Windows。
pavium 2011年

我想不显示哪个程序锁定它的原因是,如果该程序是某个系统驱动程序,将会令人困惑...
user712092 2011年

Answers:


24

这个工具和这个工具看起来都可以满足您要达到的目的。NirSoft界面不太直接,但我相信作者及其编写代码的能力。第二个似乎在您的情况下具有更有用的UI,但是我没有网站或作者的历史记录。

ProcessExplorer是另一种简单的实现方法,只需打开ProcessExplorer,单击Ctrl+ F,然后键入文件名即可。ProcessExplorer将列出使用该文件的所有程序。如果WhoLockMe工具对您不起作用,那么我接下来建议您使用ProcessExplorer,因为它具有许多其他有用的功能。


7
我是用ProcessExplorer找到的。我只需要输入驱动器的几个路径字母即可(例如“ e:”)。非常感谢你。:)
user712092 2011年

ProcessExplorer(显然与NirSoft的不同)使您可以找到正在使用的文件夹,例如文件系统更改通知程序实用程序,只需<kbd> CTRL </ kbd> + <kbd> F </ kbd>,然后键入字母即可拇指驱动器,例如I:
Jaime Hablutzel 2014年

2
如果要搜索所有进程(包括系统进程),则需要以“管理员”身份运行ProcessExlorer。
Alex Che

仅当文件是可执行文件时,ProcessExplorer才起作用:DLL或EXE。
哈兹

显然,作为测试,我打开了一个位于thumbdrive上的C#.sln文件。当我搜索d:时,它没有显示Visual Studio。
埃里克

6

我使用EjectUSB(工作下载链接):

EjectUSB可以被视为USB驱动器的核心选项,因为在Windows中它无法正常弹出,因为存在“应用程序或进程”对其进行访问。将EjectUSB放在拇指驱动器上并运行它,该程序将无情地杀死每个程序,进程或任何其他与驱动器接触的东西,让您安全地删除它,而不必担心数据丢失。


5
“该程序将无情地杀死每个程序,进程或任何其他与您的驱动器有关的东西,使您可以安全地删除它,而不必担心数据丢失。强调的部分可能意味着矛盾……
Sk8erPeter

4

在Windows 7 Pro中,此方法有效:

  1. 打开“我的电脑”
  2. 查找有问题的USB驱动器
  3. 右键单击USB驱动器
  4. 点击“弹出”;您现在将收到“ ...正在使用...”消息-请注意,它具有“继续”按钮!
  5. 单击“继续”以强制卸载,您应该已经准备就绪。

根据先前的答案,最好将USB记忆棒设置为优化以便快速移除。那应该确保没有未完成的写操作。


1
在Windows 7中没有这样的上下文菜单命令:没有弹出。
哈兹

4

在事件查看器中(在Windows 10上已选中)-> Windows日志->系统-您可以看到发生了什么。

例:

进程ID为2080的应用程序\ Device \ HarddiskVolume1 \ Program Files \ Security \ AVAST Software \ Avast \ AvastSvc.exe停止了设备USB \ VID_0BC2&PID_2300 \ 2GH4ER2Z ____的移除或弹出。


1
发生在50万条日志条目中寻找事件ID或源?
我说恢复莫妮卡的时间

你可以按时间看。它会立即发生,因此,如果您碰巧卸下USB驱动器并拒绝了它-您可以按时查看。至少在我的操作系统上,几秒钟内没有发生太多事件。您甚至可以在操作后打开事件查看器并刷新视图
Genry

这很棒,因为它不需要安装任何新程序
aditsu


1

Sysinternals的ProcMon将允许您监视所有文件和注册表活动,并仅允许您过滤那些引用您的thumbdrive的条目。这可能是一种更全面的方法来告知正在使用驱动器的每个进程。

另外,根据您的Windows版本,可能会有使用该驱动器的默认应用程序。

如果是Win7,请检查USB拇指驱动器上是否启用了SuperFetch。如果是XP,请检查是否启用了磁盘写缓存。

SuperFetch允许Windows将临时存储用作附加的“ RAM”,从而将磁盘缓存移出系统驱动器。磁盘写缓存使文件在可移动磁盘之间来回传输看起来更快,因为实际上发生在后台以及系统空闲时间。


1

我在NTFS格式的外部驱动器(HD和Flash)上随机看到了这一点。即使在“设备管理器”中将它们设置为“优化快速删除”,系统中的某些内容(可能是文件系统驱动程序)也会保留不该保留的内容。我找不到的工具甚至无法显示所持有的资源,并且Process Explorer不会显示该设备或其任何文件的任何打开的句柄。

我发现的唯一方法是关闭系统或使用Sysinternal的sync工具刷新所有文件系统缓冲区,然后拉动连接线。当我进行“脏”拉时,我将立即重新连接,运行chkdsk,然后能够正常弹出驱动器。


1

在尝试了许多工具之后,我选择了Unlocker,在Windows抱怨锁定文件等情况下,它可以提供帮助。您可以在http://www.filehippo.com/download_unlocker/上获得它。尽管nirsoft实用程序和Process Explorer可以工作,但我认为它们是针对高级用户的。如果解决方案解锁器可以正常工作,请快速离开。


不建议将解锁器用于可移动设备,因为这可能会损坏FS及其内部的数据。
洛伦佐·冯·马特洪峰

@LorenzoVonMatterhorn:为什么会损坏文件系统和其中的数据?
Sk8erPeter

@ Sk8erPeter如何腐败发生的是例如讨论这里superuser.com/questions/594974/...
user712092

@ user712092:我知道一些有关文件系统损坏的可能性,我只是想知道Unlocker在这种情况下可能如何工作-但我想Lorenzo建议这样做可能会破坏“安全地”删除硬件的过程,因为它并不表明应将写缓存刷新到驱动器的操作系统。
Sk8erPeter '16

0

我通过这样设置offine驱动器解决了我的问题:

  1. 转到“此PC”->“管理”->“磁盘管理”
  2. 右键单击下面的分区图中的磁盘图标
  3. 点击“离线”

分区图中的磁盘现在应该消失了。您应该能够安全地卸下驱动器,而不会出现错误。

连接驱动器后,下次不要将其设置为联机。


1
这是通过蛮力断开驱动器的连接,操作本身并不安全
im_chc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.