![有关虚拟机的一个复杂问题](https://linux22.com/image/838356/%E6%9C%89%E5%85%B3%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E4%B8%80%E4%B8%AA%E5%A4%8D%E6%9D%82%E9%97%AE%E9%A2%98.png)
我想无缝地在 Linux 上运行 Windows。也就是说,在启动 Linux 系统时,Windows 应该无需用户干预即可启动。用户应该感觉自己正在使用 Windows,但 Linux 正在运行。他应该能够在虚拟机本身内使用 Windows 应用程序、网络、联网设备和互联网。我必须安装并演示这样一台机器,还要删除 Linux 操作系统中显示的所有通知和用户选项,包括在 Windows 运行时禁用对 Linux 系统的访问(以免让用户感到困惑)。还需要执行禁用 Ctrl+Alt+Del 等键的步骤,这些步骤可能允许执行此操作。我在 ubuntu 12 04 操作系统上安装了虚拟机。步骤是什么?
答案1
我给你一些提示。我假设你使用 VBox 作为虚拟机。我还假设你已经在某处创建了 Windows 虚拟机。
首先确保您能够使用脚本启动 vbox 机器。这里的关键是VBoxManage
您可以用来使用命令行启动 Windows 的命令。如果我想要启动的虚拟机的名称是“Windows”,那么我可以从命令行启动它:
VBoxManage startvm Windows
接下来,你需要用这个命令行创建一个脚本。例如
#!/bin/bash
/usr/bin/VBoxManage startvm Windows
将其保存在某处并使其可执行(chmod a+x /your/script/name
)。尝试运行它:它启动了 Windows 吗?
第二步。您需要在登录管理器中创建一个会话,它将使用您的脚本作为要运行的桌面。创建会话很容易 - 它只是一个位于/usr/share/xsessions
目录中的文本文件,其中包含会话的参数;例如,查看这答案。您必须以某种方式命名您的会话(例如,“windows”)。Exec
您需要在行中输入带有完整路径的脚本。这样,当选择此会话时,您的脚本将作为会话管理器运行。
您的会话文件可能如下所示:
[Desktop Entry]
Name=Windows shell
Comment=This session starts the Windows virtual machine
Exec=/your/script/name
TryExec=
Icon=
Type=Application
现在是时候测试您的会话是否正常工作了。您仍然有 lightdm 登录管理器,仍然有其他会话以防出现问题。注销并选择“windows”登录。它起作用了吗?退出 windows 后会发生什么?一切正常吗?继续下一步。
最后,必须确保会话已自动选定。请参阅这里有关详细信息。为此,您将修改/etc/lightdm/lightdm.conf
。您需要告诉 lightdm (1) 哪个用户应该自动登录 ( autologin-user=
),(2) 自动登录应立即启动 ( autologin-user-timeout=0
) 和 (3) 要运行的会话与您在上一步中创建的会话相同。
希望这足以帮助您。