Ubuntu 10.04 下的 Windows 7 双启动 + 虚拟化?

Ubuntu 10.04 下的 Windows 7 双启动 + 虚拟化?

问题: 我目前有双启动:Win 7 x64 Pro 和 Ubuntu 10.04.1 x64。有没有办法在 Ubuntu 下将 Win 7 作为虚拟机启动而无需重新安装任何东西,除了保持双启动能力之外?

背景:我有一个双启动系统,Windows 7 安装在 Raid 5 的一个分区上,Ubuntu 10.04.1 安装在同一个 Raid 5 的单独分区(实际上分为三个分区)中。我有一个带有 6GB RAM 的 Core i7-930 。我很乐意提供任何其他硬件规格。

我只需要 Windows 7 x64 Pro 来完成少数事情,基本上只需要 VS 2008 / VS 2010,这样我就可以使用 nVidia 的 nSight 来调试 CUDA / OpenCL 项目。

我必须能够双启动,因为(这只是我的怀疑)我不希望在软件和我安装的三块显卡之间有更多的东西绝对有必要。如果这意味着什么的话,当我在没有虚拟化的情况下运行的生产模式下,我有两张卡设置为独占模式,一张设置为禁止模式(以驱动显示器)。我担心在 Ubuntu 作为主机操作系统或 Win 7 作为来宾操作系统下运行 nvidia-smi 可能会导致问题。

我对Xen、KVM等不太了解。我也玩过一些,但我非常愿意使用任何虚拟化软件,只要它是免费的并且可以完成我想要的。请注意,我是一名学生——这都是非商业开发。

如果绝对必要的话,我可以重新安装所有内容,但我已经许多,许多让 CUDA 环境在 VS 2010 下工作的问题 - 我安装/卸载/重新安装 VS '08 & '10 多次,导致 Win 7 注册表损坏,我不得不从头开始。现在它可以作为双启动使用,我真的很想避免第四次从头开始。

答案1

正题部分:是的,Ubuntu下可以运行虚拟机。

CUDA 需要直接访问硬件。这意味着您必须直接在硬件上运行 Windows,或者在允许虚拟机直接访问硬件设备的虚拟化引擎上运行 Windows。这几乎意味着基于虚拟机管理程序的虚拟化。 VirtualBox 肯定已经过时了。谷歌建议 Xen 就可以。

在不同的硬件配置(例如裸机和虚拟机)中运行单个 Windows 安装非常困难。如果您确实不想安装 Windows,您可能更愿意在 Windows 下的虚拟机中运行 Ubuntu。

从你的问题中并不清楚你是否也想在 Ubuntu 中运行 CUDA 程序。如果这样做,您几乎可以在任何硬件上启动现有安装,几乎不需要任何设置。这确实需要一个可以在虚拟机内绑定磁盘分区的虚拟化系统,我认为VMWare可以做到这一点,但VirtualBox不行。 (也可以通过使用 VirtualBox 模块创建自定义 initrd vboxsfs,但这不再是不需要设置的。另一种方法是将系统分区克隆到虚拟机磁盘。)添加:您可能想调查和Linux,这是 Ubuntu 的一个端口CoLinux,在 Windows 之上运行的 Linux 端口;不知道CoLinux能否支持CUDA。

鉴于您的工作流程,我认为您最好的选择是 Xen。如果这不起作用,那么您需要双启动,请注意,两个操作系统都支持休眠,因此通过正确的设置,您可以在两者之间相对快速地切换(无需登录、重新启动所有程序等)。

答案2

我不清楚你在问什么。您是否询问是否有法律原因导致您无法使用相同的许可证从常规启动和虚拟机运行,答案是 Microsoft 声称您不能,并且 Windows 身份验证要求您购买第二个许可证。

如果你问的是技术问题,那么我认为 Giiles 已经回答得相当好。

相关内容