“安全删除驱动器”的命令行等效项是什么?

“安全删除驱动器”的命令行等效项是什么?

Nautilus 的“安全移除驱动器”功能对应的命令行是什么?具体来说,我正在移除一个 USB 闪存驱动器。

答案1

udisks命令很可能就是您正在寻找的。

虽然sudo unmount /dev/sdXY可以工作,但是 udisks 可以在没有 root 级别 (sudo) 权限的情况下执行此操作。

如果您已经/dev/sdXY安装了一个驱动器,其中 X 是表示您的 USB 磁盘的字母,Y 是分​​区号(通常为 1),那么您可以使用以下命令安全地删除该驱动器:

udisks --unmount /dev/sdXY
udisks --detach /dev/sdX

举一个实际的例子,如果我已经安装了分区/dev/sdb1,我会运行这个来卸载并分离它:

udisks --unmount /dev/sdb1
udisks --detach /dev/sdb

如果您的驱动器未安装或从未安装,只需使用第二个命令:

udisks --detach /dev/sdb

我最初是通过这个问题发现这一点的:https://superuser.com/a/430470/176493

使用 udisks2:

在较新的 ubuntu 发行版中(我不确定切换发生的时间),安装的是 udisks2 而不是 udisks。

镜像上述命令,使用 udisks2 卸载并分离磁盘:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

例如如果我的驱动器是/dev/sdb1

udisksctl unmount -b /dev/sdb1
udisksctl power-off -b /dev/sdb

与上述类似,即使没有安装分区,或者从未安装过分区,也可以使用关机来分离驱动器:

udisksctl power-off -b /dev/sdb

答案2

与 Nautilus Mount/Unmount 操作实际等同的是gvfs-mount -m -d /dev/ice /some/directorygvfs-mount -u /some/directory。这使用与 Nautilus 相同的 API,即 GIO 虚拟文件系统 (gvfs),它提供不同的工具来使用多种服务作为挂载点,例如 smb、NFS、FTP、块设备等。

要识别您需要卸载哪个设备,只需使用gvfs-mount -l哪个就足够了。

该解决方案的特点是它不需要提升权限,因为一切都由 umount/gvfsd/polkit 服务管理,这与 Nautilus 行为更加相似。

答案3

了解设备后,可能会使用df以下信息@rcpao 回答,在我看来,“弹出”磁盘的最佳方法是使用与图形界面相同的命令:

udisksctl unmount --block-device /dev/sdc1

我有一个脚本,用于对我知道将安装在下的磁盘进行备份/media/romano/movlin,备份后我会执行以下操作:

sync
udisksctl unmount -b $(mount | grep movlin   | cut -d" "  -f1)

这里mount | grep movlin | cut -d" " -f1将提取标签“movlin”下安装的设备(/dev/sdc1在这种情况下),然后将其卸载。

答案4

eject来自弹出包

sudo eject /dev/sdX

出现在umount所有分区中,并使设备处于必须移除并重新连接才能重新挂载的状态。

相关内容