我能够一一卸载任何 HDD 分区(辅助存储),但是当我弹出任何一个时,它会弹出所有已安装的分区。两个分区都在同一个硬盘上。这是功能还是错误?
介绍
我在几台机器(带有 USB 2.0 和 USB 3.0 的笔记本电脑和台式机)上使用带有最新 4.4 Linux 内核的 Ubuntu MATE 16.04.5 LTS。
对我来说,内核的 USB 驱动程序内部似乎发生了一些变化(或者可能udisks
)。或者 USB 闪存硬件变得更便宜和低质量。
我的 USB 闪存有 LED 指示灯。是杂牌礼物(ChipsBank CBM2099E控制器)。
当我将它连接到计算机时 - 它的 LED 指示灯亮起,传输数据时它会闪烁。
我的主要想法:当我看到闪烁的指示灯时,我认为闪存很忙,所以我不应该断开它以防止数据损坏。
问题
预期行为
许多闪光灯 - 老创见 JFV60、JF110、JF150、JF500、现代 JF790;Kingston Data Traveler G2 和 ADATA UE700、SanDisk Extreme Pro 都没有这种持续闪烁的问题。他们在选择弹出选项后停止闪烁,并显示设备可以安全移除的气泡消息:
有问题的闪存的行为
当我通过按弹出菜单选项从 Caja 文件管理器或 GNOME 磁盘中弹出有问题的 USB 闪存驱动器时,闪存 LED 持续快速闪烁。我试图等待大约一个小时,但在这段时间之后仍然闪烁。即使我没有在驱动器上写任何东西,也会发生这种情况。通知气泡未显示。
问题
我的问题 - 这种闪烁问题的原因可能是什么?只有我吗?断开这种闪烁的闪光灯是否安全(对于数据)?
注释和更新
笔记
1. 我不在这里询问写缓存和/或sync
驱动器的缓慢下降。它在很大程度上取决于 RAM 大小和闪存的实际写入速度。在没有写入数据的情况下存在上述行为。
2. 所有这些flash 在Windows 上都没有弹出功能的问题。在点击Eject / Safely remove后,它们会关闭 LED 。
3. 在 GNOME Disks 中选择Power off this disk ( ) 会强制 flash 停止闪烁,但我不确定在这种情况下的数据安全性(对于这个特定的 flash;对于其他 flash 和 USB HDD 或 SSD,它是安全的,我知道它)。
4. 我知道,例如 WD MyPassport USB 硬盘驱动器在安全移除后会将闪烁速度从快速变为慢速消光,但这是另一回事,因为它之前已经减速并停放,所以之后拔掉它是安全的. 所以我不认为USB闪存的闪烁表明他们正在轮询并强制用户将其分离......
更新
1.下面是实时输出tail -f /var/log/syslog
Nov 11 23:37:35 hostname kernel: [32596.101403] scsi 7:0:0:0: Direct-Access General UDisk 5.00 PQ: 0 ANSI: 2
Nov 11 23:37:35 hostname kernel: [32596.102526] sd 7:0:0:0: Attached scsi generic sg2 type 0
Nov 11 23:37:35 hostname kernel: [32596.104745] sd 7:0:0:0: [sdc] 31129600 512-byte logical blocks: (15.9 GB/14.8 GiB)
Nov 11 23:37:35 hostname kernel: [32596.107594] sd 7:0:0:0: [sdc] Write Protect is off
Nov 11 23:37:35 hostname kernel: [32596.107611] sd 7:0:0:0: [sdc] Mode Sense: 0b 00 00 08
Nov 11 23:37:35 hostname kernel: [32596.107792] sd 7:0:0:0: [sdc] No Caching mode page found
Nov 11 23:37:35 hostname kernel: [32596.107805] sd 7:0:0:0: [sdc] Assuming drive cache: write through
Nov 11 23:37:35 hostname kernel: [32596.109561] sdc:
Nov 11 23:37:35 hostname kernel: [32596.110621] sd 7:0:0:0: [sdc] Attached SCSI removable disk
Nov 11 23:37:35 hostname udisksd[2294]: Mounted /dev/sdc at /media/username/FLASHDEVICE on behalf of uid 1000
Nov 11 23:37:52 hostname udisksd[2294]: Cleaning up mount point /media/username/FLASHDEVICE (device 8:32 is not mounted)
Nov 11 23:37:52 hostname udisksd[2294]: Unmounted /dev/sdc on behalf of uid 1000
请注意此处的最后几行,在 23:37:35 设备已从文件管理器中卸载/弹出,在 23:37:52 udisks 将其删除,但其 LED 仍在闪烁。
2. 遵循@WinEunuuchs2Unix 的想法,我尝试了 UDisks(旧版,由于从 12.04 升级而保留在我的系统上)和 UDisks2(现代和实际)来执行安全删除过程 - 两者
#udisks1 (legacy)
udisks --unmount /dev/sdc1 && udisks --detach /dev/sdc
#udisks2 (modern)
udisksctl unmount -b /dev/sdc1 && udisksctl power-off -b /dev/sdc
仅用我的一个闪光灯结束了相同的 LED 闪烁问题。
3. 在我的旧 Ubuntu 12.04.5 LTS 上重复上述方法,此处 LED 在有问题的闪存上闪烁。所以这是一个USB闪存硬件问题。
结论
我的基于 ChipsBank CBM2099E 的无名闪存与 Linux 和/或 Udisk 之间存在一些软硬件不兼容。其他闪烁(在上面的预期行为中列出)没有问题。
在同一台笔记本电脑上运行的 Windows 8.1 中,它的安全删除成功并且 LED 熄灭。
注意:现在已更新答案以在 19.04 下运行
我在 14.04 上,不小心每天打开我的 cd/dvd/bluray 驱动器大约 20 次。我在这里查看了一些没有提供有效解决方案的问题。
当我这样做时,eject -i on
我遇到了eject: unable to find or open device for: 'cdrom'
当我这样做时,eject -i on /dev/sr0
我得到了更有利的回应:CD-Drive may NOT be ejected with device button
但是不幸的是该按钮仍然处于启用状态。
来自的信息/proc/sys/dev/cdrom/info
表明锁定是可能的:
CD-ROM information, Id: cdrom.c 3.20 2003/12/17
drive name: sr0
drive speed: 24
drive # of slots: 1
Can close tray: 1
Can open tray: 1
Can lock tray: 1
Can change speed: 1
Can select disk: 0
Can read multisession: 1
Can read MCN: 1
Reports media changed: 1
Can play audio: 1
Can write CD-R: 1
Can write CD-RW: 1
This answer有一个有效的解决方案,它修复了 UDEV 规则以启用锁定驱动器。我在解决方案中添加了一些实用信息,允许您:
- 在启动时禁用光驱硬件弹出按钮
- 添加键盘快捷键以弹出光驱
- 确保驱动器从挂起状态唤醒后保持锁定状态