介绍

介绍

介绍

我在几台机器(带有 USB 2.0 和 USB 3.0 的笔记本电脑和台式机)上使用带有最新 4.4 Linux 内核的 Ubuntu MATE 16.04.5 LTS。

在我看来,内核的 USB 驱动程序内部似乎发生了一些变化(或者可能udisks)。或者 USB 闪存硬件变得更便宜且质量更差。

我的 USB 闪存有 LED 指示灯。它是无名礼物(ChipsBank CBM2099E 控制器)。

当我将它连接到计算机时,LED 指示灯亮起,数据传输时指示灯闪烁。
我的主要想法是:当我看到指示灯闪烁时,我猜想闪存正忙,因此我不应该断开它以防止数据损坏。

问题

预期行为

多次闪烁 - 旧款 Transcend JFV60、JF110、JF150、JF500、新款 JF790;Kingston Data Traveller G2 和 ADATA UE700、SanDisk Extreme Pro 不存在此类连续闪烁问题。它们在选择后立即停止闪烁喷射选项并显示气泡消息,表示设备可以安全移除:

有问题的闪存的行为

当我从 Caja 文件管理器或 GNOME 磁盘中弹出有问题的 USB 闪存驱动器时,请按喷射菜单选项中,闪光灯 LED 以快速速率持续闪烁。我尝试等待大约一个小时,但这段时间过后它仍然闪烁。即使我没有在驱动器上写入任何内容,也会发生这种情况。通知气泡未显示。

问题

我的问题是 - 这种闪烁问题可能是什么原因造成的?只有我一个人这样吗?断开这种闪烁的闪光灯是否安全(对于数据而言)?

说明和更新

笔记

1. 我在这里不问写入缓存和/或sync驱动器的缓慢下降。这在很大程度上取决于 RAM 大小和闪存的实际写入速度。在没有写入数据的情况下存在上述行为。
2. 所有这些闪存在 Windows 上都没有弹出功能问题。它们在单击后 LED 熄灭喷射/安全移除.
3. 选择关闭此磁盘关机) 在 GNOME Disks 中强制闪存停止闪烁,但我不确定在这种情况下数据是否安全(对于这个特定的闪存;对于其他闪存和 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 熄灭。

答案1

Eject选择后 LED 闪烁的问题鹦鹉螺,与 2013 年的 Launchpad Bug 报告非常接近:

该错误报告仅有 5 名订阅者,并且已作为 2011 年该错误报告的重复而被关闭:

后一个错误报告有 155 个订阅者,并且:

  • 2017 年 10 月修复已针对 Trusty (Ubuntu 14.04 LTS) 进行分类
  • Xenial(Ubuntu 16.04 LTS)2017 年 10 月修复已发布
  • Yakkety(Ubuntu 16.10)的 2017 年 10 月修复已发布

仔细查看第一个错误报告(已关闭为重复报告),您会看到作者提到udisks需要如何进行修补。然而,应用该补丁的两位用户报告没有成功。

我认为在错误报告中他们忽略了某个用户输出的一些重要方面。以下是我的系统的等效输出(有效):

$ gvfs-mount -li

Drive(3): 3SYSTEM USB Flash Disk
  Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
  ids:
   unix-device: '/dev/sdb'
  themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
  symbolic themed icons:  [drive-removable-media-usb-symbolic]  [drive-removable-media-symbolic]  [drive-removable-symbolic]  [drive-symbolic]  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
  is_media_removable=1
  has_media=1
  is_media_check_automatic=1
  can_poll_for_media=0
  can_eject=1
  can_start=0
  can_stop=0
  start_stop_type=shutdown
  sort_key=01hotplug/1546789639130384

  Volume(0): LIVE_USB
    Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
    ids:
     class: 'device'
     unix-device: '/dev/sdb1'
     uuid: '641A-A7DB'
     label: 'LIVE_USB'
    themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    symbolic themed icons:  [drive-removable-media-usb-symbolic]  [drive-removable-media-symbolic]  [drive-removable-symbolic]  [drive-symbolic]  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
    can_mount=1
    can_eject=1
    should_automount=1
    sort_key=gvfs.time_detected_usec.1546789639358749
    Mount(0): LIVE_USB -> file:///media/rick/LIVE_USB
      Type: GProxyMount (GProxyVolumeMonitorUDisks2)
      default_location=file:///media/rick/LIVE_USB
      themed icons:  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
      symbolic themed icons:  [drive-removable-media-usb-symbolic]  [drive-removable-media-symbolic]  [drive-removable-symbolic]  [drive-symbolic]  [drive-removable-media-usb]  [drive-removable-media]  [drive-removable]  [drive]
      can_unmount=1
      can_eject=1
      is_shadowed=0
      sort_key=gvfs.time_detected_usec.1546789639395990
  • 在我的系统上,该变量is_media_removable被设置为 ,1但在错误报告者系统中,它被设置为0。我认为这应该得到解决。
  • 错误报告器有can_eject=0,但我的系统有can_eject=1

将您自己的gvfs-mount -li输出与我的输出进行核对。还可以考虑订阅上面的错误报告和/或在那里发布。

答案2

只要您知道驱动器未被写入,那么您就可以将其移除。另外,根据个人经验,关闭 GNOME 磁盘中的电源不会影响数据。

答案3

我有一台 SanDisk Cruzer,也有同样的问题。当空闲时,无论是安装时没有读写,还是只是插入 USB 端口,LED 指示灯都会闪烁,但速度很慢。事实上,它会亮起然后慢慢熄灭,然后重复。

为了确保我的判断正确...我最近买了 3 个新的 SanDisk Cruzer Glide 16 GB 闪存驱动器。这 3 个驱动器都有 LED 指示灯,并且所有 3 个驱动器的功能都和您的一样。

因此需要澄清的是,我有 4 个 USB 驱动器,它们的运行方式与你描述的一样。移除它们安全吗?是的,因为驱动器在空闲或读取或写入时的行为有明显的视觉差异。

答案4

有三种可能性可以逐步检查哪些程序正在大量使用(消耗)硬盘:

1.)在终端输入:

顶部

或者

顶部

然后你就可以看到哪些进程实际上占用了你的硬盘。

2.) 您也许可以解决这个问题,以 Firefox 为例,当 Firefox 严重缩略您的硬盘时,您可以调整 Firefox 的时间间隔 - 当 Firefox 在后台写入硬盘时,如下所述:

https://www.servethehome.com/firefox-is-eating-your-ssd-here-is-how-to-fix-it/

也有可能,google-chrome 在后台执行与 firefox 类似的事情。

3.) 使用以下命令安装 fatrace 软件包:

sudo apt-get 安装 fatrace

须藤fatrace

工具 fatrace 会在终端中向您显示当前在后台运行的程序(例如 google-chrome 或 firefox 等...)。

相关内容