如何在没有任何其他软件的情况下在 Windows 7 中将 Virtual Box 虚拟机作为服务运行?

如何在没有任何其他软件的情况下在 Windows 7 中将 Virtual Box 虚拟机作为服务运行?

我正在尝试在 Virtual Box 中将虚拟机作为服务运行,这意味着 Virtual Box 必须在 Windows 7(主机操作系统)加载后立即启动并加载虚拟机。问题是我看到的大多数解决方案都需要下载额外的软件。此外,主机上有多个用户,我希望无论登录与否,同一台虚拟机始终运行。那么,如果不下载额外的软件,如何做到这一点?我在考虑使用 vmbox headless,但我对此不太确定,也不确定如何设置它。

注意:这需要在不下载额外软件的情况下完成。我已经让虚拟机在 Virtual Box 正常启动的情况下运行,但我需要能够让同一台主机的不同用户运行它。

更新:我现在意识到问题本身实际上是多个问题,而让虚拟机作为服务运行可以解决这些问题(如果可行,这是最简单的解决方案)。鉴于此,让我将问题分解成几个部分:
对于每个用户,尽管为每个人都安装了虚拟盒,但虚拟机本身是从私人用户文件夹中加载的。我试图通过更改虚拟盒上的设置来改变这种情况,但根据结果显示,它需要为每个用户进行更改。由于我们有很多用户,并且不断添加和删除他们(而且我无论如何都无法访问大多数帐户),这不是一个好的解决方案。将虚拟机文件复制到不同的用户帐户是不可行的,因为它会占用存储资源。有一次,我建议创建一个公开的虚拟机用户帐户,每个人都可以登录该帐户,唯一目的是打开虚拟机(如果虚拟机尚未打开),然后在打开后切换到他们的用户帐户,跳过此过程,如果已经打开,只需登录他们自己的帐户即可。但是,由于“任何用户都可以访问此帐户”的性质,这是不可取的。有没有办法可以在启动时自动登录,但登录后自动切换用户?

我想我是从“以服务形式运行”开始的,因为这看起来最简单,但如果有其他解决方案,我会欢迎它。我仍然认为

答案1

您可以使用 VBox VM 无头模式,并且不需要额外的软件,但有一个注意事项需要考虑:
当主机重新启动/关闭时,您无法完全关闭 VM。它只是被强制关闭。这可能是也可能不是问题。只有您才能决定。

如何操作:
使用 headless 命令创建一个 BAT 或 CMD 文件来启动虚拟机。
在此之前放置一个 CD 命令,以便您自己建立工作目录。当您通过服务启动 BAT 文件时,您实际上无法将任何特定文件夹设置为工作目录。
(您可能还必须向 headless 命令添加完整路径。不要依赖 PATH 变量是否正确设置。)

现在,您可以从命令提示符中使用标准南卡罗来纳州命令将此 BAT 文件转换为服务。(运行頁面 /?求助。)

实际上,您可以使用 SC 命令将 VM 无头命令行直接放入服务中,但要做到这一点可能非常棘手,因为在许多情况下,您需要提供多个带有空格的参数,这可能会变得很复杂。使用 BAT 或 CMD 作为中介更容易。

创建服务后,您可以通过编辑 BAT 文件和修改服务(通过常规服务控制面板或通过 SC 命令)进一步微调它。

PS. 不要忘记在 Windows 防火墙上允许无头实例的端口,否则您仍然无法连接到它 :-)

相关内容