У нас есть совместно расположенный сервер HyperV, на котором размещено несколько гостевых систем Windows Server с 64-разрядной версией 2008 R2. Одним из таких гостей является наш сервер сборки непрерывной интеграции (CI).
У меня есть устаревшее программное обеспечение (CodeCharge 4.3), которое я хочу включить в наш конвейер сборки, которое не имеет интерфейса командной строки, поэтому поддерживает сборку только с использованием автоматизации пользовательского интерфейса. Я понимаю, что это не удастся, если он фактически не работает как интерактивный вход на рабочий стол (т.е. не через RDP или фоновый сеанс).
Способ справиться с этим - установить виртуальную ОС на сервере сборки, а затем запустить сборку внутри нее. Это позволяет ОС, запускающей сборку, думать, что кто-то физически вошел в нее, и все функции автоматизации пользовательского интерфейса работают, даже если они подключены к отключенному (но все еще входящему в систему) сеансу RDP.
Я установил Oracle Virtual Box в ОС нашего сервера сборки. Я попытался установить 64-разрядную версию Win7 в VirtualBox, но она не установила, жалуясь на необходимость включения виртуализации в BIOS.
Честно говоря, я могу использовать 32-битный. 32-разрядная установка Win7 начинается и выполняется частично, затем происходит сбой самой ОС сервера сборки.
HOST1 - HyperV
GUEST1 / HOST2 - 64-разрядная версия Windows Server 2008 R2, с VirtualBox.
GUEST2 - Windows 7 32-разрядная.
Когда я пытаюсь установить Windows 7 в GUEST2, GUEST1 вылетает и перезагружается. Я могу только предположить, что это BSOD, которого я не вижу, потому что это сам виртуальный экземпляр, я вошел в систему через RDP.
Я что, сумасшедший вложения таких ОС? Или теоретически должно работать, а у меня просто где-то что-то не так?
Hyper-V не поддерживает вложенную виртуализацию, точка.