从阅读较早的问题来看,在虚拟机中运行第二个操作系统是运行不同操作系统实例的首选方式。但是,由于计算机必须容纳两个操作系统,在虚拟机中运行的操作系统运行速度会不会更慢?我想在已经运行 Windows 7 的笔记本电脑上安装另一个 Windows 7 实例,我担心虚拟机实例会更慢(更慢),因为它不会充分利用我的所有内存。
答案1
如果您的 CPU 中有硬件虚拟化扩展(现在大多数服务器和台式机以及许多笔记本电脑处理器都有),那么 CPU 受限的应用程序受到的影响将很小。
如果您有足够的 RAM 专用于您的 VM,它将不会被共享(VirtualBox 和微软的 hyperv 不会过度使用内存 IIRC,所以如果您使用其中一个,这是一个没有实际意义的问题。如果您使用 VMWare,您可以固定内存,因此它是为您的 VM 保留的),因此内存受限的应用程序将受到最小的影响。
如果主机和客户机使用同一个驱动器,或者多个客户机使用同一个驱动器,那么磁盘绑定应用程序将始终受到冲击。通常冲击相当大。如果您可以为虚拟机专用一个驱动器,或者为其磁盘绑定应用程序使用快速 NAS 盒,您将看到最小的冲击。
这有帮助吗?
答案2
是也不是。随着虚拟机管理程序的出现,虚拟操作系统现在可以更直接地访问物理硬件。另一方面……有些东西仍然有“开销”,会降低您的性能。例如,如果您将磁盘映像存储在主机操作系统上的文件中,您仍然会有一个抽象层,这会降低一些性能。在许多情况下,开销的数量是微不足道的。对于大多数原始计算能力……虚拟环境(CPU/RAM 访问)中的开销几乎为零。许多虚拟机管理程序现在甚至还为您提供了一种虚拟化页面文件的方法,这确实可以产生一些显著的效果。
我实际上已经构建了这样的系统:客户操作系统可以直接访问 SSD,而主机操作系统直接从标准磁盘运行……并且客户操作系统的性能明显优于主机操作系统。
虚拟化操作系统有许多优点......原因包括:
- 可移植性。您可以将虚拟实例从一台硬件移动至另一台硬件,且停机时间最短。
- 可扩展性。您可以并行运行多个操作系统以更好地利用硬件。大多数时候操作系统都处于闲置状态,几乎不做任何事情……那么,当您只需要 1 个计算能力时,为什么要专用 6 组物理硬件呢?如果您需要一台额外的服务器来测试某些东西,而又不想总是让一台额外的服务器闲置,该怎么办?
- 适应性。如果您需要从 Windows 切换到 Linux 再切换到 Macos,然后再来回切换……关闭一个系统再启动另一个系统所花的时间比简单地并行运行它们要长得多。
还有更多原因……但我的真实看法是,您运行您个人最喜欢的操作系统作为主机操作系统……并将任何辅助操作系统作为按需虚拟实例。如今,与处理能力相比,开销的数量使得您进行双启动的任何理由都显得愚蠢。
答案3
您说得对,虚拟机版 Windows 7 运行时占用的资源更少(不一定更慢,具体取决于您的硬件)。您想再安装一个 Windows 7 有什么理由吗?也许有办法解决。
另外,我猜你可以双启动两个 Windows 7 实例。但是,我建议使用 GRUB 之类的东西在启动时管理你的操作系统。Windows 的启动管理器总是搞砸。