我一直认为安全地删除已安装的设备是使用命令umount
,直到最近当我切换到 Ubuntu 12.04 LTS 时,我注意到可以安全地删除设备,这引起了我的好奇心。
我查阅了许多帖子,发现这umount
显然并不意味着我可以安全地移除设备,因为它不会关闭设备。我知道有这个选项eject
。这是我在浏览互联网后的理解。参考资料包括:
- “卸载”、“弹出”和“安全移除驱动器”的困境
-
- umount 仅卸载设备上的单个分区
- 安全删除将卸载设备上的所有分区并关闭设备电源
- 弹出用于 CD、DVD 等介质
然后我遇到了一个文章但发现这个过程很复杂,当我遇到这个命令时,我想我终于找到了答案udisks
。udisks --unmount /dev/sdb1 && udisks --detach /dev/sdb
让我困惑的是(除了这是否umount
意味着可以安全地移除设备而不会丢失数据,以及我是否需要使用sync
之前的命令,以及设备已关闭,安全移除似乎可以实现)为什么我必须使用/dev/sdb
后跟--detach
而不是/dev/sdb1
答案1
/dev/sdb
是整个设备。/dev/sdb1
是该设备上的一个分区。
虽然您可以在不分区的情况下使用磁盘,但这种情况相当罕见(RAID 设置之外,但您需要在 RAID 设备节点上创建文件系统,而不是物理设备节点)。
尝试分离(物理移除)单个分区实际上毫无意义 - 您想要移除整个设备(可能包含多个分区),而不仅仅是该设备的一个分区。
卸载分区将同步文件系统,因此无需sync
提前调用。在设备上 调用将检查该设备上是否未安装任何文件系统(您应确保该调用确实成功),并将执行“有序关闭”,这始终比“拔掉插头”方法更可取,无论该特定设备是否执行任何特殊操作。 unmount
udisks --detach