热插拔设备和可移动设备有什么区别?

what is the difference between hot pluggable device and removable device?

我读到 USB HDD 是可热插拔但不可移动的,而 USB 闪存驱动器既可移动又热-pluggable.Internally,windows DEVICE_OBJECT 结构具有 Characteristics 标志对于可移动媒体(不是可移动设备)可以有一个值 FILE_REMOVABLE_MEDIA。此外,STORAGE_HOTPLUG_INFO 结构具有 Devicehotplug 布尔成员,表示设备是否可热插拔。你能用一些细节来证明你的答案吗?

一个简单的 Google 搜索就可以回答您的问题...

  • 热插拔是在不关闭连接的计算机的情况下更换或安装设备的能力。热插拔实现时 添加或移除外围设备;一个设备或工作系统 需要重新配置;有缺陷的组件需要更换 或者设备和计算机需要数据同步。也称为热插拔。热插拔 允许轻松访问设备和方便 不间断系统。
  • 可移动媒体是能够在不关闭系统电源的情况下移除计算机系统的数据存储设备。可移动媒体设备是 用于数据的备份、存储或传输。

来源:techopedia.com

大卫·泽森 explains it best:

[...] "removable" means that the media of the device is removable. For example, CD-ROM drives or Nin1 card readers for flash media. [...] ATA disks connected via eSATA aren't removable, you can't remove the platters.

然而,当然,您可以直观地理解,即使是不可移动的设备也可以是热插拔的(即您可以将整个设备作为一个整体来插入和拔出,而不是 inserting/removing 它包含的媒体)。

Now, all (modern) buses in use in current systems are hotpluggable - most new systems allow you to add/remove SATA disks while the system is running.

事实上,您不必再关心某些东西是否可热插拔:几乎所有存储设备都是。 (以前需要关机才能操作存储设备)

因此,外部 USB 驱动器(HDD 或闪存棒)应该是不可移动的,并且希望始终是可热插拔的。

不幸的是:

Of course, hardware sucks so virtually all USB keyfobs reports "removable==1" probably because the maker of the device wanted to be "helpful" and make things work better on windows.

我没有关于真正原因的消息来源,但事实证明许多 USB 驱动器也报告自己是可移动的。 David 的建议可能是因为某些操作系统过去不支持热插拔但支持可移动设备(CD-ROM 等)听起来很合理:制造商重复使用相同的技术来欺骗 OS 让用户 "eject" 个 USB 驱动器。

现在我想所有的现代操作系统都会清楚区分,从管理的角度来看这有很多好处(例如,你可能有一个带有可移动 DVD 的热插拔 DVD 驱动器,因此你需要更清楚哪个是你想与之互动)。不过,旧驱动器和旧习惯很难改掉,因此您仍然会找到一些 "removable" USB 驱动器,即使它们确实不是。

注意:链接的错误报告是关于 udisks 的,它在自由软件世界中更常见。但同样,我确信所有系统现在都会做出区分,即使术语不完全相同。另请注意,术语实际上是相当随意的,尽管您对这两个概念使用的术语最好被很好地理解。