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

Linux中没有像Windows一样的“安全删除设备”的图标,但在Linux中安全删除硬件并不复杂。

图形界面

使用图形界面时,一般只需要在相应的磁盘图标上点右键,选择“卸载”即可。如果卸载失败,请确保已没有程序访问该磁盘,再试一次。

只要卸载成功,这种方法就是安全的,因为缓冲内容会写入磁盘,不会造成数据丢失。此时设备的工作指示灯一般不会熄灭,这与Windows XP/2003的行为有所不同,如果你一定希望此类指示灯也熄灭,请参见命令行界面的卸载方法。

命令行界面

使用eject命令

eject命令设备名,就可以完成卸载分区等操作。使用eject通常可以让USB设备的工作指示灯熄灭。

eject的使用方法为:

eject 设备名

eject sdb

注意到eject允许用户省略设备名前如/dev,/mnt,/media之类的前缀。另外如果要卸载有多个分区的移动硬盘,这种方法也较为简便(只要给出设备名即可)。

android 9去掉usb权限弹窗 手机安全移除usb设备_linux内核如何移除usb设备

提示:

有关Linux中对设备命名的具体规则,请参见设备文件。

android 9去掉usb权限弹窗 手机安全移除usb设备_图形界面_02

TODO:

Ubuntu中使用eject命令卸载的分区会被再次自动挂载,如何解决这一问题?

使用umount卸载

使用umount命令卸载分区实现的行为与图形界面点“卸载”类似,命令格式为:

# umount 设备名或挂载点

设备名为具体的USB磁盘上分区的设备名,如/dev/sda,/dev/sdb1等。

如果umount命令失败,一般是由于还在访问相应分区所导致的。注意即便是当前的工作目录在USB分区的目录内,也会导致umount失败。如果umount命令实在不能成功,请参考以下解决方法。

使用sync同步文件

系统一般会为USB设备建立缓冲区,对USB设备的读写一般都经过缓冲区,如果拔下USB设备时有缓冲区中的内容未写入USB设备,就可能导致数据丢失。umount命令执行成功时可以保证缓冲区被处理,但如果umount失败,你可以选择手动执行同步命令:

sync

当umount不成功时,执行这一命令后再拔出USB设备可以大大减小丢失数据的可能性。