无法使用 iocharset=utf8 挂载 cifs

无法使用 iocharset=utf8 挂载 cifs

当我尝试使用选项 iocharset=utf8 挂载 cifs 共享时,我收到错误:挂载错误 79 = 无法访问所需的共享库。我缺少什么共享库?

答案1

可能你的内核不包含该nls_utf8.ko模块。

如果是这种情况,您将在输出中看到类似的条目dmesg

[  612.598233]  CIFS VFS: CIFS mount error: iocharset utf8 not found
[  612.598547]  CIFS VFS: cifs_mount failed w/return code = -79

为了确认这一点,您可以尝试找到该nls_utf8.ko模块:

ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko

为了修复,请安装包含此模块的内核,如linux-genericlinux-image-extra-virtual

就我的情况(Ubuntu 14.04)而言,解决方案是:

apt install linux-generic
reboot

在较新的 Ubuntu 版本中,您可能需要其中一个linux-modules-extra内核包(tks @pxlinux)。例如,如果您当前的内核是linux-generic

apt install linux-modules-extra-$(uname -r)-generic
reboot

更多信息请访问超级用户的这个答案并在此错误报告中发射台

答案2

dmesg出现如下抱怨时:

CIFS VFS: CIFS mount error: iocharset utf8 not found

让我稍微更新一下 Ubuntu 16.04 的信息

当未安装以下包时,仅存在 ISO_8859-1 的 NLS

ls /lib/modules/$(uname -r)/kernel/fs/nls/

安装后额外的内核模块

sudo apt install linux-modules-extra-$(uname -r)

UTF-8 也在那里。

谢谢上面的提示!

相关内容