Вы правы, текущее состояние Intel VT-x не позволяет работать одновременно двум независимым мониторам виртуальных машин (VMM). Они создадут конфликт системных ресурсов, который приведет к неопределенному поведению, включая сбои виртуальных машин (VM), зависания или перезагрузки, возможно повреждение данных.
Например, небезопасно загружать драйверы ядра для разных решений визуализации одновременно, даже не запуская виртуальные машины. У меня возникли проблемы, когда, например, KVM и Virtualbox или KVM и Simics VMP были загружены вместе.
Невозможно, чтобы один VMM безопасно заблокировал загрузку или работу другого.
Даже для одного VMM проблематично надежно обнаруживать присутствие других VMM, поскольку VMXON / VMXOFF может выполняться динамически во время работы операционной системы (ОС), и нет никакого аппаратного ресурса, который мог бы действовать как взаимоисключающий объект или блокировка для виртуализации. ресурсы.
Единственный подход, который будет работать с современным оборудованием, заключается в том, чтобы хост-операционная система предоставляла API для передачи запросов к базовым ресурсам виртуализации (VMXON / VMXOFF, VMPTRLD, VMLAUNCH / VMRESUME и т. Д.) И чтобы все VMM согласились использовать это API. Такие возможности существуют для Apple Mac OS X и с недавнего времени для систем Microsoft Windows. Однако можно утверждать, что эти API несколько ограничивают автора VMM.