USB设备“弹出”与“安全删除”的区别

想到写这篇文章,主要源自使用Kindle过程中的一个困惑。

虽然Kindle自带独立充电器,但我依然喜欢连接到电脑上充电,因为在充电的同时还可以往里面复制新的文件。然而在使用过程中遇到了一个非常奇怪的问题:连接电脑,复制完文件后,我可能会希望在充电的同时直接操作设备,可Kindle的屏幕依然显示为USB连接状态,根本没法操作。

仔细看说明书,说明书中提到过这个问题,但说明书中的说法是:在Windows中,只要将设备弹出,就可以在通过电脑USB接口充电的同时操作设备。

可我找做为啥无法实现呢?仔细研究发现,Windows实际上有两种截然不同的“弹出”方式,其大致作用类似,但原理上有着很大的区别。

首先,打开“计算机”窗口,在可移动存储设备上点击右键,右键菜单中会提供“弹出”选项,例如这样:

真正的“弹出”选项

但如果单击桌面右下角,通知区域的“安全删除”图标,也可以看到“弹出”选项:

通知托盘中的“弹出”选项

通常我习惯于使用通知托盘中的这个选项,因为这样显得更快捷一些,不需要打开新的窗口,直接在当前程序界面下,随时可以弹出。

回到开头那个问题,实际上,Amazon说明书中所说的“弹出”方式,只能是第一张图的那个弹出;我习惯使用的第二张图的“弹出”直接导致弹出后无法恢复操作的情况。

其实在Windows 7中,将鼠标指针指向通知托盘中的那个图标后,可以看到“安全删除硬件并弹出媒体”的描述文字,其实这串文字已经可以说明这两个选项的本质区别了(可惜不够直观)。

  • 资源管理器中的“弹出”:如果使用这个“弹出”,系统将只弹出位于外部设备上的,已经挂载到系统中的文件系统,但此时设备本身与系统的连接依然是存在的。
  • 安全删除硬件并“弹出”:如果使用这个“弹出”,系统会在弹出所挂载的文件系统的同时,还会断开外部设备与系统的连接。

举例来说,如果使用多合一读卡器,使用资源管理器中的“弹出”命令后,可以将读卡器中放入的存储卡“弹出”,但读卡器设备与系统的连接依然维持,因此如果放入新的存储卡,就可以直接使用。

但如果使用通知区域那个“弹出”,不仅存储卡,连读卡器本身也会从系统中断开,这种情况下如果要读取另一张存储卡,就必须将读卡器与电脑之间的USB连线断开,并重新连接。

为了避免混淆,也许通知区域中的“弹出”改名为“安全移除”会更妥善一些。

分享:

《USB设备“弹出”与“安全删除”的区别》有2个想法

  1. 资源管理器中的“弹出”:如果使用这个“弹出”,系统将只弹出位于外部设备上的,已经挂载到系统中的文件系统,但此时设备本身与系统的连接依然是存在的。__在这里“挂载到系统中的文件系统”怎样个挂载法?如果不对USB设备中的文件进行任何操作,只是把USB插到PC上,这里的“弹出”还有意义吗?
    安全删除硬件并“弹出”:如果使用这个“弹出”,系统会在弹出所挂载的文件系统的同时,还会断开外部设备与系统的连接。–这里的“断开” 是指卸载设备的驱动程序吗?
    如果使用通知区域那个“弹出”,不仅存储卡,连读卡器本身也会从系统中断开,这种情况下如果要读取另一张存储卡,就必须将读卡器与电脑之间的USB连线断开,并重新连接。——在这里,“必须将读卡器与电脑之间的USB连线断开,并重新连接”?多合一读卡器已成为PC的标配,谁又会在更换新的存储卡时把连线断开~~。

    1. 对于开发,尤其是设备驱动的开发,我懂的并不是太多,因此只能说说自己的实际感受了,不一定准确,仅供参考。

      第一点,_在这里“挂载到系统中的文件系统”怎样个挂载法?如果不对USB设备中的文件进行任何操作,只是把USB插到PC上,这里的“弹出”还有意义吗,我觉得这和Windows的即插即用有关,检测到USB接口插入了新的设备,于是即插即用功能开始生效,判断设备类型,并确定要执行的操作,如果插入的是存储设备,自然是开始挂载其中的文件系统,并准备提供给用户访问。至于“不对文件进行任何操作,只是将USB插到PC上”,一样是这样的,用户主动对设备中的内容进行读写,需要对执行I/O操作,同时就算用户没有执行此类操作,系统本身为了维持设备上的文件系统,依然需要进行I/O操作,这一点可以由这篇KB文章得到确认:http://support.microsoft.com/kb/165721 ,不过这篇是机器翻译的,质量较差,这里英汉对照的效果更好一些:http://www.microsofttranslator.com/BV.aspx?ref=CSSKB&from=en&to=zh-chs&a=http://support.microsoft.com/kb/165721/en-us?fr=1

      第二点,我认为,资源管理器中的弹出,仅仅是从“逻辑上”卸载设备中的文件系统,这时候无论用户自己或者系统,已经不能对这个设备执行I/O操作,设备驱动是否卸载我还不清楚

      第三点,这个例子举的不是太好,不过我想这也和驱动本身有关的,例如前几年SATA硬盘刚开始上市时,当时尽管是内置的SATA硬盘,一样可以在托盘中的弹出图标里看到安全删除内置硬盘的命令,但在安装新版本驱动后,这一现象可能会消失。因此估计这和设备本身使用的驱动有关。例如我本文截图使用的那个读卡器,包含四个物理卡槽,新启动的系统,只插入SD卡,并直接从资源管理器中“弹出”后,其他三个空卡槽对应的盘符反而会出现(这三个卡槽原本没有插入任何存储卡,执行弹出操作之前也会被系统隐藏,但弹出SD卡后,这三个空卡槽也出现了)。不过从通知区域安全删除就没有这样的现象。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

发表评论前,先做个简单的数学题吧: * Time limit is exhausted. Please reload CAPTCHA.