Kam*_*ndi 12 linux vmware windows-7 virtual-machine ubuntu
新 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。
Mok*_*bai 11
我在下面的答案中附加了很多内容,但我保留了原始答案以供参考。
TL:DR:虚拟机是一种工具,虽然它们提供了在另一个操作系统中使用一个操作系统的轻松能力,但您必须非常清楚您对计算机的主要用途是什么,以便充分利用系统.
您的问题似乎强烈倾向于使用虚拟机的图形和界面性能可能性,因此我将回答那里的可能性。
主要问题是,为了安全地管理来宾操作系统对设备的访问(从而防止来宾操作系统践踏主机并破坏事物),您要使用的所有设备都必须“模拟”。
这意味着,该显卡是你的客户操作系统可以看到的是不一样的显卡,你的主机操作系统可以看到。您可以在来宾中启用 3D 渲染等功能,但这由来宾中的中间驱动程序处理,该驱动程序以安全的方式将请求传递给主机,以便在那里渲染 3D。
非常值得怀疑的是,访客显卡驱动程序模拟了将蓝光光盘安全播放到受支持的 HDMI 显示器所必需的功能,因此这可能无法正常工作。
基本上,任何需要主机硬件支持的东西都不太可能在您的来宾中运行良好(如果有的话)。我不知道 WiDi 是如何工作的,但是如果它需要直接访问您的视频卡内存以将其共享到电视,那么除非您从主机 (Linux) 操作系统中使用它,否则它将无法工作。
除了在性能方面,虚拟机可以接近它是主操作系统时的性能,但在硬盘设备访问或与主机正在使用的其他资源的争用方面总会受到惩罚。
一开始我们有一台电脑,那台电脑只能运行一个操作系统。该操作系统往往只能在机器中的特定处理器和其他硬件上运行良好,而其他操作系统只能在可用的本机硬件上运行不佳(如果有的话)。
为了让人们能够在另一个平台上的一个特定平台上使用该软件(例如,在 Commodore Amiga 上使用 Pre-OSX MacOS 软件)需要的不仅仅是“安装软件”。这两台机器使用完全不同的处理器架构和辅助硬件。一个操作系统根本无法在另一台机器的硬件上运行。
仿真就像虚拟化的表亲,它们实际上是相关的并且具有相似的目标。一个照样生了另一个。
这些不同的硬件平台意味着,如果你想在你的机器上使用来自另一个操作系统的一个软件,那么必须分析关于这台机器的一切以找出它是如何工作的,然后编写一段代码来运行与硬件部分相同的方式。必须对每一部分都这样做,处理器、图形控制器、内存控制器,一切。
然后将所有这些部分放在一起,因为每个部分都在模拟一些硬件,我们称之为模拟机。然后我们在这台仿真机器上运行一个操作系统。
问题是这种方法很慢。很简单,如果您能达到原始硬件速度的 1/10,那您就很幸运了。您确实需要一台比目标仿真机器快几倍的机器,以便在任何地方以接近全速运行仿真计算机。
好吧,这是很酷的事情。真的不多。唯一的大变化是硬件平台标准化。我们不再为每个操作系统定制硬件,所有操作系统都转移到或创建在一个单一的标准平台上。
如今,构成 Mac 的组件大体上与构成 PC 的组件相同。Linux 总是在 PC 硬件上运行,所以没有什么新鲜事。
如果您想从一个操作系统在另一个操作系统上运行软件,那么在很长一段时间内,仿真仍然是常态。或者,您可以根据需要进行双启动并运行任一操作系统,但是如果您想从在 Linux 中编码到在 Windows 中玩游戏,这会让您感到痛苦和烦人。
有一个想法,既然底层硬件是一样的,为什么两个操作系统不能共享呢?
我们最终得到了 QEMU 和 WiNE 以及类似的软件解决方案。QEMU 长期以来一直是机器硬仿真的最爱,而 WiNE 允许 Windows 应用程序通过捕获和修补它们的 OS API 调用并让代码在处理器上本地运行,从而在 Linux 上运行。
QEMU 做了一些类似于 WiNE 的事情,但在低得多的级别上做了。它仍然是一个有效的模拟器,但是对于每个硬件调用,他们都使用了“补丁和重定向”方法,以便任何调用都转到他们自己的模拟硬件平台。因为程序中的大多数工作代码实际上并不涉及硬件调用(大多数是简单的计算流,最后调用以显示结果)。
这导致现在不是真正仿真的机器中几乎每个程序的瞬时速度提升。程序运行速度变慢更多地取决于他们访问“虚拟”硬件的程度,而不是机器的模拟能力。他们现在以几乎与原生速度相同的速度运行,而不是以 1/10 的速度运行。
这些新虚拟机的唯一问题是,从本质上讲,操作系统假定它可以直接控制计算机中的所有硬件,以便它们可以提供内存管理等功能,并控制对硬件的访问。
这意味着虚拟机无法完全摆脱仿真,至少在方法上是这样。他们仍然必须在软件中模拟某些功能,例如必须将图形卡或网卡提供给运行在虚拟机中的操作系统,以便“访客”操作系统认为它可以完全控制该硬件。主操作系统(根据安全要求)必须保护自己免受直接访问硬件的程序的影响,这对来宾操作系统施加了限制。
为了做到这一点,他们必须为计算机中的所有东西模拟“虚拟”硬件。现在所有的代码都由处理器在本地运行,所以它并不慢,但是这些虚拟硬件中的每一个都必须用软件编写,这会导致性能上的小幅损失和功能方面的潜在大损失.
这意味着您的虚拟显卡不能也不会具有与真实显卡相同的功能。为了获得最大性能,可以编写虚拟硬件以支持最常用的功能,并且现在可以在虚拟机中进行 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?
Run Code Online (Sandbox Code Playgroud)
不可以。仿真显卡可能提供主机显卡的一些功能,但它可能不支持复杂的功能,例如硬件视频加速或 CUDA 编程功能。
Will there be any hardware issue such as using HDMI or WiDi?
Run Code Online (Sandbox Code Playgroud)
同样,这些额外的功能可能不是任何可用的仿真/虚拟硬件的功能。
Will applications run just as smoothly as long as enough RAM is allocated?
Run Code Online (Sandbox Code Playgroud)
大多数应用程序(只要它们不需要特定的硬件功能)的运行速度几乎与它们在真实硬件上的运行速度一样快,只要您不使主机或客户机内存不足。
虚拟机 (VM) 总是比主机系统运行得更慢,因为来宾系统必须请求主机与硬件接口,例如您的显卡、硬盘驱动器、内存等,因为它是在主机系统中运行的程序,并且不直接控制硬件。但是,如果您的硬件可以处理它,那么缓慢可能不会太明显。
这样做的原因是处理器一次只能执行一条指令。程序通常由数千或数百万条机器指令组成。当机器启动时,它会扫描主引导记录 (MBR) 以查找引导加载程序。然后引导加载程序启动内核。内核是控制所有硬件的主要进程。多任务,即在多个任务之间切换,允许我们一次运行多个程序,即使在给定时刻只执行一个程序。大多数处理器只花费大约 20% 的时间来执行数学计算。多核处理器允许在等待另一个核进行数学运算的同时提取下一条指令,从而减少空闲时间并显着加快系统速度。除了内核,还有外壳(为用户提供接口),
虚拟化软件是一种应用程序,与任何其他应用程序一样,由内核管理。因此,VM 的内核必须等待主机内核的许可才能执行任何操作,并且会经常被中断。主机系统上运行的进程越多,分配给 VM 的执行时间就越少,从而使其速度变慢。虚拟机的运行速度通常比物理机慢三到四倍。
如果你要运行游戏或类似的东西,我会分配足够的内存和尽可能多的内核时间。多处理器有帮助。但是,分配过多的 RAM 会降低系统速度,因为访问数据需要更长的时间,并且可能会导致主机系统上的硬盘缓存过多。但另一方面,太少会导致客户机上的硬盘缓存过多。由于 Windows 非常需要资源,我会分配至少 2 到 4 GB 的 RAM,但不要将一半以上的 RAM 分配给 VM。
如果它响应太慢,更好的选择可能是双启动。这样两者都可以充分利用系统资源,但不幸的是,您可能一次只能运行一个。如果您这样做,您可能需要至少三个分区:一个用于 Linux,一个用于 Windows,一个(或多个)用于您的文件。
所以。VMWare Player 是一种类型 2 管理程序。这意味着来宾位于操作系统之上。在 Type 1 Hypervisor 上,虚拟化平台位于硬件之上。这是因为 VMWare Player 在类型 2 虚拟机管理程序上的运行速度会比在类型 1 上的速度慢。但是,VMWare Player 提供了为 VM 自定义硬件要求的能力。因此,如果您的系统配备 4GB 内存的四核处理器,您可以提供 1 或 2 个内核,然后提供 2GB 内存(Windows x64 的最低要求)来拥有一个高效运行的虚拟机。
例如,我有一台 XPS 14z 并装有 Windows 7。我也运行了一个 Windows 7 虚拟机——我已经为它分配了 2GB 的 RAM 和 2 个处理器内核(我的 4 个)。
因此,当我在其上运行程序(Notepad++、Transwiz、Outlook、Word、Excel 等)时,没有明显的减速。我从未尝试在其上运行密集的软件(Photoshop 等)。因此,根据您使用它的目的——2 类虚拟机管理程序可能满足也可能不满足您的需求。如果您想将其用于游戏,则取决于游戏。我已经在上面运行了一些 Steam 游戏并且没有遇到任何问题(我有时从我的 Fedora 机器到我的 VM 的 RDP)但是它真的取决于游戏的要求。对于各种意义上的游戏,我不会使用虚拟机来完成它。我在 W7 机器上玩游戏,然后使用 VM(实际上是 Fedora)来做其他事情。您希望最密集的应用程序首先访问硬件。
归档时间: |
|
查看次数: |
17786 次 |
最近记录: |