当我尝试使用选项 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-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
答案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 也在那里。
谢谢上面的提示!