从 Windows 主机共享文件夹到 Freebsd 来宾

Mat*_* M. 10 freebsd windows virtualbox

我想要完成的事情:

  • 我(在家)有一台安装了 Windows 7 的 PC
  • 我想在 Virtual Box 中运行 Unix,因为我更习惯于在它上面开发/编写脚本

目前我选择了 Freebsd,我设法安装了它并配置了网络。下一步是从 Windows 到 Freebsd 共享一个文件夹,以便我可以轻松地在 Windows 和 Freebsd 上编辑文件。不幸的是,这似乎是一件可以做的事情。

我在网上翻了翻,发现了两种不同的方法:

我使用 安装了 freebsd 中的来宾添加pkg_add -r virtualbox-ose-additions,安装进行得足够快,我编辑/etc/rc.conf添加了两条建议的行:vboxguest_enable="YES"vboxservice_enable="YES"并重新启动。

这没用。挂载系统的命令最终出现错误:

# mount -t vboxsf shared /home/myuser/shared
mount: shared : Operation not supported by device
Run Code Online (Sandbox Code Playgroud)

shared我在这个 VM 的虚拟机设置中设置的文件夹的名称在哪里。

实际上可以vboxsf在 freebsd 中使用文件系统类型吗?一些评论似乎表明它不受支持,但很难找到最新信息。

接下来,我转向了 samba 方法。我基本上遵循了我链接的指南。不幸的是,结果是:

# mount_smbfs -N -I 192.168.56.1 //winuser@winmachinename/Shared /mnt/shared
mount_smbfs: unable to open connection: syserr = RPC struct is bad
Run Code Online (Sandbox Code Playgroud)

Shared我用windows配置的共享文件夹的名称在哪里,winuser显然可以访问。ping 有效。

我想指出的是,我在尝试连接的 Windows 来宾帐户上没有密码,这似乎更容易,但也许它以某种方式打扰了 samba。

编辑:从 PuTTY 工作我没有看到在控制台中打印了一些消息:

smb_maperror: Unmapped error 3:31
smb_co_lock: recursive lock for object 1
Run Code Online (Sandbox Code Playgroud)

两者都出现了几次。/编辑结束

如果直接文件系统共享不起作用,知道如何让 samba 做到这一点吗?这篇文章表明它至少已经被一些人完成了。

技术信息:

  • 主机:Windows 7 家庭版(最新)
  • 嘉宾:FreeBSD 9.0-RELEASE #0:UTC 2012 年 1 月 3 日星期二 07:15:25 root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
  • 虚拟盒子:4.1.16 r78094

我也乐于接受新的分享建议。如果可能的话,我宁愿避免来回传输文件:它不是特别有效,并且总是会导致混淆错误。

我也对改变系统持开放态度。我喜欢 freebsd 的理念,但如果它不起作用,我会毫不犹豫地转向 linux。

编辑

这个问题现在纯粹是理论上的兴趣。我切换到使用 Ubuntu Server 并设法在没有 samba 的情况下进行设置,因为 vboxsf 得到了很好的支持。

Fra*_*son 5

FreeBSD 仍然不支持 VirtualBox 共享文件夹。

自 (2014-06-24) 起,FreeBSD 端口提交者已在 FreeBSD 邮件列表中确认了这一点

尚不支持 FreeBSD 来宾的共享文件夹 [...] 有一些草稿代码和内核模块,但它尚未工作。

如果您想关注端口状态,请搜索邮件列表。#freebsd-vboxFreenode 上也有IRC 频道。它是在底部贴了FreeBSD-黑客邮件列表这篇文章。你会在那里找到开发人员。

最后,virtualbox-ose-additions根据今天的 FreeBSD 手册的第 22.2 章,这是当前端口支持的内容:

VirtualBox™ 来宾添加支持:

  • 剪贴板共享。
  • 鼠标指针集成。
  • 主机时间同步。
  • 窗口缩放。
  • 无缝模式。

如您所见,FreeBSD 尚不支持共享文件夹。

VirtualBox 手册的第 4.3 章指出:

Windows(2000 或更新版本)、Linux 和 Solaris 客户机支持共享文件夹。

再次没有FreeBSD。按照其他人提到的说明,暂时使用 SMB 共享。


Pet*_*ete 4

确保您已将 Windows 文件夹的共享配置给您希望在 freebsd 上共享的用户。

我喜欢将以下内容添加到 /etc/hosts 以便于使用。

<ip address of server>  vboxhost
eg.
192.168.56.1    vboxhost
Run Code Online (Sandbox Code Playgroud)

首先测试安装文件夹:

mount_smbfs -I vboxhost //username@nameofwindowsbox/foldername /mnt
Run Code Online (Sandbox Code Playgroud)

如果正确,系统将提示您输入 Windows 用户密码。

要使其在启动时挂载,请将以下内容添加到 /etc/fstab

//username@nameofwindowsbox/foldername  /mnt smbfs  rw,noauto  0 0
Run Code Online (Sandbox Code Playgroud)

每次启动时都应该安装它

如果您不想提示输入密码,请在 /etc/nsmb.conf 中添加以下内容:

[default]
[NAMEOFWINDOWSBOX]              
addr=<ip address of host>
[NAMEOFWINDOWSBOX:USERNAME]
password=<myPassword>
Run Code Online (Sandbox Code Playgroud)