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


Answers:


38

udisks命令很可能是您要查找的内容。

虽然sudo unmount /dev/sdXY可以使用,但udisk可以在没有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

我最初是通过以下问题找到这个的: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

Detach failed: Not Authorized当我尝试在没有root特权的情况下运行它时,我得到了。(不是一个严重的问题,而是一个小小的更正。)
Jonathan Y.

您正在运行哪个版本的Ubuntu?另外,您是如何安装驱动器的?如果您使用root权限进行挂载,或者以其他用户身份登录(与当前用户中的Nautilus或udisk相对)登录,则您的用户将无权使用进行卸载udisks
daboross

2
是的,我与一起坐骑sudo,但umount在尝试之前也曾进行过教育--detach。这是ubuntu服务器的可信赖版本。
乔纳森·Y.

嗯,那可能与Ubuntu服务器有所不同。在我的桌面上,无需root权限即可进行分离。
daboross

2
@morhook查看带有udisks2支持的更新答案!
daboross

20

与Nautilus挂载/卸载操作实际等效的是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行为。


2
这似乎是最正确的答案。尽管我们许多人习惯于udisks(以其他方式提出建议)认为非root用户在台式机上安装和卸载可移动磁盘的“方式”,但此处所述gvfs-mount可能会使用其他机制。(在我的Ubuntu MATE Utopic系统上,甚至没有安装udisks软件包。)
Eliah Kagan

1
Ubuntu 18.40可以gio替代gvfs-mount。
斯图狗

12

知道设备后,可能使用@rcpao answer中df信息,“弹出”磁盘的最佳方法是imho,使用与图形界面相同的命令:

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在这种情况下),然后将其卸载。


真的有必要手动运行sync之前udisksctl unmount
伊莱亚·卡根

可能不是。但是我不确定总体上缓存的正确行为。我有时觉得USB驱动器在卸载后仍在闪烁……几秒钟。可以说这是古老的遗迹sync; sync; sync && poweroff……
Rmano

@Rmano我已经看过多次在所谓拆卸的闪存驱动器上的闪烁(通常是通过KDE下的gui完成)。我尝试先将其拔出,然后再拔出电源。(在我未经训练的眼睛中)确实看起来不太正确。没有活动指示灯的闪存驱动器甚至更糟。
2014年

1
Rmano,因为udisks在Ubuntu中默认不再存在,所以它udisksctl可能是首选的解决方案。udisksctl power-off --block-device /dev/sdc关闭外部USB闪存驱动器上的灯,因此可能适合作为下一个遵循您的命令的命令。
H2ONaCl

8
  1. df查找闪存驱动器的安装点。

    rcpao@bun:~$ df
    Filesystem                   1K-blocks       Used  Available Use% Mounted on
    /dev/mapper/ubuntu--vg-root 1916153032  658404668 1160390336  37% /
    none                                 4          0          4   0% /sys/fs/cgroup
    udev                          16438692          4   16438688   1% /dev
    tmpfs                          3289976       2156    3287820   1% /run
    none                              5120          0       5120   0% /run/lock
    none                          16449860      18768   16431092   1% /run/shm
    none                            102400         48     102352   1% /run/user
    /dev/sda1                       240972      98990     129541  44% /boot
    /dev/sdc1                     60915712      20992   60894720   1% /media/rcpao/SD024-64GB
    
  2. 使用/ dev / sdc1或/ media / rcpao / SD024-64GB卸载。

    rcpao@bun:~$ sudo umount /dev/sdc1
    [sudo] password for rcpao: 
    rcpao@bun:~$
    

    要么

    rcpao@bun:~$ sudo umount /media/rcpao/SD024-64GB
    [sudo] password for rcpao: 
    rcpao@bun:~$
    
  3. 一旦卸载完成,您应该就能看到闪存驱动器的弹出图标在鹦鹉螺中消失了。


2
df看起来对于识别设备的位置非常有用。
H2ONaCl 2014年

2
对于闪存驱动器,这是合理的。对于磁盘驱动器,“安全删除”还会将其旋转下来,而该解决方案无法做到这一点(请参阅DaboRoss的回答)。
Nate Eldredge 2014年

3
是的,udisks --detach对于卸载后完全分离驱动器很有帮助。
daboross 2014年

1
df并且umount是标准的UNIX工具。了解它们总是很高兴,因为它们udisks取决于dbus和正在运行的udisksd,它们始终可以工作。
西蒙·里希特

1
@NateEldredge:“对于闪存驱动器来说,这是合理的……” –实际上,这不是,我为此投票。的cp /path/to /drive && umount drive。这使2个闪存驱动器(暂时)无法写入,直到我意识到是导致它的命令。在Windows计算机上运行“扫描和修复”可修复驱动器。DaboRoss在下面的回答要安全得多。
Andy E

2

eject弹出包装中

sudo eject /dev/sdX

出现在umount所有分区上,并将设备置于必须卸下并重新连接以重新安装的状态。


对于一些应用程序,此弹出命令是执行此操作的最佳方法。其他大多数答案都“足够好”,但从技术上讲,Nautalis上的弹出图标不会执行关闭设备电源之类的操作。以我的经验,弹出式按钮更接近弹出式USB按钮本身的功能。如果要避免使用sudo,可以将自己添加到磁盘组(需要注销并登录)。为此的命令是“ sudo adduser用户磁盘”
SpiRail
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.