当您不卸载而拔出USB驱动器时,您的操作系统会警告您有关此设备操作的可怕程度(我在OSX上)。
我通常会遵循建议,在拔出插头之前先卸装,但是很多次(成千上万次)的情况是,在完成任务后,我只是拔下了插头(高清存储,手机等),而我从没注意到损坏的数据设备。
我很幸运,还是可以不理会这个烦人的警告?
sync
,等待几秒钟,然后拔下电源。
当您不卸载而拔出USB驱动器时,您的操作系统会警告您有关此设备操作的可怕程度(我在OSX上)。
我通常会遵循建议,在拔出插头之前先卸装,但是很多次(成千上万次)的情况是,在完成任务后,我只是拔下了插头(高清存储,手机等),而我从没注意到损坏的数据设备。
我很幸运,还是可以不理会这个烦人的警告?
sync
,等待几秒钟,然后拔下电源。
Answers:
要么您很幸运从来没有损坏过数据,要么很不幸运从未注意到您的数据已损坏。
当您执行应在磁盘上写入的操作时,大多数操作系统会将写入操作放入队列中。他们不时刷新队列。(我在这里将其称为队列,但实际上操作可能会乱序执行,操作系统会在速度更快时给出最终结果相同的结果。)这可以使写入操作快得多,这都是因为系统会尝试在没有更好的事情要做时执行它们,因为它可以智能地对它们进行分组。
如果您在编写所有内容之前碰巧拔下设备的电源,则可能会丢失最新数据。更糟糕的是,如果操作系统无法按顺序执行操作,则可能会使设备进入不一致状态,并且丢失的数据可能超过最新数据。
对于可移动设备,某些操作系统进入更为保守(但较慢)的模式,以降低与在设备卸载之前拔出设备相关的风险。
添加:
乱序操作有时不只是速度问题。廉价的闪存介质(在硬件级别上不进行扇区重新分配)对您可以在任何给定扇区上写入的次数有所限制。如果您天真地将所有更改写进去,这会杀死(V)FAT文件系统(可移动驱动器最常见的情况)中包含文件分配表的扇区或典型现代文件系统中的日志。(例如,请参见Linux Kernel邮件列表上的讨论sync
。)在这里,每次写入文件时不更新FAT或日志不仅会带来很大的性能提升,而且对硬件的使用寿命也有好处。
直到最近,Linux仍在sync
(写所有更改时)和async
(在方便时写)之间做出选择。最新版本引入了flush
用于FAT文件系统的选项,该选项介于两者之间(一旦磁盘变为非活动状态,则刷新所有延迟的写入);在Ubuntu 10.04中默认为启用。
另外,卸载可移动驱动器可确保没有应用程序打开文件。如果您没有在拔出前卸载,则直到太晚之前您都不会注意到是否有未保存的数据。在文件打开时卸载在文件系统级别(操作系统可能已将某些操作排队,直到关闭文件)和应用程序级别(例如,如果应用程序放置了锁定文件,它将不会)都增加了损坏的机会。被删除)。
sync
安装!:D
sync
有时候伤害不只是性能,请参阅我的编辑。
您面临的主要风险是书写延迟。由于各种原因,系统在通知数据时并不总是将数据写入磁盘,而是将其保存在内存中。卸载时,请确保将所有内容写入磁盘(并确保当前未使用磁盘)。您可能会知道当前是否正在写入磁盘,但是您可能没有意识到您的操作系统尚未写入您之前要求写入的所有内容。
频率取决于您的系统以及对USB驱动器的处理方式。如果卸载通常很慢,并且您可以听到驱动器发出的写入噪音,则您可能应该继续卸载。如果卸载始终是即时的,请随时跳过此步骤,后果自负。
当写入驱动器时,我已经看到过早地将其卸除而导致损坏。虽然操作系统不会正常保存未写入的数据,但是XP至少会接受备份的写入请求。
我曾有人将文件复制到闪存驱动器上,一旦复制完后在屏幕上立即将文件交给我-文件已损坏。
在某些东西也已经完成复制到闪存驱动器之后,我已经看到写入灯闪烁了几秒钟。
相信我,是的。
您可能没有什么可以访问USB驱动器,但实际上是什么。这样,我已经丢弃了3个外部备份硬盘,并且丢失了近2 TB的数据。
始终在拔出插头之前先卸下。
Windows 10系统上的另一种情况是,当系统处于休眠状态时,物理上卸下了(此处为64 Gb,没有readyboost)闪存驱动器。从休眠状态启动系统软件后,对闪存棒上任何更改的文件进行移动或复制可能会导致文件或目录损坏以及无法读取的错误。
要绕过该错误(以及产生一个或两个chk片段的必要chkdsk操作,并“恢复”原本非常健康的驱动器),我们尝试right_click_on_drive_to_eject或卸下该存储棒。很好,但是当用户随后在“设备”中禁用/启用该驱动器时,该驱动器将不会出现在任何资源管理器窗口中,并且在“ 磁盘管理”中仍显示为“ 无介质”。完全重新连接设备的唯一方法是简单地物理断开并重新连接设备。
因此,最好先拔下设备,然后再拔出电源。