mkdir:无法创建目录:协议错误:Virtualbox 共享文件夹

Posted

技术标签:

【中文标题】mkdir:无法创建目录:协议错误:Virtualbox 共享文件夹【英文标题】:mkdir: cannot create directory : Protocol error : Virtualbox Shared folder 【发布时间】:2014-10-12 16:20:15 【问题描述】:

我正在尝试在 Virtualbox 共享文件夹中创建从主机到访客的文件夹和文件。 但我收到此错误mkdir: cannot create directory : Protocol error

Below are steps i performed to share folder
1:My host OS is Ubuntu and my guest is Ubuntu.

2:I attached a share folder to virtualBox VM 
  Folder Path:/DR/vault/config 
  Folder:config selected automount and make permanent.

3:In Guest OS i installed virtualbox guest additions

4:I am trying to mount folder on /mount/config path
  I added entry in guest's /etc/fstab as 
  /config         /mount/config  vboxsf  rw,uid=1000,gid=1000      0       0

Guest 重新启动后路径已成功挂载,我也可以看到在 /DR/vault/config(Guest) 中创建的文件到 /mount/config(Guest) 但我无法在 /mount/config (Guest) 中创建文件夹或文件

如果有什么遗漏或者有其他方法,请提出建议。

【问题讨论】:

您在来宾操作系统中使用的用户是“vboxfs”组吗?但如果没有,我猜你会收到另一个(许可)错误消息。 另外,共享文件夹的名称(fstab 中的第一个参数)是否应该以斜杠开头?它应该与 Virtualbox 中机器设置中的“文件夹名称”完全相同。试试没有那个斜线。我没有在这两个地方使用斜线。 嗨 Dipak,你能解决这个问题吗?我收到完全相同的错误。如果没有任何效果,可能必须按照此处的建议从头开始创建 VM:forums.virtualbox.org/viewtopic.php?f=7&t=45884 @DawidFerenczy 感谢建议好友....我发现问题...我的 /DR/vault/config 路径具有权限 0750,因此它不允许在来宾内部挂载路径。我将其更改为 0770,现在它可以正常工作了 @AafreenSheikh 链接真的很有帮助,感谢 Aafreen :) 【参考方案1】:

在我的情况下,我的驱动器已满,清除驱动器上的一些空间解决了这个问题。

【讨论】:

【参考方案2】:

我发现这是 DOS 主机上的文件名长度问题。 我一直在使用 VirtualBox 虚拟机作为一种容器化环境形式来部署到 JBoss 服务器,我在 Windows 环境中遇到了太多针对上述技术的问题。 我在主机上使用了一个共享目录,因为我试图保持虚拟机的轻量级(即在主机中保留 IDE),然后将代码检入共享目录以使用 Maven 进行部署。但是,当目录长度超过 255 个字符时,maven 给出了一些奇怪的错误。尝试查看您的文件绝对路径(输入“pwd”)并查看它是否超过 255。

【讨论】:

【参考方案3】:

我已经通过以下方式解决了这个问题:

    guest 机器上,将您的用户添加到 vboxsf 组:sudo adduser username vboxsf 重启主机机器。

我的主机操作系统是 Windows,我的客户操作系统是 Ubuntu。

【讨论】:

【参考方案4】:

这可能表明该文件夹在 Virtualbox 主机上没有正确的权限。

例如我的无头 Virtualbox 服务器以“vbox”用户身份运行,因此我必须授予该用户对主机文件夹的写入权限。

【讨论】:

【参考方案5】:

我有一个类似的问题,原来对我来说这是 mkdir 中涉及的文件夹数量或路径名称的长度。

通常我有: mkdir -p /projects/bot/node_modules/webpack/node_modules/uglifyjs-webpack-plugin/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind- of/node_modules/is-buffer 手动我可以创建到路径的最后一部分,但不能创建“is-buffer”文件夹

我在 vagrant 工作,我的项目文件夹是一个共享的 VM 文件夹,也许/可能是 windows 的最大路径长度是原因

【讨论】:

以上是关于mkdir:无法创建目录:协议错误:Virtualbox 共享文件夹的主要内容,如果未能解决你的问题,请参考以下文章

cmd下mkdir创建多个子目录

PHP 无法使用 mkdir 创建目录

Spark saveAsTextFile() 导致 Mkdirs 无法为一半目录创建

配置分布式hadoop时报错:mkdir:无法创建目录"/opt/apps/hadoop/logs": 权限不够

Linux下代码实现创建目录mkdir

hadoop 2.6.2,mkdir:无法创建代理提供程序 null