什么时候断开外部硬盘驱动器是安全的?

jco*_*ora 5 hardware debian external-hdd safety

在 Windows 中,有一个“安全删除硬件”的选项。

忽略它几乎总是失败的事实,而且大多数时候我只需要将设备拔掉,我得到了它背后的主动权(虽然不完全)。

那么,在使用 Debian 时,何时移除我的外部硬盘是“安全的”(即不会损害任何一方)?

卸载后(Xfce 似乎使用术语“ejected”,但我想这是同一回事)?或者只是在没有程序使用磁盘时?

phe*_*mer 6

卸载外部驱动器时,移除它是“安全的”。

如果程序不使用它,它可能不安全的原因是 Linux 内核确实写入缓存。这意味着当程序写入磁盘时,该数据可能不在磁盘上,它可能仍在内存中(除非程序使用fsyncfdatasync)。Linux 这样做是为了以大块的方式执行磁盘写入,从而优化吞吐量。

当您卸载文件系统时,它确保无法对磁盘执行进一步的写入。它还执行一个sync调用,以确保所有缓存的数据都被刷新到磁盘。

  • @jasonwryan 当同步返回到 shell 提示时,仍然无法保证所有数据都已写入。见 http://linux.die.net/man/8/sync (3认同)