我在 Virtualbox 4.1.18 中使用 Ubuntu 12.10 作为主机操作系统,使用 FreeBSD 9 作为来宾操作系统。我在 Ubuntu 和 FreeBSD 中安装了 Samba,并从 virtualbox 共享了一些文件夹,同时勾选了该automount
选项。
right click and share
我也在Ubuntu下做过。但是当我尝试使用 FreeBSD 挂载时
mount -t vboxfs sharedfolder /home/user/shared`
它说sharedfolder
不允许操作。我也用过
mount_smbfs //10.0.0.2/sharedfolder /home/user/shared
但我得到can't get server address
如何从 virtualbox 在 Host Ubuntu 和 Guest FreeBSD 之间共享文件夹/文件?
答案1
答案2
桑巴舞
可以使用 samba 挂载共享 FreeBSD 文件夹或共享 Ubuntu 文件夹。两种方法都有效。无论哪种情况,您都需要配置一个共享文件夹(您提到您使用 Ubuntu GUI 来执行此操作),然后在另一台计算机上您需要使用正确的 IP 挂载共享,并确保来宾和主机位于同一台计算机上网络或使用端口转发(如果您配置了 NAT)。
因为解决方案太多,我就不一一列举了。您能否提供有关您的来宾操作系统网络配置的更多信息?创建虚拟机时使用了哪些设置?您使用 NAT、桥接、仅主机还是内部网络?我将为您提供一个示例,假设您的访客能够在网络上查看您的主机(例如,您有一张网卡定义为仅限主机)。
首先像您一样在 Ubuntu 上共享一个网络文件夹。确保在 Ubuntu 主机上的 Samba 中创建一个用户帐户,或者可以进行访客访问(例如,sudo smbpasswd -a <username>
要授予用户访问权限,请替换为用户名)。
然后在 FreeBSD 上,使用正确的 IP 地址挂载 Ubuntu 共享(10.0.0.2 可能是 VirtualBox 创建的 NAT“路由器”的地址,因此它可能无法工作),例如,可以使用 Ubuntu IP 地址您的 LAN(例如 192.168.1.x)或为仅主机接口定义的 LAN。然后你的mount_smbfs
命令就会成功:
mount_smbfs -U <username> //<correct IP>/sharedfolder /home/user/shared
vboxsf
当 vboxsf 得到 FreeBSD 支持时(感谢亚历山大指出这一点),如果您想使用 VirtualBox 内置共享机制vboxsf
,您需要安装嘉宾补充在来宾操作系统中(在您的情况下是一些 FreeBSD)。通常这是通过 VirtualBox 下的菜单完成的设备,有一个捷径安装来宾添加...。
但是,对于 FreeBSD,你必须采取不同的做法。他们有专门的文档:
安装 Guest Additions 后,您可以mount
对文件系统使用该命令vboxsf
。但是,您需要使用 VirtualBox 共享文件夹机制来共享文件夹,请参阅 VirtualBox 下的设备菜单项共享文件夹...。请注意,您在此菜单中为共享指定的名称将是您为安装指定的“设备”的名称。
答案3
答案4
截至今天(2020 年 5 月),使用本机 vboxvfs 挂载主机文件夹的所有方法均正式生效:
mount_vboxvfs -w myshare /mnt
mount -t vboxvfs myshare /mnt
这里唯一的问题是结果非常不稳定(使用的主机是 FreeBSD 12)。我尝试了客户操作系统版本(FreeBSD 11 和 12)、控制器设置中的主机 I\O 缓存标志、只读挂载标志等的不同组合 - 没有任何方法可以带来稳定的工作。文件出现\消失,您会看到各种故障,例如文件夹表现为文件等。我在来宾操作系统中也遇到了许多内核恐慌。
因此,将文件夹从主机操作系统共享到“FreeBSD Guest”的唯一有效方法是使用 NFS。这确实非常有效,到目前为止还没有出现任何问题。