我通过 ssh 连接到 Debian 计算机。我需要做的是安全地移除外部 USB 存储设备。
我已经发现这回答类似问题。建议之一是通过执行 弹出或卸载sudo eject /dev/sda
。现在我的问题是我没有 /dev/sd*。所以下一个建议的解决方案是通过 echo
'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
现在我的问题又来了。我怎么知道我的 USB 硬盘是 sdb 而不是 sda、sdc 或 sdd?
lsusb `just shows me` Bus 002 Device 008: ID 1058:25a2 Western Digital Technologies, Inc. Elements 25A2
你有什么想法吗?提前致谢
答案1
你做的事情太复杂了。;-)
通常执行以下操作即可:
umount
已安装的媒体(如果设备有多个分区,则对所有分区执行此操作)。- 执行
eject /dev/sdN
(或任何/dev/disk/by-id/...
对您更有用的操作;或来自 下另一个层次结构的设备/dev/disk
)。
您可能会在这两者之间穿插一个调用sync
,但我认为这是真正偏执的人的专利,因为它eject
应该负责强制内核将所有缓冲数据推送到设备。请参阅eject(1)
。
答案2
这些适用于我的 debian11 系统:
卸载:
udisksctl 卸载 --块设备 /dev/sdb1
要关闭(即安全移除)设备:
udisksctl 关闭电源 --块设备 /dev/sdb