在 Linux 中使用命令行关闭外部硬盘驱动器、闪存驱动器等

Pea*_*key 8 linux ubuntu

我一直认为安全移除已挂载的设备是使用umount命令,直到最近当我切换到 Ubuntu 12.04 LTS 时,我注意到有能力安全移除设备,这引起了我的好奇。

我翻阅了许多帖子,发现这umount显然并不意味着我可以安全地移除设备,因为它不会关闭设备电源。我知道可以选择eject. 现在这是我在网上搜索后的理解。参考资料包括:

然后我遇到了一篇文章,但发现过程很复杂,我想当我遇到命令时,我终于遇到了麻烦,udisks例如udisks --unmount /dev/sdb1 && udisks --detach /dev/sdb

让我感到困惑的是(除了umount实际上是否意味着在不丢失数据的情况下移除设备是安全的,以及我是否需要sync在它之前使用命令以及设备已断电,这似乎可以安全移除)是为什么我必须使用/dev/sdb后跟--detach而不是/dev/sdb1

Mat*_*Mat 6

/dev/sdb是整个设备。/dev/sdb1是该设备上的一个分区。

虽然您可以使用磁盘而不对其进行分区,但这是很不寻常的(在 RAID 设置之外,但是您在 RAID 设备节点上创建文件系统,而不是在物理设备节点上)。
尝试分离(物理删除)单个分区实际上没有意义——您想要删除整个设备(可以包含多个分区),而不仅仅是该设备的一个分区。

卸载分区将同步文件系统,因此无需调用syncbefore unmount
调用udisks --detach设备检查您在该设备上没有安装文件系统(您应该确保该调用确实成功),并且将执行“有序关闭”,这总是比“拔出插头”方法更可取,无论该特定设备是否有任何特殊功能。