在我要求操作系统安全删除设备(USB)并且无法再访问它之后。在不插拔 USB 的情况下,如何让操作系统再次访问 USB 设备?
基本上触发与操作系统检测到设备已插入或其他情况时触发的相同事件。
答案1
您可以按照以下步骤操作:
A。 cd /sys/bus/usb/drivers/usb-storage
b.找出您的存储设备连接到哪个 USB 总线。例如,如果它连接到总线“2-1.2:1.0”
C。执行命令
echo -n "2-1.2:1.0" > bind
它会做与插件和插件相同的事情d.您还可以通过执行以下命令卸载存储设备:
echo -n "2-1.2:1.0" > unbind
将总线 ID 替换为适当的总线 ID
答案2
根据您的 DE 等,可能有更简单的方法,但这里有一个适用于任何地方的基本策略:
I. 找出设备节点。
这些都在/dev/
目录中,一旦你明白了,就很容易找到。一大线索是 USB 存储设备通常至少有一个分区。这意味着至少会有二节点,一个用于整个设备,一个用于每个分区。命名方案暴露了这一点,因为如果设备是sda
,第一个分区将是sda1
。如果您查看ls /dev
,您会发现遵循该模式的事情并不多。忽略所有的tty
和vcs
事情。
还有,名字可能遵循与硬盘驱动器相同的模式,按顺序使用a
、b
等c
。例如,如果您有两个硬盘,一个是 ,sda
另一个是sdb
,则随后添加的 USB 设备可能是sdc
。这些每个都有分区(sda1
、sda2
、sdb1
、sdc1
等)。
请注意,可以将设备格式化为没有任何分区,在这种情况下,设备及其上的文件系统由同一没有编号的节点访问(例如sdc
)。您可能还没有这样做,但为了以防万一,请记住这是可能的。
第一次解决这个问题最可靠的方法是ls /dev > one.txt
在设备仍然插入但未安装的情况下进行。现在将其拉出,等待几秒钟,然后ls /dev > two.txt
。然后:diff one.txt two.txt
。无论出现什么,都是您的设备节点的名称。下次可能会相同,除非您有很多经常添加和删除的设备,在这种情况下a
, , b
,c
后缀可能会不同。
您可以使用 为特定设备强制指定特定的设备节点名称udev
,但如果只是为了这个目的,那就不值得费心了。如果您希望在启动时以特定方式安装东西,这会很方便。
二.挂载设备/分区。
您需要超级用户权限:
sudo mount /dev/sdc1 /mnt/usb
首先是分区节点,然后是挂载点。看man mount
。