当我在 Nautilus 中以用户身份按下“安全移除驱动器”时,我的 USB 3.0Transcent Storejet 25H3驱动器会立即重新连接。
没有这种行为的情况下我怎样才能安全地将其删除?
我认为唯一的解决方案是禁用 Ubuntu 中的自动挂载。我现在这样做了: 如何在 nautilus 的偏好设置中禁用自动挂载
但这很遗憾,因为现在我的外部音乐库不再自动挂载了。
有没有解决方案可以解决硬盘在安全删除时无法重新安装的问题?!
答案1
至少对于这个 Ubuntu 有效:
$ lsb_release -d
Description: Ubuntu 14.04.1 LTS
我发现:
$ udisksctl mount --block-device /dev/$device
... 将以与自动挂载相同的方式挂载 /dev/xxx,
即 -/media/$USER/Disk_Label-or-UUID/
使用自动创建的最后一级目录。
$ udisksctl unmount --block-device /dev/$device;
... 将执行umount
上述操作,但不会“弹出”存储卡/USB 读卡器内容。
$ gvfs-mount --eject "file:///media/$USER/DISK_LABEL"
...最后似乎等同于“安全删除”或“弹出” - 并且无需立即重新安装。
注意:$ udisksctl power-off --block-device /dev/$device;
... 本来是一个“自然”的选择,但却受到立即重新挂载的阻碍。
编辑--- 您可以使用此脚本“卸载所有”,而不必挖出名称:
#! /bin/bash
#
for device in $(mount | grep "/media/$USER/" | cut -d" " -f1); do
echo Unmounting $device
udisksctl unmount --block-device $device
done
如果你喜欢弹出,请在命令中将 更改-f1
为,并将行更改为-f3
cut
udiskctl
gvfs-mount --eject "file://$device"
(我认为 --- 您在正确引用带有空格的标签时可能会遇到问题;并且如果设备安装了多个分区,您会收到警告)。
$ lsblk
... 将显示所有可用的块设备(除了 RAM 磁盘,无需 sudo).
RAM 和循环--> lsblk --all
.
如何“自动挂载”标记磁盘?
打开 Dash(按下“Super”键)并输入“startup appl”,然后会出现“启动应用程序”,单击它。单击Add并在“名称”和“注释”字段中输入任何内容。然后在“命令”中填写您的版本:
/bin/bash -c '/bin/sleep 5 && /usr/bin/udisksctl mount -b /dev/disk/by-label/GreenWD_3TB'
...你从 展示/dev/disk/by-label/GreenWD_3TB
中找到合适的东西在哪里ls -lR /dev/disk/* | less
更多的:
如何从命令行访问 gvfs 挂载?
如何像 nautilus 一样使用 udisks 在 /media/userName/ 中安装驱动器