安全移除USB設備

此頁由 Linux Wiki用戶Chenxing 於 2012年6月23日 (星期六) 00:46 的最後更改。

從 Linux Wiki

提示:此文已超过 12 年(4566 天)未更新,如发现内容过时或有误,欢迎改进:)

Linux中沒有像Windows一樣的「安全刪除設備」的圖標,但在Linux中安全刪除硬件並不複雜。

目錄

圖形界面

使用圖形界面時,一般只需要在相應的磁盤圖標上點右鍵,選擇「卸載」即可。如果卸載失敗,請確保已沒有程序訪問該磁盤,再試一次。[1]如果仍然失敗,可以參考命令行界面的處理方法(使用sync部分)。

只要卸載成功,這種方法就是安全的,因為緩衝內容會寫入磁盤,不會造成數據丟失。此時設備的工作指示燈一般不會熄滅,這與Windows XP/2003的行為有所不同,如果你一定希望此類指示燈也熄滅,請參見命令行界面的卸載方法。

命令行界面

使用eject命令

eject命令[2]曾被廣泛應用於彈出光驅,實際上它也可以用於「彈出」USB、磁帶等設備。只要為其指明設備名,就可以完成卸載分區等操作。使用eject通常可以讓USB設備的工作指示燈熄滅。

eject的使用方法為:

eject 设备名

eject sdb

注意到eject允許用戶省略設備名前如/dev,/mnt,/media之類的前綴。另外如果要卸載有多個分區的移動硬盤,這種方法也較為簡便(只要給出設備名即可)。

Hint.gif
提示:
有關Linux中對設備命名的具體規則,請參見設備文件
Note.gif
TODO:
Ubuntu中使用eject命令卸載的分區會被再次自動掛載,如何解決這一問題?

使用umount卸載

使用umount命令卸載分區實現的行為與圖形界面點「卸載」類似,命令格式為:

# umount 设备名或挂载点

設備名為具體的USB磁盤上分區的設備名,如/dev/sda/dev/sdb1等。

如果umount命令失敗,一般是由於還在訪問相應分區所導致的。注意即便是當前的工作目錄在USB分區的目錄內,也會導致umount失敗。如果umount命令實在不能成功,請參考以下解決方法。

使用sync同步文件

系統一般會為USB設備建立緩衝區,對USB設備的讀寫一般都經過緩衝區,如果拔下USB設備時有緩衝區中的內容未寫入USB設備,就可能導致數據丟失。umount命令執行成功時可以保證緩衝區被處理,但如果umount失敗,你可以選擇手動執行同步命令:[3]

sync

當umount不成功時,執行這一命令後再拔出USB設備可以大大減小丟失數據的可能性。

參考資料

  1. Ubuntu 英文論壇上的討論
  2. et8.net上的討論
  3. LinuxSir.org上的討論

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
個人工具
简体繁体转换