计算机的主操作系统和虚拟机上不同操作系统下运行的程序可以共享数据文件吗?

计算机的主操作系统和虚拟机上不同操作系统下运行的程序可以共享数据文件吗?

我正在 Windows 机器上开发统计应用程序。我从未在其他操作系统下工作过很长时间。我想在某种 Linux 版本下测试我的程序,以方便潜在用户。如果我在 Windows 机器上的 VirtualBox 下安装 Ubuntu,如果不是同时运行,在 Windows 下运行的程序和在 Ubuntu 下运行的程序是否可以访问相同的文件?我的一些测试文件有 30 GB 或更多,我不想复制它们。如果是这样,我需要做什么特别的事情来允许这样做吗?

假设我在同一台机器上还有一个以自己的用户帐户运行的数据库服务器 (PostgreSQL)。连接到虚拟机上在 Linux 下运行的程序的 OBDC 驱动程序或其他接口是否可以向在 Windows 下运行的数据库发出查询?同样,我需要知道什么特殊的东西才能使其正常工作吗?

答案1

是的。使用 Virtual Box 的共享文件夹功能。Select your VM > Settings > Shared Folders单击带有绿色加号图标的文件夹,单击 旁边的向下箭头Folder Path,选择Other,然后浏览到包含要共享的数据文件的文件夹。

此外,请确保您已安装随您的 VirtualBox 版本附带的 VirtualBox Guest Additions(而不是来自发行版的包管理器的附加组件,它们几乎肯定已经过期)。在 VM 运行时,转到Insert Guest Additions CD Image。这会将随您的 VirtualBox 版本附带的 Guest Additions ISO 安装到 VM 光学存储驱动器(假设已配置)。

Linux VB 访客服务实施存在一些错误行为。请勿将其设置Folder Name为与 Windows 中的实际文件夹名称或您计划在 Linux 中使用的挂载点名称相同。

此外,自动挂载并不可靠。尝试一下,但您可能需要在您的/etc/fstab(或其他适用的实用程序)中手动配置挂载点。对于挂载类型使用vboxsf,对于“设备”,使用您在虚拟框中的共享文件夹设置中设置的文件夹名称。最后,请注意,Linux 处理文件的方式和 Windows 处理文件的方式截然不同。您可能需要uid=771在挂载选项中进行设置,以便能够从 Linux 客户机写入共享文件夹。

相关内容