很多时候,当我匆忙时,我会自动从台式电脑或笔记本电脑的外部硬盘上拔出 USB 闪存盘或 USB 电缆,而不是右键单击系统托盘中的安全移除图标并通过此路径拔出。到目前为止,每次我“匆忙”时都没有发生任何不愉快的事情。
右键单击安全删除图标的理由是什么?如果不执行此操作,我是否会丢失 USB 介质上的信息?
编辑
丢失此类信息的脆弱性大大增加,如果将 USB 介质从计算机中拔出时它仍然在闪烁(而不是不闪烁)?
答案1
是的,可以,这取决于当您在使用(读取或写入)设备时移除它时会发生什么。
当您插入 USB 驱动器时,您的 PC 就可以自由地从中写入和读取数据;其中一些数据会被缓存。
缓存是指不立即将信息写入 USB 设备,而是将其保存在 PC 的内存 (RAM) 中。如果您在写入信息之前或写入信息时将 USB 驱动器从 PC 中拔出,则最终会得到损坏的文件。
但是,除非您明确表示要启用缓存,否则 Windows 会自动禁用 USB 设备上的缓存。大多数情况下,如果您没有从设备写入或读取任何内容,则无需单击“安全删除硬件”按钮。
它只是作为一个额外的安全层存在,防止您破坏自己的文件。
这样做会使文件“正常”关闭,从而保留数据、指针和文件大小指示器。写入磁盘时,计算机并不总是“刷新”缓冲区,并且可能只写入了部分数据。使用正确的程序将确保数据和指针处于良好状态。
答案2
第二个原因是,闪存驱动器需要在写入命令后约 0.25 秒内保持稳定供电。这是一个基本的物理问题,由于随机因素,某些写入可能会使逻辑 1 位处于电气 0.72 状态。修复方法很简单:只需重写该位,甚至可能重写几次。最终它会坚持下去。
如果您真的不走运,失败的位将会位于文件系统表中并且损坏整个目录。
答案3
很少有人知道闪存驱动器内部发生的一切。与硬盘驱动器中只需一个步骤即可擦除和覆盖扇区不同,闪存驱动器将数据写入空白的 528 字节页面的速度比执行擦除周期快得多。此外,由于每个擦除控制电路都会消耗大量硅片,因此闪存芯片通常不会为每页配备单独的电路,而是每个“块”配备一个电路,每个“块”包含数百或数千页。这意味着每次将不同的数据写入扇区时,都会将其写入先前的空白区域,而旧副本会以某种方式标记为“过期”。在某个时候,闪存将执行“垃圾收集”周期,在该周期中,它将识别包含大部分过期页面的块,将所有未过期的页面从该块复制到另一个有空间的块,然后擦除该块。由于此类操作可能非常慢,因此某些驱动器会在可能的情况下尝试在没有其他操作发生时执行这些操作;驱动器不会告诉计算机何时执行此类清理,因为计算机通常不会关心。“陷阱”是,如果计算机不让驱动器知道即将断电,驱动器将无法知道何时可以安全地执行此类清理。
请注意,尽管优质闪存驱动器的设计可以确保在擦除旧副本之前始终完全写入新数据副本,并确保它们始终能够确定每个块的哪个副本应被视为最新的,但并非所有闪存驱动器设计都是完美的。在没有任何电源故障通知的情况下,设计为 100% 防止数据丢失或不一致的算法可能会至少比满足较宽松约束的方案慢一倍。增加硬件电源故障通知(在仍有足够电量完成一两次闪存写入操作时触发)可以减少时间损失,但使电源故障通知 100% 可靠可能很棘手,而且并非所有实现都是完美的。
答案4
无法安全移除设备会导致幻影设备保留在 Windows 中。这通常不是立即出现的问题,但一旦积累了数百个幻影设备,事情就会开始出错。
编辑澄清: 简而言之,幻影设备是指安装了驱动程序但不再连接到 USB 端口的设备。Windows 会跟踪已安装的设备,但由于设备尚未“安全移除”,因此仍会为该 USB 端口加载驱动程序。这可能会导致各种问题,从插入闪存驱动器时分配新的驱动器号到导致视频游戏检测到不存在的控制器。当您从 Windows 中安全移除设备时,您不仅要确保它不再写入数据,还要告诉 Windows 从该 USB 端口卸载驱动程序。临时拔下驱动器不仅有数据损坏的风险,还有创建 Windows 无法很好地处理的幻影设备的风险。
默认情况下,Windows 不会在设备管理器中显示幻像设备,这就是为什么大多数人不熟悉这个概念的原因。要手动找到这些设备,请以管理员身份运行命令提示符并输入set devmgr_show_nonpresent_devices=1
。这将允许设备管理器显示当前会话的幻像设备。
幻影设备的数量很可能太多,无法轻易手动将其全部移除。 捉鬼敢死队是一个轻量级的 GUI,旨在轻松显示和删除幻影设备。
参考:https://windowssecrets.com/newsletter/how-to-prevent-and-remove-phantom-devices/