我希望两个操作系统都能发挥出最佳性能,并且能够在不重启的情况下切换。我有足够的内存(32 GB)和磁盘空间。
两个简单的选择是:
- 双启动 - 不允许在操作系统之间即时或几乎即时切换
- 使用虚拟机(例如 VirtualBox)——这会严重损害托管操作系统的性能,尤其是图形性能
如果能够通过键盘快捷键或其他类似方法在两个操作系统之间切换,其中一个操作系统为热操作系统,另一个操作系统为“暖待机操作系统”,那就太好了。
答案1
还有两种同时运行 Windows 和 Linux 的方法您在问题中没有提到:
- 您可以安装适用于 Linux 的 Windows 子系统如果您运行的是 64 位 Windows 10。这将允许您在 Windows 上本地运行一些 Linux 软件。
- 你可以同时运行两个操作系统(字面意思)按照这个例子:
答案2
我认为开销最小的解决方案是使用 Linux 作为主操作系统,并使用 KVM(基于内核的虚拟机,而不是也可以使用的 KVM 交换机)来虚拟化 Windows。如今,您可以获得非常接近在裸机上运行的性能,您甚至可以将辅助 GPU 传递到 VM,或者拥有单个专用 GPU,并为主机使用集成 GPU。您还可以使用 Looking Glass 来获得比使用 spice 响应更快的解决方案(这是 virt manager 默认使用的,与使用远程桌面基本相同)。https://forum.level1techs.com/t/looking-glass-guides-help-and-support/122387
唯一棘手的部分是硬件兼容性。有很多怪癖,比如需要与 Intel VT-D 或 AMD 同等产品兼容的 CPU 和主板,需要具有 UEFI VBIOS 的足够新的 GPU(或从制造商处获取 VBIOS),IO 经过哪些芯片,这有助于将外围设备专用于 VM,等等。
我建议你阅读这篇博客文章,了解一下你需要做些什么才能完成设置。这绝对不像使用 virtualbox 或 VMWare 那么简单,但如果你通过 virt manager 进行设置,你可以跳过这个家伙经历的许多手动步骤。在 Arch wiki 的 KVM、QEMU 和 VFIO 下还有更多关于所有这些的信息。https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/
对于 2600k,您需要降级到非 K 版本,并检查主板是否也支持 VT-D。我在使用 3700k 和不兼容主板时也遇到了同样的问题,不得不将它们都换掉,但最终我通过 ebay 购买和销售赚了一点钱。
为了详细说明我使用的某些术语,这里有一些简短的描述。
Virt-manager(或虚拟机管理器)是一个使用 KVM 管理虚拟机的 GUI 应用程序。您可以认为它使您的体验更接近使用 VMWare 或 VirtualBox 时的体验。它为您提供了设置 VM 的向导,允许您更改正在通过的硬件,向您显示资源使用情况图表,并允许您管理电源。更多信息和屏幕截图可在以下网站上找到:https://virt-manager.org/
Spice 为您提供对虚拟机的远程访问。它与使用远程桌面非常相似,无论是在使用上还是在性能上,但它默认由 virt manager 使用。我希望我的描述能更具体一些,但我用得不多,甚至网站对它的具体用途也含糊其辞。https://spice-space.org/
Looking Glass 是 Spice 之类的替代方案,但延迟极低。它将帧缓冲区从 GPU 复制到系统内存,然后将其显示在屏幕上。它仍处于开发初期,但运行良好,更适合需要响应更快的解决方案的应用程序。该项目的网站上提供了非常全面的设置指南:https://looking-glass.hostfission.com/quickstart
Spice 和 Looking Glass 的另一种替代方案是将显示器连接到通过的 GPU 的一个输出。这种方法响应更快,但需要另一个显示器或在同一显示器上切换输入。
答案3
正如这个问题的所有其他答案所提到的,虚拟化是可行的方法。最小化性能损失的一种方法是将 Windows 作为主操作系统运行,然后虚拟化轻的Linux 发行版。我首先想到的是,您可以尝试:
- 鲁本图,
- 徐本图,
- 甚至Alpine Linux(看此链接了解 Alpine 上各种桌面的“操作方法”列表)
通过选择轻量级发行版,您可能能够降低性能以设置您满意的系统。
答案4
我曾在高性能环境下完成此操作,并为我们运行的应用程序实现了接近本机的性能。这并不是“如何操作”,而是两个我完成此操作并实现足够性能和解决问题的示例。
对于数据科学和软件开发
我当前的工作站(一台笔记本电脑和我的工作站)在两个单独的分区上并排安装了 Windows 10 和 Ubuntu。启动我的机器时,我可以选择 Windows 或 Ubuntu,然后启动任一操作系统。在 Ubuntu 中,我使用 VirtualBox 启动本机 Windows 分区并像任何其他虚拟机一样运行它(看这里)。
一切都很顺利:拖放、共享剪贴板和文件共享。我在虚拟机中不断运行大型、多线程的 Excel 电子表格(别开玩笑了 - 这些表格不是我制作的!),一切都很顺利。
适用于地球物理、地质和工程工作
几年前,我使用 CentOS 和 Windows 7 构建了一个类似的设置。这样我的同事就可以在 Linux 中运行昂贵、性能要求高的地球物理模拟,同时仍能够在 Windows 7 中访问同样性能要求高的 2D 和 3D 地图软件(以及 Outlook 和 Microsoft 套件的其他部分)。我们试用了 VirtualBox,但由于资金有限,我们最终使用 VMware Workstation 和 GPU 直通解决了这个问题(与工资和软件许可相比,成本微不足道)。对于我们的应用程序,我们在 Windows 中实现了足够接近本机的性能,每个人都对设置非常满意。
在当时(大约 2010 年),这些机器相当强大:Quadro 4000、双四核 Xeon 和 32 GB 内存。组装这些设置最困难的部分(据我回忆)与硬件 RAID 控制器有关。我使用这种设置维护了大约十几台机器,在购买这些机器的整个项目生命周期内(约 2 年),我们从未遇到过任何问题。这对我们来说是一个极好的结果,因为如果一台机器停机一周,那么我们损失的生产力将比工作站本身还要多!
结论
使用上面描述的双启动选项,您可以获得非常好的性能。我曾在不同场合使用 VirtualBox 和 VMware 实现过此操作,结合使用 Linux 发行版(Mint、Ubuntu 和 CentOS)和 Windows 版本(7、10),并且始终能够实现满足我需求的性能。
此设置的另一个优点是,如果 a) 您的环境发生变化,或者 b) 此设置不能满足您的需求,您可以删除任一分区并放弃 Windows 或 Linux。如果性能不理想,您还可以直接启动到需要更多性能的操作系统。
最后,关于许可的说明:如果您本机启动 Windows,则将要看到不同的硬件并询问你有关许可证的问题。对于 Windows 10 来说,这不是什么问题,它只会在你工作时困扰你。我不记得我们是如何为那些地球物理工作站解决这个问题的;我记得我们有一个批量许可证,可能还有微软代表的帮助。
结语:Remote X 和 VirtualGL
我还使用以下工具设置了工作站虚拟GL以及用于高性能石油模拟的 GPU 集群。我甚至在 AWS 上也做过这个,但我不推荐这样做,原因如下:成本、性能和便利性。