Mac – Why VirtualBox on 64bit host requires HT for 64bit guest

64-bitvirtual machinevirtualbox

  • The host computer is win64bit.
  • I want to run a 64bit Linux guest.
  • The CPU is AMD 64bit 2-core.
  • I couldn't find HyperThreading or VT, or HT option in the BIOS.
  • VirtualBox version is: 4.18

However, VirtualBox tells me that I must enable VT/HT for 64-on-64 scenario.

Why is it mandatory?

How else can I run 64 bit guest?

AMD Athlon 64 X2 3800+
code name windsor
socket AM2 940 with AMD-v instructions!

the comments might be correct:
it seems that the CPU supports AMD-V, but the BIOS (award) – doesn't!

edit: Resolution

in addition to the answer, @kobaltz was correct:

I had to upgrade my BIOS in order to see an option of chaning virtualization support. Support was there, but the BIOS didn't take it into account.

Best Answer

The reason it is mandatory is that in 64 bit mode (called long mode) most 64 bit CPU's don't support what virtualization software requires for unassisted virtualization.

From wikipedia x86 Virtualization:

To protect the memory of the hypervisor (ring 0) from a guest OS running at ring 1, segmentation must be used. The initial version of x86-64 (AMD64) did not allow for a software-only full virtualization due to the lack of segmentation support in long mode, which made the protection of the hypervisor's memory impossible, in particular, the protection of the trap handler that runs in the guest kernel address space. and Revision D and later 64-bit AMD processors (as a rule of thumb, those manufactured in 90 nm or less) added basic support for segmentation in long mode, making it possible to run 64-bit guests in 64-bit hosts via binary translation. Intel did not add segmentation support to its x86-64 implementation (Intel 64), making 64-bit software-only virtualization impossible on Intel CPUs, but Intel VT-x support makes 64-bit hardware assisted virtualization possible on the Intel platform.