![如何使用终端安全地远程移除 Debian 中的 USB 硬盘](https://linux22.com/image/1608298/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BB%88%E7%AB%AF%E5%AE%89%E5%85%A8%E5%9C%B0%E8%BF%9C%E7%A8%8B%E7%A7%BB%E9%99%A4%20Debian%20%E4%B8%AD%E7%9A%84%20USB%20%E7%A1%AC%E7%9B%98.png)
我通过 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