总结:

总结:

所以,基本上,问题是:当我启用 Hyper-V 时,它会将我的 64 位 Windows 8.1 PC 变成运行 32 位的 PC(或者我认为)。Virtualbox 和 Adob​​e Photoshop 的设计空间预览都对我不起作用。Virtualbox 仅显示 32 位操作系统,Photoshop 的选项会使设计空间预览(仅限 64 位)变灰。关闭 Hyper-V 后,这通常会没问题,但我需要使用 Visual Studio Emulator for Android,它(我认为)需要 Hyper-V。有没有办法在我的操作系统上启用 64 位功能并运行 Visual Studio Emulator?我并不关心 Hyper-V 是否打开。

答案1

总结:

从任何随附的 Windows 版本切换 Hyper-V 角色状态都不应该,只需不能,将主机操作系统更改为 64 位或反过来。您的系统仍然与以前相同。

为什么?

32 位和 64 位都是 [硬件]平台架构,操作系统内核必须原生支持该架构。为此,其绝大多数组件都经过编译,以利用一种架构或另一种架构,但绝不会同时利用两种架构,方法是明确针对这两种架构。

然后,操作系统供应商(在本例中为 Microsoft)必须打包所有这些组件,并将它们作为单独的产品发布/销售。这就是为什么如果您从任何零售店购买,它们都是两张独立的 DVD,并且您无法在它们之间无缝切换。需要全新安装。

作为练习,你可以复制任何。EXE文件将文件从 C:\Windows\System32(如cmd.exenotepad.exe)复制到 USB 驱动器,然后尝试在经过验证的 32 位系统上加载它们。它们将不起作用。
如果您没有,只需加载C:\Windows\SysWOW64\notepad.exe。如果您检查任务管理器,此记事本实例将被标记为“32 位”。

SysWOW64文件夹在 32 位 Windows 上不存在。该名称是“Windows On Windows64”的缩写,这是一个兼容层,可使 32 位用户应用程序正常运行。此文件夹中包含大多数 Windows 组件的 32 位版本,以提供此兼容性。

那么,后来发生了什么?

Hyper-V 是类型 1 虚拟机管理程序(Ring -1),因此无法与使用本机硬件虚拟化的其他解决方案共存。因为主机操作系统本身在其上运行(看这里),VMX 指令将无法用于 VirtualBox 和类似软件:

VT-X x86 虚拟化功能由 Hyper-V 使用,只要安装了 Hyper-V,其他解决方案就无法使用该功能。

例如,如果需要 Android Studio 或 Microsoft Visual Studio Community HAXM Android 设备模拟器虚拟机,则必须将 Hyper-V 作为 Windows 功能删除才能正常工作。Hyper-V 可以默认安装,在这种情况下,用户必须在使用需要 VT-x 的其他应用程序之前删除 Hyper-V 功能。

Hyper-V - VT-x 专门处理 Hyper-V

bcdedit /set hypervisorlaunchtype off(请注意,您可以按照所述命令禁用 Hyper-V,而不是完全删除它这里)。

VirtualBox 是 Type 2 虚拟机管理程序(Ring 3,由内核驱动程序提供 Ring 0 协助)。它能够通过“软件虚拟化”资源虚拟化 x86(32 位)架构,而无需使用 VT-x/AMD-V 指令:

通过复杂的技术,VirtualBox 完全在软件中虚拟化了许多客户操作系统。这意味着您甚至可以在不支持硬件虚拟化的旧处理器上运行虚拟机。
(...)
VirtualBox 的 64 位客户支持(在 2.0 版中添加)和多处理(SMP,在 3.0 版中添加)都需要启用硬件虚拟化。

10.3. 硬件与软件虚拟化 - VirtualBox 技术背景

注意:虽然这不是严格意义上的模拟,但在这种情况下性能会降低。阅读上述文档的第 10.5 和 10.6 节,以及对这个问题了解详情。

这就是为什么只要启用 Hyper-V,它就不会显示 64 位虚拟机或创建新的虚拟机。


在我的系统上,Photoshop 的设计空间预览在启用 Hyper-V 的情况下有效。此选项在 32 位版本的 Photoshop 上不可用 - 是的,可以同时安装两个版本 - 所以也许这就是它对您禁用的原因。只需确保您启动了正确的 Photoshop(64 位版本)。

最后...

适用于 Android 的 Visual Studio 模拟器确实需要 Hyper-V
无论如何,您随时可以下载Android-x86(32 位或 64 位)并将其手动安装到您喜欢的任何其他虚拟机管理程序。这个过程通常非常简单。虽然我个人不使用 VirtualBox,但我想这很可能可行,因为 Linux 和 FreeBSD 都受支持。您甚至可以通过 ADB 连接到它并从 Visual Studio 调试应用程序。看这里- 在文章的结尾。

答案2

我使用 64 位(真实)机器(英特尔 9700K),同时运行 Photoshop(CC 和 Lightroom Classic(桌面版))、Oracle VirtualBox、Hyper-V 和 Dosbox,没有任何问题。(网络设置起来很麻烦,而且还没有完成)。我的 Hyper-V 系统运行各种 Windows 系统(7、10、11-insider),其他虚拟机运行 Linux 或 PC_DOS。因此,共存是相当可行的。

相关内容