无法以可信任的方式使用iocharset = utf8挂载CIF


12

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

Answers:


19

您的内核可能不包含该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-generic或)的内核linux-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

可以在超级用户的此答案启动板的此错误报告中找到更多信息。


有趣的...我已经linux-generic安装并且nls_utf8.ko文件存在,但是仍然出现此错误。
Hubro,2015年

@Hubro,您好,您的输出中是否有类似“ CIFS VFS:CIFS安装错误:找不到iocharset utf8”的消息dmesg?的输出是ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko什么?
罗里森·弗雷塔斯

1
有一个错字,我写的是“ utf-8”而不是“ utf8”
Hubro

5

当这样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。

感谢上面的提示!


2
由于我在另一个内核版本上也遇到了同样的问题,所以我这样做了:sudo apt install linux-modules-extra-$(uname -r)
menssana

感谢@menssana的绝妙技巧,使其更通用!
pxlinux
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.