Linux内的Windows 7是否与主操作系统(尤其是图形和视频)运行的效果一样好?


10

新的Linux用户。想知道是否通过VMPlayer在Ubuntu / Linux Mint中运行Windows 7是否与作为主要操作系统运行Windows 7相同。

“相同”我特别是指:

  • 图形和视频渲染质量会一样好吗?

  • 是否会有硬件问题,例如使用HDMI或WiDi?

  • 只要分配了足够的RAM,应用程序是否会运行平稳?

为了没有明显的差异,机器必须具备多强的功能?我的计算机的特定规格为:http : //www.gadgetspecs.info/2011/07/asus-u46e-bal5-review-of-specs-and.html。我还安装了SSD。

背景:我目前在Windows 7中对Linux Mint和Ubuntu进行了相反的设置,我发现视频质量不如Windows 7。

Answers:


11

我在下面的答案中添加了大量内容,但我保留了原始答案以供参考。

TL:DR:虚拟机是一种工具,虽然它们提供了在另一个操作系统中使用一个操作系统的简便功能,但您必须非常了解打算将计算机的主要用途是什么,以便充分利用该系统。 。

您的问题似乎非常倾向于使用虚拟机的图形和界面性能,因此,我将就那里的可能性进行回答。

主要问题是,为了安全管理来宾操作系统对设备的访问(从而防止来宾OS踩踏主机并破坏主机),必须对所有要使用的设备进行“仿真”。

这意味着,该显卡是你的客户操作系统可以看到的是一样的显卡,你的主机操作系统可以看到。您可能能够在guest虚拟机中启用3D渲染之类的功能,但这由guest虚拟机中的中间驱动程序处理,该中间驱动程序以安全的方式将请求传递给主机,以便在那里进行3D渲染。

来宾图形卡驱动程序会仿真像将蓝光光盘安全地播放到支持的HDMI显示器所需的功能,这些功能令人怀疑,因此这可能无法正常工作。

基本上,任何需要主机上硬件支持的东西都不可能在来宾中很好地工作。我不知道WiDi的工作原理,但是如果它需要直接访问视频卡存储器才能将其共享到电视上,那么除非您从主机(Linux)操作系统上使用它,否则它将无法工作。

除了性能以外,VM可以接近主操作系统,但在硬盘驱动器设备访问或与主机使用的其他资源争用方面始终会受到惩罚。

在一开始的时候...

最初,我们有一台计算机,该计算机只能运行一个操作系统。该操作系统只能在特定的处理器和计算机中的其他硬件上很好地运行,而其他操作系统(如果有的话)只能在可用的本机硬件上运行不佳。

为了使人们能够在另一平台上的一个特定平台上使用该软件(例如,在Commodore Amiga上使用Pre-OSX MacOS软件),不仅需要“安装软件”。这两台机器使用了完全不同的处理器体系结构和辅助硬件。一个操作系统根本不可能在另一台计算机的硬件上运行。

仿真

仿真就像虚拟化的表亲一样,它们实际上是相关的并且具有相似的目标。一个就这样乞求另一个。

这些不同的硬件平台的意思是,如果您想使用计算机上另一操作系统上的一个软件,则必须对该计算机上的所有内容进行分析以找出其工作方式,然后编写一段可在该计算机上运行的代码。与硬件部分相同。必须对每个部件,处理器,图形控制器,内存控制器以及所有部件执行此操作

然后将所有这些部件放在一起,并且在每个部件都在仿真硬件时,我们将其称为仿真机。然后,我们在此仿真机器上运行一个操作系统。

问题在于这种方法很慢。如果能够达到原始硬件速度的1/10,您很幸运。实际上,您需要一台比目标仿真计算机快几倍的计算机,才能在接近全速的任何位置运行该仿真计算机。

那么,什么改变了?

好吧,这很酷。真的不多。唯一的大变化是硬件平台实现了标准化。我们不再为每个操作系统获取自定义硬件,并且所有操作系统都已迁移到或在单个标准平台上创建。

如今,构成Mac的组件大体上与构成PC的组件相同。Linux总是在PC硬件上运行,因此没有什么新意。

长期以来,如果您仍想从一个操作系统在另一个操作系统上运行该软件,仿真仍然是常态。或者,您可以根据需要进行双引导并运行任何一个操作系统,但是如果您想从Linux编码转到Windows玩游戏,这将使您感到痛苦和烦恼。

接着..

由于底层硬件是相同的,所以为什么两个操作系统不能共享它?

我们最终获得了QEMU和WiNE以及类似的软件解决方案。长期以来,QEMU一直是机器硬仿真的最爱,而WiNE通过捕获和修补OS API调用并让代码在处理器上本地运行,从而允许Windows应用程序在Linux上运行。

