44

我在尝试

sudo mount -t cifs //<server>/<share> -o username=user@domain,password=**** /mnt/<mountpoint>

错误信息:

mount: wrong fs type, bad option, bad superblock on //server/share,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

系统日志有

 CIFS VFS: cifs_mount failed w/return code = -22

我能够在另一个 centos 系统上安装相同的共享。我可以ping服务器,挂载点目录已经创建。

4

14 回答 14

44

我在使用主机名时遇到了这个问题,并通过使用 IP 地址解决了这个问题。例如:

利用

mount -t cifs //192.168.1.15/share

而不是

mount -t cifs //servername/share

另一种可能的解决方案是安装

cifs-utils

.

于 2012-11-09T15:52:09.757 回答
25

啊,可怕的-22。基本上,这似乎被用作“某事不起作用”的统称,尽管从技术上讲它被称为无效论点。

恕我直言,客户在告诉您实际问题方面做得很差。(这可能不是它的错——它并不总是可以访问该信息)。

但是——你检查过你正在连接的服务器/机器上的日志吗?

我正在连接到 OS X samba 服务器,并从我在日志中发现的内容中了解到,有必要在 -o 下指定其他选项,如下所示:

nounix,sec=ntlmssp

这些设置启用的内容包括“允许长名称”和“忽略 UNIX 文件名结尾”...sec 是指定安全标志。

另一种可能性是您正在尝试访问 mount.cifs 实际无法处理的类型的文件系统。

于 2012-10-08T20:52:43.890 回答
10

对于 RHEL/Centos 安装包 - “cifs-utils”

于 2012-08-08T08:50:05.083 回答
9

我在 Ubuntu 12.04 上使用“mount”包(版本 2.20.1-1ubuntu3)遇到了类似的问题。当我尝试使用其主机名而不是其 IP 来安装服务器共享时,就会发生这种情况。

在 Ubuntu 上解决问题的另一种方法是安装cifs-utils软件包。这样我也可以使用完全相同的命令行(或 fstab)但使用主机名挂载 samba 共享。

sudo mount -t cifs //hostname/share -o username=user,password=pwd /mnt/share
于 2012-10-23T13:05:35.430 回答
9

也许移动目标?

sudo mount -t cifs -o username=user@domain,password=**** //<server>/<share> /mnt/<mountpoint>

或者也许这个解决方案?(Ubuntu、Debian 方法)

sudo apt-get install smbfs

或者对于 CentOS、RedHat、Fedora 试试:

sudo yum install samba-client
于 2011-07-18T14:25:56.353 回答
7

刚刚完成了 Ubuntu 12.04 LTS 的全新安装,并试图连接我的 Linux HTPC。

通过运行解决它:sudo apt-get install cifs-utils然后重新安装它。

于 2013-03-05T12:46:31.253 回答
7

CIFS 在许多情况下返回代码“-22”(不仅是无效参数)。

对我来说,安装 keyutils 就可以了:

apt-get install keyutils

我的发行版是“Ubuntu 14.04.2 LTS”。

我通过增加 CIFS 的日志记录详细度来解决这个问题:

echo 7 > /proc/fs/cifs/cifsFYI
# disable again via:
#echo 0 > /proc/fs/cifs/cifsFYI

可以在此处找到有关 cifsFYI 位掩码(“7”)的文档:https ://www.kernel.org/doc/readme/Documentation-filesystems-cifs-README

在尝试再次挂载 dmesg 后,包含更多有用的信息:

Dec 7 12:34:20 pc1471 kernel: [ 5442.667417] CIFS VFS: dns_resolve_server_name_to_ip: unable to resolve:

另一个可能有用的链接:

http://vlkan.com/blog/post/2015/01/08/smb-mount-troubleshoot/

于 2015-06-09T18:46:49.910 回答
3

我将 Ubuntu Server 12.10 x64 作为 VMware VM 安装,在 OS X 10.8 (Mountain Lion) 上运行。

在 Mac 上,在 SYSTEM PREFERENCES > SHARING > FILE SHARING(打开)中,我添加了一个要共享的文件夹。对于我的测试,我在我的公共文件夹中创建了一个名为“ubuntu”的新文件夹。

在 Ubuntu 中,我发出了以下命令:

sudo mkdir /media/target
sudo mount.cifs //10.0.20.3/ubuntu /media/target -o username=davidallie,nounix,sec=ntlmssp,rw

Ubuntu 提示我输入密码,输入后安装文件夹。然后我跑了:

df -H

这使我能够验证挂载和挂载点。

于 2013-04-26T18:08:11.703 回答
2

只需在 RHEL 5 上遇到问题。您不需要安装 samba 套件,只需安装 samba-client 和任何依赖项。

于 2011-09-06T17:05:06.577 回答
2

也许为时已晚,但内核错误 50631中描述的最简单的解决方案:在最新代码中,unc mount 参数是强制性的。修改后的命令对我有用:

sudo mount -t cifs //<server>/<share> -o username=user@domain,password=****,unc=\\\\<server>\\<share> /mnt/<mountpoint>
于 2013-11-12T23:40:05.740 回答
1

尝试运行命令:

$modinfo cifs


filename:       /lib/modules/3.2.0-60-virtual/kernel/fs/cifs/cifs.ko
version:        1.76
description:    VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows
license:        GPL
author:         Steve French <sfrench@us.ibm.com>
srcversion:     9435BBC2F61D29F06643803
depends:        
intree:         Y
vermagic:       3.2.0-60-virtual SMP mod_unload modversions 686 
parm:           CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (int)
parm:           cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64 (int)
parm:           cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256 (int)
parm:           cifs_max_pending:Simultaneous requests to server. Default: 32767 Range: 2 to 32767. (int)
parm:           echo_retries:Number of echo attempts before giving up and reconnecting server. Default: 5. 0 means never reconnect. (ushort)
parm:           enable_oplocks:Enable or disable oplocks (bool). Default:y/Y/1 (bool)

如果您收到任何错误,则cifs未安装。只需与您的管理员联系即可。我认为它有帮助。

于 2014-12-01T13:17:14.353 回答
1

需要先安装 cifs-utils,如下: sudo yum install cifs-utils

于 2015-11-04T08:20:48.040 回答
0

我知道这很旧,但是在旧的 cifs-utils 版本上,您可能必须将以下两行添加到/etc/request-key.conf

create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k
于 2018-05-12T16:44:21.817 回答
0

无需安装额外软件包的解决方法(cifs-utils在 Debian Stretch 中再增加 81mb):

$ FILESERVER_IP=$(getent hosts myfileserver.com | awk '{ print $1 ; exit }')

$ sudo mount -t cifs //${FILESERVER_IP}/<share> -o username=user@domain,password=**** /mnt/<mountpoint>
于 2018-08-27T12:19:53.760 回答