Answers:
该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。
在较新的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特权的情况下运行它时,我得到了。(不是一个严重的问题,而是一个小小的更正。)
udisks
。
sudo
,但umount
在尝试之前也曾进行过教育--detach
。这是ubuntu服务器的可信赖版本。
与Nautilus挂载/卸载操作实际等效的是gvfs-mount -m -d /dev/ice /some/directory
和gvfs-mount -u /some/directory
。它使用了Nautilus使用的相同API,即GIO虚拟文件系统(gvfs),它提供了不同的工具来使用多个服务作为挂载点,例如smb,NFS,FTP,块设备等。
要确定您需要卸载的设备,只需使用gvfs-mount -l
应该足够的设备即可。
此解决方案具有不需要提高权限的特殊性,因为所有内容均由umount / gvfsd / polkit服务管理,这进一步类似于Nautilus行为。
udisks
(以其他方式提出建议)认为非root用户在台式机上安装和卸载可移动磁盘的“方式”,但此处所述gvfs-mount
可能会使用其他机制。(在我的Ubuntu MATE Utopic系统上,甚至没有安装udisks软件包。)
gio
替代gvfs-mount。
知道设备后,可能使用@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
?
sync; sync; sync && poweroff
……
udisks
在Ubuntu中默认不再存在,所以它udisksctl
可能是首选的解决方案。udisksctl power-off --block-device /dev/sdc
关闭外部USB闪存驱动器上的灯,因此可能适合作为下一个遵循您的命令的命令。
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
使用/ 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:~$
一旦卸载完成,您应该就能看到闪存驱动器的弹出图标在鹦鹉螺中消失了。
df
看起来对于识别设备的位置非常有用。
udisks --detach
对于卸载后完全分离驱动器很有帮助。
df
并且umount
是标准的UNIX工具。了解它们总是很高兴,因为它们udisks
取决于dbus和正在运行的udisksd,它们始终可以工作。
cp /path/to /drive && umount drive
。这使2个闪存驱动器(暂时)无法写入,直到我意识到是导致它的命令。在Windows计算机上运行“扫描和修复”可修复驱动器。DaboRoss在下面的回答要安全得多。