【问题标题】:What does cifs_mount failed w/return code = -22 indicatecifs_mount failed w/return code = -22 表示什么
【发布时间】:2023-03-03 04:07:01
【问题描述】:

我在努力

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

【问题讨论】:

    标签: mount samba cifs


    【解决方案1】:

    也许移动目标?

    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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

          但是——您是否检查过您要连接的服务器/机器上的日志?

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

          nounix,sec=ntlmssp

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

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

          【讨论】:

          • bugzilla.redhat.com/show_bug.cgi?id=832741bbs.archlinux.org/viewtopic.php?id=160047 在很多情况下都根据需要描述了 sec=ntlm。
          • 这里的 OS X 位非常重要......这也为我解决了这个问题。确实,这些错误消息如此晦涩和无用,确实会污染和模糊问题报告和相关问题的解决方案。
          • 这确实是一个非常不具体的错误代码。在我的情况下,它在尝试通过具有服务器不会侦听的 ip 的接口进行挂载时弹出(这似乎总是与 smb/cifs 有问题)。一旦客户端只有一个接口(与服务器将侦听的同一网络中的 IP),问题就消失了。
          • 让我重申@Marius 的评论:如果您尝试将 Pi 连接到 OS X,那么这里的 OS X 位真的很重要。
          【解决方案5】:

          我在 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
          

          【讨论】:

          • 安装 cifs-utils 解决了这个问题。你知道根本原因吗?
          • 我安装了 cifs-utils 和建议的软件包。那是为我做的。 Ubuntu 12.10 sudo apt-get --install-suggests install cifs-utils
          【解决方案6】:

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

          使用

          mount -t cifs //192.168.1.15/share
          

          而不是

          mount -t cifs //servername/share
          

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

          cifs-utils

          .

          【讨论】:

          • 在某些系统上你需要安装samba3-cifsmount而不是cifs-utils
          • cifs-utils 也在 Ubuntu 16.04 中修复了它。这不是很好吗 - 在没有有意义的错误消息可能有助于实际提出解决方案而不是仅仅说“是的,有些东西不起作用”的情况下 - 我们必须在互联网上寻找线索。 mount 真的不能“啊,是的,我不能这样做,因为我错过了一些重要的东西”?就我而言,它是从 Ubuntu 14.04“升级”到 16.04 破坏了它。
          【解决方案7】:

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

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

          【讨论】:

            【解决方案8】:

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

            在 Mac 上,在“系统偏好设置”>“共享”>“文件共享”(打开)中,我添加了一个要共享的文件夹。对于我的测试,我在我的公共文件夹中创建了一个名为“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
            

            这让我可以验证挂载和挂载点。

            【讨论】:

              【解决方案9】:

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

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

              【讨论】:

                【解决方案10】:

                尝试运行命令:

                $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】:

                  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/

                  【讨论】:

                  • 感谢您的调试提示!我使用的是在某处找到的值 9,它并不冗长。 7 在 Ubuntu 14.04 上成功了!
                  • apt-get install keyutils 帮助我使用 Ubuntu 18。谢谢
                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

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

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

                    【讨论】:

                      【解决方案14】:

                      无需安装额外软件包的解决方法(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>
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2016-12-29
                        • 2020-09-24
                        • 1970-01-01
                        • 1970-01-01
                        • 2010-11-21
                        • 2014-05-24
                        相关资源
                        最近更新 更多