QEMU所做的与WiNE类似,但水平较低。它仍然是有效的仿真器,但是对于每个进行的硬件调用,它们都使用“修补程序和重定向”方法,以便所有调用都转到自己的仿真硬件平台。因为程序中的大多数工作代码实际上并不涉及硬件调用(大多数是简单的计算流,并在末尾显示了结果)。

这导致了现在尚未真正仿真的机器中几乎每个程序的瞬时速度提升。程序运行缓慢的情况更多地取决于它们访问“虚拟”硬件的程度,而不是取决于计算机的仿真程度。他们现在的运行速度与其原来的速度几乎没有相同,而不是原来的1/10。

那么,如果我们现在在处理器上运行,为什么我的图形卡不起作用?

这些新虚拟机的唯一问题是,就其本质而言,操作系统假定它可以直接控制计算机中的所有硬件,因此它们可以提供诸如内存管理之类的功能,并控制对硬件的访问。

但这意味着虚拟机至少在方法上无法完全摆脱仿真。它们仍然必须在软件中模拟某些功能,例如图形卡,或者必须将网卡提供给在虚拟机中运行的OS,以便“来宾”操作系统认为它具有对该硬件的完全控制权。主操作系统(根据安全性要求)必须防止直接访问硬件的程序受到攻击,这对来宾操作系统构成​​了限制。

为此,他们必须为计算机中的所有设备模拟“虚拟”硬件。所有代码现在都由处理器本机运行,因此速度并不慢,但是这些虚拟硬件中的每一个都必须用软件编写,这不仅会导致性能下降,而且功能性可能会下降。

这意味着您的虚拟图形卡不能也不会具有与真实图形卡相同的功能。为了获得最佳性能,可以编写虚拟硬件以支持大多数使用的功能,并且现在可以在虚拟机中进行3D渲染,但是它仍然与真实硬件不同。

这意味着主机操作系统获得最佳的硬件选项,而客户操作系统获得通用的硬件选项。

虚拟机不如真实硬件好,它只是一种工具,可以使从一个系统到另一个系统的工具更容易使用。

那我该怎么办?

您必须选择您想要计算机的主要用途。

如果您想在高功率图形卡上玩最新的游戏,并使用相同的图形卡功率为您的400英寸HDMI电视播放完整的1080p电影,而只是偶尔需要进行一些Linux编程,那么Windows可能是最好的选择以Linux作为来宾。

如果您想使用Linux内核,为计算机中的设备制作硬件驱动程序,并偶尔为Windows编写一些软件并在与“标准” Windows系统非常近似的情况下对其进行测试,那么您可能更适合Linux作为主机,Windows作为来宾。

如果您喜欢Mac的易用性,但想为Windows编程(或者想要一个仅Windows的软件包),那么这也是一个选择。

我并不是说Linux无法玩游戏,或者MacOS不适合程序员,因为那简直就是一堆谎言。只是一个可以说出哪种操作系统更适合您想要做的事情的人就是

你真的了解你希望你的机器做什么第一。只有这样,您才能确定虚拟机可以为您做什么。

要回答您的问题:

Will the graphics and video rendering quality will be just as good?

不可以。仿真的图形卡可能提供了主机图形卡的某些功能,但可能不支持复杂的功能,例如硬件视频加速或CUDA编程功能。

Will there be any hardware issue such as using HDMI or WiDi?

同样,这些额外功能可能不会成为任何可用的仿真/虚拟硬件的功能。

Will applications run just as smoothly as long as enough RAM is allocated?

大多数应用程序(只要它们不需要特定的硬件功能)将以与实际硬件上几乎相同的速度运行,只要您不会饿死内存的主机或客户机。


+1感谢您的回复。我将更改问题以反映“倾斜”。
卡米尔·辛迪

8

虚拟机(VM)的运行总是比主机系统慢,因为来宾系统必须请求主机与硬件(例如图形卡,硬盘驱动器,内存等)进行接口,因为它是在主机系统中运行的程序,并且不直接控制硬件。但是,如果您的硬件可以处理它,则速度可能不太明显。

这样做的原因是处理器一次只能执行一条指令。程序通常包含成千上万的机器指令。机器启动时,它将扫描主引导记录(MBR)中的引导程序。然后,引导程序将启动内核。内核是控制所有硬件的主要过程。在多个任务之间切换的多任务处理使我们可以一次运行多个程序,即使在给定的时刻仅执行一个程序也是如此。大多数处理器仅花费大约20%的时间来进行数学计算。多核处理器允许在等待另一个核进行数学运算时提取下一条指令,从而减少了空闲时间并显着加快了系统速度。除了内核,还有外壳程序(为用户提供接口),

