上次内核升级后,mount.cifs 停止工作

上次内核升级后,mount.cifs 停止工作

昨天(5 月 21 日)我升级了我的 Ubuntu 12.04 内核:

uname -a

Linux vi 3.2.0-24-generic #37-Ubuntu SMP Wed Apr 25 08:43:22 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

重启后,我安装的所有外部 Samba 共享都停止了工作。

当我执行:

sudo mount -t cifs //192.168.101.168/video /mnt/video

结果是:

mount error: cifs filesystem not supported by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

dmesg 显示:

[ 2785.792456] cifs: Unknown symbol locks_delete_block (err 0)

如果我执行:

sudo modprobe cifs

结果是:

FATAL: Error inserting cifs (/lib/modules/3.2.0-24-generic/kernel/fs/cifs/cifs.ko): Unknown symbol in module, or unknown parameter (see dmesg)

dmesg 再次显示:

[ 5811.742563] cifs: Unknown symbol locks_delete_block (err 0)

是否有任何已知的解决方法?

答案1

你试过重启吗?我真的不想问 Linux 的问题,但它帮我解决了这个问题。

答案2

问题解决了!

在尝试解决此问题时,我破坏了计算机的 GRUB。直到一小时前我才有时间恢复系统,所以请原谅我回复的延迟。

非常感谢,reverendj1 和 Bruno!

reverendj1:不同的内核版本是正确的线索,它在 cifs.ko 中产生了缺失的符号。

令人难以置信的是,该问题是由未被检测到的 USB 磁盘造成的:我使用该磁盘在 RAID 上启动 Ubuntu。

由于 Ubuntu 无法挂载 USB 磁盘(我在 fstab 上将其挂载到 /boot),它会在 raid 上创建一个虚拟的 /boot,该 /boot 在 BIOS 启动阶段当然不存在,但它是计算机正常运行期间唯一存在的 /boot。

当我更新内核时,更新后的内核(#38)被写入虚拟启动。“真正的”(启动期间)内核(较旧的#37)仍保留在外部 USB 磁盘中,仅在启动期间可见。

我从这个内核不匹配中察觉到的唯一影响是 cifs 驱动程序无法加载。

答案3

重新安装cifs-utils并重启。这对我有用。

sudo apt-get --reinstall install cifs-utils && sudo reboot

答案4

我会尝试重新安装 smbfs:

sudo apt-get --reinstall install cifs-utils

相关内容