none
移动硬盘与电脑连接时间一长安全删除硬件就 弹出 USB 大容量存储设备 时出问题 RRS feed

  • 问题

  • 比如我手里的这块日立(HGST)2.5英寸 1T 5400转 Touro Mobile 移动硬盘,如果是刚和电脑连接上,不管是往里面拷贝几个文件,还是访问一下里面的文件,只要时间不长,都可以正常的点击屏幕右下角的安全弹出硬件设备断开连接。但如果是连接的时间一长,比如几个小时,无论期间有没有往里拷贝或访问过里面的文件,点击安全弹出硬件设备都无法断开连接,提示“弹出 USB 大容量存储设备 时出问题”消息框,具体如以下附图所示:

    在执行弹出之前已经关闭了所有的应用程序,就剩explorer.exe没关,难道还要终止windows外壳资源管理器?

    不知大家有没有遇到过这种情况,我是每次都会出现这种情况,只要连接的时间一长就断不开了。可奇怪的是,我那个金士顿DT101G2 16G U盘插电脑上一天,往里拷贝高清电影访问里面的文件,却每次都能正常的安全弹出硬件设备断开连接。难道是因为windows系统将U盘识别归类为可移动存储设备,移动硬盘识别为基本磁盘导致的吗?

    遇到这种情况该怎么处理呢,如果当前未复制访问里面的数据,是否可以直接物理拔除,这样不会对移动硬盘造成什么伤害吧?

    在弹出那个消息框时事件查看器中会出现一条EventID为225的Kernel-PnP警告事件,详细信息如下所示:

    日志名称:          System
    来源:            Microsoft-Windows-Kernel-PnP
    日期:            2014/2/17 21:20:54
    事件 ID:         225
    任务类别:          (223)
    级别:            警告
    关键字:           
    用户:            SYSTEM
    计算机:           
    描述:
    带有进程 ID 4 的应用程序 System 停止了设备 USB\VID_4971&PID_1020\21001304060002301041 的移除或弹出。
    事件 Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-PnP" Guid="{9C205A39-1250-487D-ABD7-E831C6290539}" />
        <EventID>225</EventID>
        <Version>0</Version>
        <Level>3</Level>
        <Task>223</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8000000000000000</Keywords>
        <TimeCreated SystemTime="2014-02-17T13:20:54.373403300Z" />
        <EventRecordID>123908</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="68" />
        <Channel>System</Channel>
        <Computer>RedFantasY-SVR</Computer>
        <Security " />
      </System>
      <EventData>
        <Data Name="ProcessId">4</Data>
        <Data Name="ProcessNameLength">6</Data>
        <Data Name="ProcessName">System</Data>
        <Data Name="DeviceInstanceLength">42</Data>
        <Data Name="DeviceInstance">USB\VID_4971&PID_1020\21001304060002301041</Data>
      </EventData>
    </Event>

    Pulled over our eyes to blind us from the truth

    2014年2月18日 12:28

答案

  • 你好,

    在命令提示符中,锁定到handle.exe 所在的目录,例如 cd c:\handle v3.5, 按回车输入上面给出的命令行。 命令行里的 g:\ 表示的是移动硬盘所分配的盘符。

    Process Explorer并不具有直接解锁功能,不过一些三方的工具可以用来解锁。Process Explorer最大的特色就是可以中终任何进程,甚至包括系统的关键进程。它用来了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。他完全是免费的,由由Sysinternals开发,现已并入微软旗下,可以在win7 和win 2008 r2上使用。


    Andy Altmann
    TechNet Community Support

    2014年2月21日 14:44
    版主
  • 通常是有后台程序对移动硬盘做了一些修改,因为硬盘被程序访问所以无法安全删除。建议你排查一下后台程序及 Explorer 加载项,关闭一些不需要的程序及加载项,看看有没有改善。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 "红色狂想"

    | 比如我手里的这块日立(HGST)2.5英寸 1T 5400转 Touro Mobile 移动硬盘,如果是刚和电脑连接上,不管是往里面拷贝几个文件,还是访问一下里面的文件,只要时间不长,都可以正常的点击屏幕右下角的安全弹出硬件设备断开连接。

    2014年2月20日 3:14
  • 你好,

    这个问题在于如何查出移动硬盘被哪个程序占用,只要你找到占用的程序并结束该进程,移动硬盘就能顺利的拔出。 这里我提供两个方法:

    • 在开始〉所有程序〉附件〉系统工具里面,打开资源监视器;打开cpu标签栏,在关联的句柄搜索框里面键入移动硬盘盘符,按回车就能显示出占用的程序。
    • 从Windows Sysinternals下载Handle v3.51, 从cmd窗口键入handle -a g:\,按回车就会列车占用的线程。


    Andy Altmann
    TechNet Community Support

    2014年2月20日 9:15
    版主
  • Explorer.EXE 进程自己不会长时间占用,应该是依附在 Explorer.EXE 身上的 Shell Extension 在占用,表面上看就是 Explorer.EXE 占用。

    建议用 ShellExView 检查一下所有 Shell Extension,是否有只针对移动硬盘、不针对闪存进行操作的加载项。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 "红色狂想"

    | explorer.exe进程占用的无疑了。我主要是想不明白,同样是移动存储设备,为什么金士顿DT101G2 16G U盘就不会出现这个问题呢,难道是因为U盘的主控策略支持强制安全删除硬件设备?

    2014年2月22日 3:20

