很多时候,当我匆忙时,我会自动从台式 PC 或笔记本电脑的外部硬盘驱动器中拔出 USB 闪存盘或 USB 电缆,而无需右键单击系统托盘中的安全删除图标并通过此路线拔下插头. 到目前为止,每次我“匆忙”时都没有发生任何不愉快的事情。
右键单击安全删除图标的基本原理是什么,如果不执行此操作,我真的会丢失 USB 媒体上的信息吗?
编辑
如果USB媒体在拔出计算机时仍在闪烁(而不是不闪烁),丢失此类信息的风险是否大大增加?
Dav*_*ave 104
是的,它可以,这是关于如果您在使用(读取或写入)时移除设备会发生什么。
当您插入 USB 驱动器时,您可以让 PC 自由地从其中写入和读取数据;其中一些被缓存。
缓存发生的方式是不立即将信息写入 USB 设备,而是将其保存在 PC 的内存 (RAM) 中。如果您在写入此信息之前或在写入此信息时将 USB 驱动器从 PC 中拔出,您最终会得到一个损坏的文件。
但是,Windows 会自动禁用 USB 设备上的缓存,除非您明确表示要启用它。大多数情况下,如果您不从设备写入或读取任何内容,则不必单击“安全删除硬件”按钮。
它只是为了防止您破坏自己的文件的额外安全级别。
这样做会导致文件“正常”关闭,保留数据、指针和文件大小指示器。写入磁盘时,计算机并不总是“刷新”缓冲区,并且可能仅写入了部分数据。使用正确的过程将确保数据和指针处于良好状态。
MSa*_*ers 45
第二个原因是闪存驱动器在写入命令后需要有大约 0.25 秒的稳定电源。这是一个基本的物理问题,由于随机因素,一些写入可能会使逻辑 1 位处于电 0.72 状态。修复很简单:只需重写该位,甚至可能重写几次。最终它会坚持下去。
如果你真的很不走运,那位倒下将在文件系统表中并损坏例如整个目录。
sup*_*cat 21
很少有人意识到闪存驱动器下发生的一切。与在单个步骤中擦除和覆盖扇区的硬盘驱动器不同,闪存驱动器可以比执行擦除周期快得多的速度将数据写入空白的 528 字节页面。此外,由于每个擦除控制电路会消耗相当数量的硅,因此闪存芯片通常不会为每一页提供单独的电路,而是每个“块”有一个电路,其中每个块包含数百或数千页。这意味着每次将不同的数据写入一个扇区时,它都会被写入以前的空白区域,并且旧副本以某种方式标记为“过时”。在某些时候,闪存将执行一个“垃圾收集”循环,它会识别一个包含大部分过期页面的块,将所有未过期的页面从该块复制到另一个有空间的块,然后擦除该块。因为这样的操作可能很慢,一些驱动器会在可能的情况下尝试在没有其他事情发生时执行它们;驱动器在执行此类清理时不会告诉计算机,因为计算机通常不会关心。“问题”在于,如果计算机不让驱动器知道它即将断电,驱动器将无法知道何时执行此类清理是安全的。因为电脑一般不会在意。“问题”在于,如果计算机不让驱动器知道它即将断电,驱动器将无法知道何时执行此类清理是安全的。因为电脑一般不会在意。“问题”在于,如果计算机不让驱动器知道它即将断电,驱动器将无法知道何时执行此类清理是安全的。
请注意,尽管优质闪存驱动器旨在确保在擦除旧副本之前始终完整写入新的数据副本,并确保它们始终可以确定每个块的哪个副本应该被视为最新的,而不是全部闪存驱动器设计是完美的。在没有任何电源故障通知的情况下,设计为 100% 防止数据丢失或不一致的算法的速度可能至少是满足更宽松约束的算法的两倍。添加一个硬件电源故障通知,当仍有足够的能量来完成一两个闪存写入操作时会跳闸将减少时间损失,但使电源故障通知 100% 可靠可能会很棘手,而且并非所有实现都是完美的.
Windows 本身会告诉您,如果您使用某些设置(默认设置),则不需要使用“安全删除硬件”选项。
快速删除与更好的性能
Windows 允许您优化 USB 设备以快速移除或提高性能。默认情况下,Windows 会优化 USB 设备以便快速移除。您可以从设备管理器访问此设置 - 打开“开始”菜单,键入“设备管理器”,然后按 Enter 启动它。
展开设备管理器中的磁盘驱动器部分,右键单击您的设备,然后选择属性。
在“属性”窗口中选择“策略”选项卡。你会注意到 Windows 说你可以安全地断开你的 USB 设备而不使用安全删除硬件通知图标,所以这意味着你可以拔下你的 USB 设备而不必安全地移除它,对吧?没那么快。
数据损坏危险
上面显示的 Windows 对话框具有误导性。如果在写入数据时拔下 USB 设备(例如,将文件移动到该设备或将文件保存到该设备时),这可能会导致数据损坏。无论您使用哪种选项,在拔下 USB 设备之前,您都应确保其未在使用中——某些 USB 记忆棒上的指示灯可能会在使用时闪烁。
但是,即使 USB 设备似乎未在使用中,它也可能仍在使用中。后台程序可能正在写入驱动器 - 因此如果您拔下驱动器,可能会导致数据损坏。如果您的 USB 记忆棒似乎未在使用中,您可能可以将其拔出而不会发生任何数据损坏——但是,为了安全起见,使用“安全删除硬件”选项仍然是一个好主意。当您弹出设备时,Windows 会告诉您何时可以安全地移除设备 - 确保所有程序都已完成。写缓存
如果您选择了 Better Performance 选项,Windows 将缓存数据而不是立即将其写入 USB 设备。这将提高您设备的性能——但是,如果您在不使用“安全删除硬件”选项的情况下拔下 USB 设备,则更有可能发生数据损坏。如果启用缓存,Windows 不会立即将数据写入您的 USB 设备——即使数据看起来已写入设备并且所有文件进度对话框都已关闭,数据也可能只是缓存在您的系统上。
当您弹出设备时,Windows 会将写入缓存刷新到磁盘,确保在通知您何时可以安全移除驱动器之前进行所有必要的更改。最终,无论您使用哪个选项,您都应该使用安全删除硬件图标并在拔下设备之前弹出您的设备。您也可以在“计算机”窗口中右键单击它并选择“弹出”。Windows 会告诉您何时可以安全移除设备,从而消除数据损坏的任何更改。
注意 这个建议不仅仅适用于 Windows——如果你使用的是 Linux,你也应该在拔出 USB 设备之前使用文件管理器中的弹出选项。Mac OS X 也是如此。
未能安全移除您的设备会导致幻像设备保留在 Windows 中。这通常不是一个直接的问题,但是一旦你积累了几百个幻影设备,事情就会开始出错。
编辑澄清: 简而言之,幻影设备是安装了驱动程序但不再连接到 USB 端口的设备。Windows 会跟踪已安装的设备,但由于设备尚未“安全移除”,因此仍会为该 USB 端口加载驱动程序。这可能会导致各种问题,从插入闪存驱动器时分配新驱动器号到导致视频游戏检测到不存在的控制器。当您从 Windows 中安全地删除设备时,您不仅要确保它不再写入数据,而且是在告诉 Windows 从该 USB 端口卸载驱动程序。在运行中拔下驱动器不仅有数据损坏的风险,而且还有创建 Windows 不能很好处理的幻影设备的风险。
默认情况下,Windows 不会在设备管理器中显示幻象设备,这就是为什么大多数人不熟悉这个概念的原因。要手动查找这些设备,请以管理员身份运行命令提示符并输入set devmgr_show_nonpresent_devices=1
. 这将允许设备管理器显示当前会话的幻像设备。
很可能有太多的幻象设备无法用手轻松地将它们全部删除。 GhostBuster是一个轻量级的 GUI,旨在轻松显示和删除幻影设备。
参考:https : //windowssecrets.com/newsletter/how-to-prevent-and-remove-phantom-devices/
通常,当计算机正在写入 USB 驱动器时,如果您没有安全地将其拔出,则可能会损坏文件系统或文件。
然后,当您拥有使用 Windows 默认设置的 FAT32 磁盘时,Windows 不会缓存写入内容,因此您可以在未写入驱动器时将其拉出。
但是,您可以通过启用写入缓存来提高 FAT32 性能。但是,您必须安全地移除驱动器,否则并非所有数据都写入磁盘。
当您使用 NTFS 时,由于它是一个日志文件系统,您不能通过拔出驱动器来破坏文件系统。但是,如果这样做,您将丢失或损坏文件。
意外删除不会导致损坏,至少从 NTFS 的角度来看是这样。无论何时将驱动器从计算机中拔出,文件系统数据结构都保持不变(或至少可以从更改日志中修复)。因此,从文件系统的角度来看,答案是“继续,您可以随时拔出驱动器!”
由于 NTFS 是一个日志文件系统,它可以自动修复用于跟踪文件的内部数据结构,因此驱动器本身在逻辑上保持一致。该文件已正确设置为最终大小,并且其目录条目已正确链接。但是您写入文件的数据呢?它从来没有成功过。
尽管 NTFS 很健壮并且可以从意外删除中恢复,但这种健壮性不会扩展到您丢失的数据的内部一致性。
——雷蒙德·陈
归档时间: |
|
查看次数: |
12262 次 |
最近记录: |