如何删除 USB 驱动器而不用担心它是否已被卸载?

slm*_*slm 11 linux usb mount usb-drive

有时我拔下我的 USB 驱动器却发现文件没有写入其中。

我想确保文件被写入的唯一方法是右键单击桌面上的 USB 驱动器,然后选择“卸载”,但有时我会忘记。

确保文件立即写入 USB 驱动器的最佳方法是什么?这样我就可以在注意到 USB 驱动器上的 LED 灯停止闪烁时立即移除 USB 驱动器。

操作系统:CentOS 6

slm*_*slm 18

这是 Gilles 的答案,将其保存在此处以免丢失。

如果您sync在可移动驱动器上使用挂载选项,所有写入都会立即写入磁盘,因此您不会丢失尚未写入的文件中的数据。这是一个坏主意,但它可以满足您的要求。

请注意,这sync并不能保证您不会丢失数据。卸载可移动驱动器还可确保没有应用程序打开文件。如果您在拔下插头之前不卸载,您将不会注意到是否有未保存的数据,直到为时已晚。在文件打开时卸载也会增加损坏的可能性,无论是在文件系统级别(操作系统可能已将某些操作排队直到文件关闭)和应用程序级别(例如,如果应用程序放置一个锁定文件,它不会t 被删除)。

此外,sync对设备的使用寿命不利。如果没有该sync选项,内核会重新排序写入并批量写入。使用该sync选项,内核会按照应用程序请求的顺序写入每个扇区。在不重新分配扇区的廉价闪存介质上(意味着几乎所有较旧的 USB 记忆棒,我不知道最近的 USB 记忆棒是否仍然如此),重复写入 (V)FAT 上的文件分配表或日志在典型的现代文件系统上可以很快杀死棒

因此我不建议使用syncmount 选项。

在 FAT 文件系统上,您可以使用flush挂载选项。这是介于async(默认)和sync:之间的flush选项,一旦驱动器空闲,内核就会刷新所有写入,但它不会保留写入顺序(例如,所有写入 FAT 都被合并)。


msw*_*msw 12

病人:“医生,我做这个的时候很痛。”
医生:“好吧,不要那样做。”
——也许是马克思兄弟,但如果是这样,他们很可能是从其他杂耍演员那里偷来的

两个答案都很好,但我确实质疑这个问题。如果您不记得在移除 U 盘之前正确卸载它,也许您应该更牢记。

一般来说,这个问题没有很好的解决方案。最初的 Macintosh(约 1984 年)有一个 90 毫米软盘驱动器,没有合适的弹出按钮。你要么卸载了磁盘,要么它就不会出来。当软件拒绝弹出磁盘时,它们确实提供了覆盖,但是您需要一个特殊工具(未弯曲的回形针)来启动它。回形针形成了唐诺曼式的“强制功能”,因为很难不知道您正在将回形针卡入 1 毫米的孔中。

由于 USB 连接器的机制,很难为拇指驱动器设计类似的强制功能。因此,诅咒:不要在没有卸载的情况下删除。此外,乘坐没有安全带的汽车也是不明智的,几乎所有尝试过的强制功能都未能达到预期的目的。