當我將資料寫入 USB 裝置(例如記憶棒或外部 HDD)時,Ubuntu 顯示資料正在以非常高的速率傳輸,傳輸速度非常快。但是,當 Ubuntu 說完成時,USB 寫入 LED 會閃爍很久。當我在閃爍期間拔出 USB 時,資料傳輸實際上並未完成,並且並非所有資料都已寫入。
有解決辦法嗎?
答案1
發生這種情況是因為 Ubuntu 從磁碟中取出所有要寫入 USB 的資料並將其保存在 RAM 緩衝區中(取決於 RAM 的容量)。然後Ubuntu顯示資料已寫入USB,但實際上此時資料正在從緩衝區傳輸到USB。因此,如果您在傳輸過程中移除 USB(儘管 Ubuntu 已向您顯示傳輸已完成),您會發現所有資料尚未傳輸。您可以使用
sudo iotop
檢查磁碟和其他 I/O 之間的即時傳輸,當您發現傳輸確實完成時,您可以安全地移除 USB。
答案2
sync
在拉出驅動器之前正確卸載驅動器。現在,sudo umount /path/to/stick
正確卸載它。在 GUI 檔案管理器中,有很多方法可以執行此操作 - 驅動器圖示旁邊可能有一個符號,或者右鍵單擊它並彈出或卸載。
您無法可靠地在任何常見操作系統中拔出一根棍子,因為寫入會被緩存以使您的命令優先- 如果您進行了多次編輯並且它讓您等待每次寫入,您不會喜歡它。它與 Windows 的「安全刪除..」相同