为什么从 Thunar 弹出后,usb 驱动器与 `lsblk` 不可见?

Pet*_*ver 5 mount thunar unmounting disk lsblk

如果我放入一个 USB 驱动器,它会自动挂载。我可以看到它lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7,5G  0 disk 
??sdb1   8:17   1   7,5G  0 part /media/user/usb-drive
Run Code Online (Sandbox Code Playgroud)

如果我用 umount 卸载它

umount /media/user/sdb1
Run Code Online (Sandbox Code Playgroud)

它仍然可以使用lsblk,但不再安装:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7,5G  0 disk 
??sdb1   8:17   1   7,5G  0 part
Run Code Online (Sandbox Code Playgroud)

但是如果我通过单击 Thunar(xfce 文件管理器)中的弹出图标来弹出它,它将从lsblk. 为什么呢?

dir*_*rkt 5

挂载只是意味着“设置操作系统以主动使用块设备的某些(部分)”。挂载文件系统时,超级块上通常会发生一些“忙”或“脏”的情况,否则硬件不受影响。

OTOH,eject向设备发送 SCSI“START STOP”命令,并设置选项“eject”。闪存 ROM 棒中的 USB 控制器通常通过关闭设备电源并阻止任何进一步交互来做出反应。这意味着它完全从 USB 子系统中消失,必须重新枚举才能再次访问。

相同的命令在发送到 CD/DVD 驱动器时将弹出磁盘,并且“START STOP”命令的现有“加载”选项将再次加载它。但这种解释仅适用于具有可移动媒体的设备。

顺便说一句,您也可以使用ejectfrom 同名包或sg_startfrom 包从命令行发送此 SCSI 命令sg3-utils