当我不在电脑旁时,我的加密USB驱动器意外地被卸载了(尽管当时它仍然处于物理连接状态)。我还无法恢复(尚未尝试重新启动)。现在,我已经完全断开了设备的连接,但是当我尝试删除/ dev / mapper中的悬空条目时,仍然显示“设备或资源繁忙”。是否可以不重新启动就重新连接并安装驱动器?
这是我尝试过的方法(长名称更改为“ xxxxx”)...
$ sudo dmsetup ls
luks-xxxxx (252:1)
luks-yyyyy (252:0)
$ sudo umount /dev/mapper/luks-xxxxx
umount: /dev/mapper/luks-xxxxx: not mounted
$ sudo fuser --kill /dev/mapper/luks-xxxxx
$ echo $?
1
$ sudo dmsetup info -c luks-xxxxx
Name Maj Min Stat Open Targ Event UUID
luks-xxxxx 252 1 L--w 1 1 0 CRYPT-LUKS1-xxxxx-luks-xxxxx
$ sudo dmsetup remove luks-xxxxx
device-mapper: remove ioctl on luks-xxxx failed: Device or resource busy
Command failed
重新连接设备后...
$ sudo cryptsetup luksOpen "/dev/sde1" "luks-xxxxx"
Device luks-xxxxx already exists.
[编辑]这次,我关闭了一个GUI文本编辑器,该文件没有打开的文件,但已从有问题的设备上的文件夹中启动,从而解决了该问题。因此问题变得更加具体:如何确定哪个应用程序使设备处于打开状态?
请记住,这lsof
似乎并不是一个简单的解决方案,因为一旦断开设备的连接,所提供的关联名称将lsof
不再包括断开连接的设备的名称。