虚拟化软件是一个与内核一样管理其他应用程序的应用程序。因此,VM的内核必须等待主机内核的许可才能执行任何操作,并且会经常被中断。主机系统上运行的进程越多,分配给VM的执行时间就越短,从而使其运行速度越慢。VM的运行速度通常比物理机慢三到四倍。

如果您要运行游戏或类似的东西,我会分配足够的RAM和尽可能多的内核时间。多处理器的帮助。但是,分配过多的RAM会降低系统的速度,因为访问数据需要更长的时间,并且可能会导致主机系统上过多的硬盘缓存。但是另一方面,太少会导致来宾上过多的硬盘缓存。由于Windows如此渴望资源,因此我会分配至少2到4 GB的RAM,但不要将超过一半的RAM分配给VM。

如果响应速度太慢,则更好的选择是双启动。这样,两者都可以充分利用系统资源,但是不幸的是,您一次只能运行一个。如果这样做,可能至少需要三个分区:一个用于Linux,一个用于Windows,以及一个(或多个)文件。


知道机器必须有多强大才能没有明显的区别吗?
卡米尔·辛迪

我不太确定,因为我只在计算机上运行Windows作为主机。我的建议是尝试一下,看看它是否足够好。如果没有,我会使用双重引导。我的个人经验是,诸如Wordperfect之类的东西足够快,但是游戏在VM中的表现却很差。
ctype.h 2012年

您的系统有哪些具体细节?你有多少RAM?您的处理器的频率和内核数是多少?它是否支持硬件辅助虚拟化(HAV)?
ctype.h 2012年

+1非常有趣的概述。我的规格是8GB RAM,固态硬盘和Intel Core i5-2410M(时钟速度为2.3 GHz)。我不确定HAV。这是一个非常新的模型(2011年)。
卡米尔·辛迪

6

所以。VMWare Player是2类管理程序。这意味着来宾坐在操作系统的顶部。在类型1虚拟机管理程序上,虚拟化平台位于硬件之上。这是因为VMWare Player在Type 2 Hypervisor上的运行速度比Type 1在Hypervisor上的运行速度慢。但是,VMWare Player提供了为VM定制硬件要求的能力。因此,如果您的系统具有四核处理器和4GB的Ram,则您可以负担得起提供1个或2个核,然后提供2GB的RAM(Windows x64的最低要求)以使VM有效运行。

例如,我有一个XPS 14z并装有Windows 7。我也运行Windows 7 VM-我已经为其分配了2GB的RAM和2个处理器内核(共4个)。

因此,当我在其上运行程序(Notepad ++,Transwiz,Outlook,Word,Excel等)时,速度没有明显下降。我从未尝试在其上运行强大的软件(Photoshop等)。因此,根据您使用它的目的,类型2虚拟机管理程序可能会或可能不会满足您的需求。如果您想将其用于游戏,则取决于游戏。我已经在上面运行了一些Steam游戏,但没有遇到任何问题(有时我从Fedora机器到我的VM进行RDP),但这实际上取决于游戏的要求。对于各种游戏,我都不会使用VM来完成。我在W7机器上玩游戏,然后使用VM(实际上是Fedora)执行其他操作。您希望最密集的应用程序首先访问硬件。


1

因此,我通过VMWare Player在Linux Mint 12中安装了Windows 7。Linux Mint中Windows 7的视频渲染比Windows 7作为主要操作系统差。我还没有配置任何东西,也不知道是否有任何配置可以使avi文件的视频呈现更好。

我确实发现8GB内存计算机中运行应用程序的速度很快。那不是问题。就是说,我没有尝试任何需要占用大量内存的视频或照片编辑功能。只是常规的Office应用程序。


您始终可以为虚拟机分配更多的CPU,RAM或视频内存。
iglvzx 2012年

1

VM技术的问题在于,如果使用该内存运行实际的OS,则无法以相同的方式处理物理内存。如果VM映像使用相同的物理寻址空间运行,则该映像将使用逻辑内存寻址,而您无法同时运行两个操作系统。尽管现代VM已经走了很长一段路要走,甚至可以说90%-95%的高质量游戏,但它们仍然缺乏全速运行游戏的能力。90%-95%纯粹是针对计算机内存的逻辑寻址和物理寻址。现在仅涉及内存寻址/分配参数,另一个问题是Windows使用DirectX,据我所知,包括VMware在内的VM软件都没有完全支持任何最新的DX。因此,如果使用DX 9以外的任何东西,您几乎会被搞砸。

Linux上的QEMU可能是游戏的最佳选择!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.