有没有办法让VM获得访问我的电脑的权限?

时间:2008-09-05 16:38:39

标签: virtual-machine virtualbox

我想有一个VM来查看应用程序的显示方式以及开发特定于操作系统的应用程序,但是,我想将我的所有代码保存在我的Windows机器上,所以如果我决定修改VM或类似的东西,它仍然存在。

如果重要,我正在使用VirtualBox。

4 个答案:

答案 0 :(得分:5)

通常使用网络共享来处理。从主机共享您的代码文件夹,然后从VM访问它。

答案 1 :(得分:4)

除了网络共享之外,另一个用于此的工具是版本控制系统。

答案 2 :(得分:1)

您应该始终能够在VM和托管操作系统之间建立正常的网络连接,就好像它是同一网络上的另一台计算机一样。从某种意义上说,它是。

答案 3 :(得分:0)

我一直这样做。 我在我的主机ubuntu 12.04中安装的Windows驱动器中有一个目录。 我作为访客运行virtualbox ubuntu 13.04。 我希望guest虚拟机以完全非root权限挂载Windows目录。 我几乎所有的工作都来自bash shell,所以这种方法对我来说很自然。

搜索自动挂载虚拟机共享文件夹的方法时, 可靠和正确的方法很难与失败的方法区分开来。 失败包括获取和设置权限以及其他问题。

失败的方法包括:

  • 修改/ etc / fstab
  • 修改/etc/rc.local

我相当肯定可以使用rc.local, 但我没有尝试过任何方法。 我欢迎对这些准则进行改进。

在ubuntu 13.04 guest虚拟机上运行nautilus(bash终端)的virtualbox 4.2.14上, 下面是挂载Common(sharename)的工作方法 on / home / $ USER / Desktop / Common(mountpoint)具有完全权限。 (注意find命令中的'\'命令连续符。)

仅限第一次:创建您的挂载点,修改您的.bashrc文件,然后运行它。 请求时回复密码。 这些是所需的四个命令行:

mkdir $HOME/Desktop/Common
sudo echo “$USER ALL=(ALL) NOPASSWD:ALL” >> /etc/sudoers
find $HOME/Desktop/Common -maxdepth 0 -type d -empty -exec sudo \
mount -t vboxsf -o \
uid=`id -u $USER`,gid=`id -g $USER` Common $HOME/Desktop/Common \;
source ~/.bashrc # Needed if you want to mount Common in this bash.

所有其他时间:只需启动一个bash shell。

如果mountpoint目录为空,则find命令将挂载共享目录。 如果mountpoint目录不为空,则它不会运行mount命令。

我希望这没有错误且足够笼统。 请让我知道更正和改进。