什么cifs_mount失败w /返回代码= -22表示

时间:2011-07-18 14:22:51

标签: mount samba cifs

我正在尝试

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服务器,已经创建了挂载点目录。

14 个答案:

答案 0 :(得分:44)

我在使用主机名时遇到了这个问题,并使用IP地址解决了这个问题。 E.g:

使用

mount -t cifs //192.168.1.15/share

而不是

mount -t cifs //servername/share

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

  

CIFS-utils的

答案 1 :(得分:24)

啊,可怕的-22。基本上这似乎被用作“一些不起作用的东西”,虽然从技术上讲它被称为无效的论点。

客户做恕我直言,告诉你实际问题是一个非常糟糕的工作。 (这可能不是它的错 - 它并不总是能够访问该信息。)

但是 - 您检查了要连接的服务器/计算机上的日志吗?

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

nounix,sec=ntlmssp

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

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

答案 2 :(得分:10)

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

答案 3 :(得分:9)

也许移动目标?

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

或者this solution? (Ubuntu,Debian方法)

sudo apt-get install smbfs

或者对于CentOS,RedHat,Fedora尝试:

sudo yum install samba-client

答案 4 :(得分:9)

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

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

sudo mount -t cifs //hostname/share -o username=user,password=pwd /mnt/share

答案 5 :(得分:7)

刚刚安装了Ubuntu 12.04 LTS并试图连接我的Linux HTPC。

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

答案 6 :(得分:4)

在许多情况下,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/

答案 7 :(得分:3)

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

在Mac上,在SYSTEM PREFERENCES&gt;分享&gt;文件共享(上),我添加了一个文件夹进行分享。对于我的测试,我在Public文件夹中创建了一个名为“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

允许我验证坐骑和挂载点。

答案 8 :(得分:2)

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

答案 9 :(得分:1)

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

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

答案 10 :(得分: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。请与您的管理员联系。我认为这有帮助。

答案 11 :(得分:1)

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

答案 12 :(得分:0)

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

create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k

答案 13 :(得分: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>