我目前正在运行 Ubuntu 13.04,并且安装了 Windows 8 VirtualBox VM。我将 VM 的文件夹放在共享文件夹 (/home/sharedHome/) 中,该文件夹已分配给 vboxusers 组读写权限。这样我就可以从我的帐户启动 VM,而我的妻子也可以从她的帐户启动它。
唯一的问题是,当您从任一帐户启动虚拟机时,权限都会发生变化,因此只有该用户对 .vbox 文件具有读写权限。发生这种情况后,除非我再次进入并更改权限,否则另一个帐户将无法启动虚拟机。
有人知道如何防止 VirtualBox 更改权限吗?有没有更好的方法在用户之间共享虚拟机?
谢谢!
答案1
以下是基于VirtualBox 特殊图像写入模式文档特别是针对可共享硬盘映像的警告:
警告这是一项专家功能,误用可能会导致数据丢失——常规文件系统无法处理多方同时进行的更改。
我猜模式更改是为了减少意外共享图像的可能性。如果你们同时运行虚拟机,显然会造成混乱,而更改权限似乎是一种便宜又简单的方法,可以减少意外发生的可能性。
这确实让我怀疑您希望实现共享虚拟机的什么好处。为什么克隆基础映像并使用主机(而非客户机)存储用户数据文件不能令人满意?是的,我知道与同等的 Ubuntu 安装相比,Windows 安装大得离谱,但您可能想在这一点上自作聪明。
这还是答案吗?你决定吧。
答案2
我有相同的要求(两个用户共享虚拟机)和相同的问题(.vbox 文件仅对虚拟机的最后一个用户具有 rw 权限)。
为了解决这个问题我创建了一个同一文件夹中每个用户的 vbox 文件(例如,我们称它们为 xp_user1.vbox 和 xp_user2.vbox)。
流程如下:
- (用户 1)创建虚拟机。虚拟机、其快照和 .vbox 文件必须存储在两个用户(
File|Preferences
、Machine|Configuration
)都可以访问的目录中。 (用户 2)创建 .vbox 副本:
cp xp_user1.vbox xp_user2.vbox
(用户2)创建共享虚拟机
选择
Machine|Add...
菜单项,导航到 xp_user2.vbox 位置,然后选择该文件。在 中
File|Preferences
,将默认机器路径设置为 .vbox 位置
注意事项:
如果拍摄了快照,则必须更新 .vbox 副本
如果一个用户还原了快照,则之前的活动用户将失去另一个用户的 rw 权限。假设两个用户都属于同一组:
chmod 0660 snapshot
我尝试将 .vbox 文件存储在不同的目录中,但没有成功(位置问题)。