SD 卡自动挂载故障排除

SD 卡自动挂载故障排除

我刚刚把 Jolicloud 装到我妻子的上网本上,虽然大多数功能都运行正常,但她的 SD 卡却时好时坏。第一次安装时,我认为默认 fstab 将其安装为 /media/cdrom0 (?),但并不是 100% —— 有时插入卡就可以安装,有时则不能。

我对 fstab 做了一些调整(从 dev 节点切换到 UUID 等),但行为仍然相同。当我成功挂载它时,大多数时候我尝试卸载它时都会收到“与 fstab 不匹配”错误 - 必须以 root 身份卸载才能解决这个问题。我在她的主目录中设置了用于挂载/卸载的脚本,它们工作得很好(必须输入她的密码才能卸载,这有点麻烦,但是......)。不过,如果它“刚好有效”,那就太好了。

有人有可靠的“下一步”来排除此故障吗?我在移除和插入时在 /var/log/messages 中收到 USB 检测消息,但出于某种原因,安装没有启动。

答案1

我想知道您的问题是否出在读卡器上,或者它们是否只适用于某些 SD 卡(但适用于其他卡)。这可能是我进行故障排除的方法:

  • 您尝试过其他卡吗?
  • 卡片是如何格式化的?
  • 都是同一家制造商吗?

特别是,我注意到您提到 fstab 条目的挂载点与系统实际挂载设备的位置不匹配;这听起来像是 Gnome-VFS 或另一个自动挂载程序在基于卷标的挂载点挂载了该设备。

老实说,我认为您的 SD 卡读卡器不属于/etc/fstab。它有点像 CD/DVD 设备:它可以放在那里,但您需要使用设备条目(可能会在重新启动时发生变化),而且 GNOME/KDE 自动挂载程序可能无论如何都能更好地处理它。UUID 在这里毫无用处:您需要为正在使用的每个 SD 卡创建一个条目,或者您需要费力确保所有 SD 卡都标有相同的 UUID。卷标也是如此。因此,如果您有一个fstab条目,它应该是设备条目和通用挂载点,例如/media/sdcard0或类似的东西。

理想情况下,您需要弄清楚桌面环境的自动挂载程序无法正常运行的原因。它是否适用于 USB 记忆棒或其他外部驱动器?正确的功能(在 GNOME 上,KDE 应该类似)应该是:

  • 插入新设备,
  • 系统识别设备,
  • 系统挂载设备(通常在/media/<volume_label>
  • 系统在桌面上为设备创建新图标

实际的系统事件链更像是这样的:

  1. uDev(内核热插拔子系统)注册新设备或“媒体更改”通知程序
  2. uDev 通知 DBus/HAL 有关硬件变化
  3. DBus/HAL 将其传递给已注册的监听器(例如 Gnome-VFS)
  4. 如果用户登录 GNOME,Gnome-VFS(以用户身份运行)正在监听,并应处理
    1. 创建挂载点(基于新媒体的卷标)
    2. 设备挂载
    3. 图标创建

我已经写过关于使用uDev高血压作为自动挂载程序(类似于 Gnome-VFS)在另一个问题中;那里有很多关于底层系统进程的好信息,所以这些信息可能会对你有用。

根据上述过程,您能否确定导致问题的特定区域?

相关内容