全部回复

  • 通常是有后台程序对移动硬盘做了一些修改,因为硬盘被程序访问所以无法安全删除。建议你排查一下后台程序及 Explorer 加载项,关闭一些不需要的程序及加载项,看看有没有改善。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 "红色狂想"

    | 比如我手里的这块日立(HGST)2.5英寸 1T 5400转 Touro Mobile 移动硬盘,如果是刚和电脑连接上,不管是往里面拷贝几个文件,还是访问一下里面的文件,只要时间不长,都可以正常的点击屏幕右下角的安全弹出硬件设备断开连接。

    2014年2月20日 3:14
  • 你好,

    这个问题在于如何查出移动硬盘被哪个程序占用,只要你找到占用的程序并结束该进程,移动硬盘就能顺利的拔出。 这里我提供两个方法:

    • 在开始〉所有程序〉附件〉系统工具里面,打开资源监视器;打开cpu标签栏,在关联的句柄搜索框里面键入移动硬盘盘符,按回车就能显示出占用的程序。
    • 从Windows Sysinternals下载Handle v3.51, 从cmd窗口键入handle -a g:\,按回车就会列车占用的线程。


    Andy Altmann
    TechNet Community Support

    2014年2月20日 9:15
    版主
  • explorer.exe进程占用的无疑了。我主要是想不明白,同样是移动存储设备,为什么金士顿DT101G2 16G U盘就不会出现这个问题呢,难道是因为U盘的主控策略支持强制安全删除硬件设备?

    Pulled over our eyes to blind us from the truth

    2014年2月21日 12:36
  • 请问Handle v3.51是不是要复制粘贴到system32目录下才能使用呢,命令行handle -a g:\后面的 g:\ 代表什么意思呀?

    另外再问一下,Process Explorer v16.01是不是具有可以解除锁定占用的功能啊,这款工具是免费的吗,在win7 x64和win2008 R2系统上使用不会出现兼容性问题吧?


    Pulled over our eyes to blind us from the truth

    2014年2月21日 12:50
  • 你好,

    在命令提示符中,锁定到handle.exe 所在的目录,例如 cd c:\handle v3.5, 按回车输入上面给出的命令行。 命令行里的 g:\ 表示的是移动硬盘所分配的盘符。

    Process Explorer并不具有直接解锁功能,不过一些三方的工具可以用来解锁。Process Explorer最大的特色就是可以中终任何进程,甚至包括系统的关键进程。它用来了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。他完全是免费的,由由Sysinternals开发,现已并入微软旗下,可以在win7 和win 2008 r2上使用。


    Andy Altmann
    TechNet Community Support

    2014年2月21日 14:44
    版主
  • Explorer.EXE 进程自己不会长时间占用,应该是依附在 Explorer.EXE 身上的 Shell Extension 在占用,表面上看就是 Explorer.EXE 占用。

    建议用 ShellExView 检查一下所有 Shell Extension,是否有只针对移动硬盘、不针对闪存进行操作的加载项。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    本帖是回复帖,原帖作者是楼上的 "红色狂想"

    | explorer.exe进程占用的无疑了。我主要是想不明白,同样是移动存储设备,为什么金士顿DT101G2 16G U盘就不会出现这个问题呢,难道是因为U盘的主控策略支持强制安全删除硬件设备?

    2014年2月22日 3:20
  • 你好,

    在命令提示符中,锁定到handle.exe 所在的目录,例如 cd c:\handle v3.5, 按回车输入上面给出的命令行。 命令行里的 g:\ 表示的是移动硬盘所分配的盘符。

    Process Explorer并不具有直接解锁功能,不过一些三方的工具可以用来解锁。Process Explorer最大的特色就是可以中终任何进程,甚至包括系统的关键进程。它用来了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。他完全是免费的,由由Sysinternals开发,现已并入微软旗下,可以在win7 和win 2008 r2上使用。


    Andy Altmann
    TechNet Community Support

    你好!这些天有些忙,现在才回复。我用 handle -a 查看过了,以下线程在占用 F: 卷

    C:\Program Files (x86)\Sysutility>handle -a F:\

    Handle v3.51
    Copyright (C) 1997-2013 Mark Russinovich
    Sysinternals - www.sysinternals.com

    System             pid: 4      type: File           584: F:\$Extend\$RmMetadata\
    $TxfLog\$TxfLogContainer00000000000000000001
    System             pid: 4      type: File           58C: F:\$Extend\$RmMetadata\
    $TxfLog\$TxfLog.blf
    System             pid: 4      type: File           594: F:\$Extend\$RmMetadata\
    $TxfLog\$TxfLogContainer00000000000000000002
    System             pid: 4      type: File           59C: F:\$Extend\$RmMetadata\
    $Txf
    svchost.exe        pid: 384    type: File           3A4: F:\$Extend\$ObjId
    svchost.exe        pid: 384    type: File           3AC: F:\System Volume Inform
    ation\tracking.log
    explorer.exe       pid: 1804   type: File           32C: F:\
    explorer.exe       pid: 1804   type: File           AEC: F:\

    请问,这种情况我该怎么办啊,难道只能注销了吗?


    Pulled over our eyes to blind us from the truth

    2014年3月18日 13:01
  • 我也是这个问题,SYSTEM占用,而且内核进程无法停止,资源监视器找不到占用的进程,用unlocker等软件都不行。我是在磁盘管理器中设置为脱机,然后就可以拔下来了。
    2015年7月25日 11:02
  • 最后是怎么解决的?我的问题和你的一模一样。
    2018年11月19日 6:11