半虚拟化

半虚拟化

我有一台 Gateway NE56R 笔记本电脑,配备 Intel B960 处理器,不支持虚拟化。但我想在 VirtualBox 上安装 x64 位客户操作系统,它给我错误。我也使用过 VMware 工作站、Parallels 工作站。我的主机操作系统是 Ubuntu 12.10 x64 位。

请告诉我,在这种情况下我可以使用哪种虚拟软件。

答案1

我没有测试过这个,但是qemu-system-x86_64,没有 kvm 的普通 qemu 不使用处理器的 vt 支持。如果它能工作,性能可能会有点迟缓。只需启动一些 64 位 linux 安装磁盘:

qemu-system-x86_64 -cdrom 64bitlinux.iso -boot d

答案2

需要说明的是,VirtualBox 不支持非 VT-x 硬件上的 64 位客户机:

VirtualBox 的 64 位客户机支持需要启用硬件虚拟化。VirtualBox 使用手册

答案3

没有虚拟化无需 VT-x 即可运行 x86_64 客户机的软件,因为虚拟机的隔离是不可能的没有它1

不过,这里有一些解决方案

半虚拟化

由于开销低,这可能提供比硬件辅助虚拟化更好的性能,但它需要修改后的内核,因此只有在使用 Linux 客户机(或具有开源和可修补内核的其他操作系统)时它才会起作用。

如果你的情况是这样的,那么你可以使用西恩无需 VT-x 即可运行 64 位客户机

仿真

仿真软件可以运行任何访客架构任何主机。因此你需要一个 x86_64 模拟器,例如库姆或者波克斯。但请注意,它会比其他解决方案慢得多


1 https://en.wikipedia.org/wiki/X86_virtualization#Software-based_virtualization

x86-64(AMD64)的初始版本不允许纯软件完全虚拟化,因为缺乏长模式下的分段支持,这使得无法保护虚拟机管理程序的内存,特别是无法保护在客户机内核地址空间中运行的陷阱处理程序。

修订版 D 及更高版本的 64 位 AMD 处理器(一般来说,采用 90 nm 或更低工艺制造的处理器)添加了对长模式下分段的基本支持,从而可以通过二进制转换在 64 位主机上运行 64 位客户机。英特尔没有在其 x86-64 实现(英特尔 64)中添加分段支持,因此无法在英特尔 CPU 上实现 64 位纯软件虚拟化,但英特尔 VT-x 支持使得在英特尔平台上实现 64 位硬件辅助虚拟化成为可能

相关内容