安全移除USB设备
出自Linux Wiki
Linux中没有像Windows一样的“安全删除设备”的图标,但在Linux中安全删除硬件并不复杂。
目录 |
图形界面
使用图形界面时,一般只需要在相应的磁盘图标上点右键,选择“卸载”即可。如果卸载失败,请确保已没有程序访问该磁盘,再试一次。[1]如果仍然失败,可以参考命令行界面的处理方法(使用sync部分)。
只要卸载成功,这种方法就是安全的,因为缓冲内容会写入磁盘,不会造成数据丢失。此时设备的工作指示灯一般不会熄灭,这与Windows XP/2003的行为有所不同,如果你一定希望此类指示灯也熄灭,请参见命令行界面的卸载方法。
命令行界面
使用eject命令
eject命令[2]曾被广泛应用于弹出光驱,实际上它也可以用于“弹出”USB、磁带等设备。只要为其指明设备名,就可以完成卸载分区等操作。使用eject通常可以让USB设备的工作指示灯熄灭。
eject的使用方法为:
eject 设备名
如
eject sdb
注意到eject允许用户省略设备名前如/dev,/mnt,/media之类的前缀。另外如果要卸载有多个分区的移动硬盘,这种方法也较为简便(只要给出设备名即可)。
使用umount卸载
使用umount命令卸载分区实现的行为与图形界面点“卸载”类似,命令格式为:
# umount 设备名或挂载点
设备名为具体的USB磁盘上分区的设备名,如/dev/sda,/dev/sdb1等。
如果umount命令失败,一般是由于还在访问相应分区所导致的。注意即便是当前的工作目录在USB分区的目录内,也会导致umount失败。如果umount命令实在不能成功,请参考以下解决方法。
使用sync同步文件
系统一般会为USB设备建立缓冲区,对USB设备的读写一般都经过缓冲区,如果拔下USB设备时有缓冲区中的内容未写入USB设备,就可能导致数据丢失。umount命令执行成功时可以保证缓冲区被处理,但如果umount失败,你可以选择手动执行同步命令:[3]
sync
当umount不成功时,执行这一命令后再拔出USB设备可以大大减小丢失数据的可能性。