Chr*_*ser 5 windows linux fedora linux-kvm virt-manager
主机操作系统:Fedora 来宾操作系统:Windows 10 虚拟化:KVM
所以这个想法是运行一个 Windows 10 主机,它不知道它是一个虚拟机。因此,当我在来宾 Windows 机器上打开任务管理器,并在“虚拟机”标签设置为“否”的性能选项卡下。到目前为止,我已经了解到任务管理器根据这两个参数做出决定:
我希望在 VM(作为来宾)中运行 Windows 10 并让它确信它不在 VM 中。确实有很多原因:GPU 直通、驱动程序终止开关、测试等......
谁能帮我配置这个虚拟机,让它不再知道它是一个虚拟机。
我也在使用 Virt-Manager。
迈克尔的回答解决了这个问题并提供了明确的指导方针。然而,即使目的已经实现,并且在任务管理器中,当在 powershell 中运行“systeminfo”命令时,这不再报告为 VM,除了“BIOS 版本”读取类似“ SeaBios-......fedora28.....”和“系统制造商”,其内容为“QEMU”。
这些参数也可以改变吗?
感谢您的时间和精力。
Mic*_*ton 16
要在来宾操作系统中隐藏虚拟机管理程序,您需要做两件事:
这些都不能完全在 virt-manager 中完成;您将必须编辑虚拟机 XML。
默认情况下,CPU 设置为“Hypervisor default”:
这会导致“QEMU Virtual CPU version 2.5+”
首先,您需要在 virt-manager 中设置 CPU 类型。默认的 QEMU 虚拟 CPU 不能在 libvirt 中删除其管理程序标志。
为了获得最佳性能和功能,您应该只选择“复制主机 CPU 配置”和“应用”。这将允许您使用嵌套虚拟化,在此虚拟机内运行 64 位加速虚拟机。
现在,您可以编辑虚拟机 XML 中的 CPU 部分。运行sudo virsh edit <vmname>。CPU 部分将如下所示:
<cpu mode='host-model' check='partial'>
<model fallback='allow'/>
</cpu>
Run Code Online (Sandbox Code Playgroud)
您需要添加一个元素来移除管理程序 CPU 功能,使其看起来像这样:
<cpu mode='host-model' check='partial'>
<model fallback='allow'/>
<feature policy='disable' name='hypervisor'/>
</cpu>
Run Code Online (Sandbox Code Playgroud)
现在您还需要禁用管理程序 CPUID 叶。这允许其他一些东西,如 NVIDIA 驱动程序工作。
这是通过在元素内添加一个新元素来完成的<features>。
就在上面:
</features>
Run Code Online (Sandbox Code Playgroud)
你应该添加:
<kvm>
<hidden state='on'/>
</kvm>
Run Code Online (Sandbox Code Playgroud)
现在,关闭 VM 并重新启动它(重新启动是不够的;需要完全关闭)。
此时任务管理器显示:
您还可以systeminfo在 PowerShell 或命令提示符下运行。在底部,如果一切顺利,您将在 Hyper-V 部分看到所有 Yes 答案:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
Run Code Online (Sandbox Code Playgroud)
现在你可以做任何你想做的事情。
| 归档时间: |
|
| 查看次数: |
24581 次 |
| 最近记录: |