На главную страницу На главную страницу Помоги больным детям! Их можно спасти!
 
Справочные материалы ←

Как установить ОС Windows 7/8/10 на виртуальную машину в гипервизоре bhyve?

В Ульяновск.BSD можно работать в двух и более операционных системах одновременно. Так называемые гостевые операционные системы можно запускать на виртуальных машинах в гипервизоре bhyve, интегрированном в операционную систему. Причём гостевые операционные системы могут быть запущены одновременно со стартом основной (хостовой) операционной системы без участия пользователя. Для чего это нужно обычному пользователю настольного компьютера? Например, чтобы работать с программным обеспечением, аналогов которого нет в хостовой операционной системе.

Для того, чтобы запускать виртуальные машины в гипервизоре bhyve, хостовая система должна работать на процессоре, поддерживающем виртуализацию, и иметь достаточный объем оперативной памяти. Функция виртуализации присутствует в большинстве современных процессоров Intel и AMD. Например, список процессоров Intel.

Рассмотрим установку, запуск и одновременную работу операционной системы Windows 10 в Ульяновск.BSD. Для начала необходимо получить UEFI-совместимый ISO-образ ОС Windows 10. ISO-образ ОС Windows 10 может быть получен с помощью утилиты, которую можно скачать с сайта Microsoft.

 

Если у вас уже есть ISO-образ ОС Windows 10 win10x64.iso, но не UEFI-совместимый, то его можно перепаковать.

Для перепаковки необходимо создать рабочие папки:

mkdir /root/windows
mkdir /root/windows/repack

В /root/windows нужно поместить ISO-образ ОС Windows 10 (win10x64.iso) и распаковать его в /root/windows/repack:

cd /root/windows/repack
7z x /root/windows/win10x64.iso

Далее необходимо установить пакет cdrtools, если он не был установлен ранее:

pkg install -r latest cdrtools

И выполнить команду для создания UEFI-совместимого образа ОС Windows 10 (win10x64_repack.iso):

cd /root/windows/repack
mkisofs -b boot/etfsboot.com -no-emul-boot -c BOOT.CAT \
-iso-level 4 -J -l -D -N -joliet-long -relaxed-filenames -v -V "Custom" \
-udf -boot-info-table -eltorito-alt-boot -eltorito-platform 0xEF \
-eltorito-boot efi/microsoft/boot/efisys_noprompt.bin -no-emul-boot \
-o /root/windows/win10x64_repack.iso .

 

Для управления виртуальными машинами необходимо установить vm-bhyve:

pkg install -r latest vm-bhyve

Далее необходимо создать рабочий каталог для виртуальных машин, добавить необходимые параметры в /etc/rc.conf и проинициализировать гипервизор:

mkdir /usr/local/bhyve
sysrc vm_enable="YES" vm_dir="/usr/local/bhyve" vm_list="" vm_delay="10"
vm init

Дополнительно необходимо скопировать типовые шаблоны для виртуальных машин в рабочий каталог:

cp /usr/local/share/examples/vm-bhyve/* /usr/local/bhyve/.templates/

Для подключения виртуальных машин к сети необходимо создать виртуальный коммутатор и связать его с физическим сетевым интерфейсом re0 (необходимо заменить на свой):

vm switch create public
vm switch add public re0

Для запуска ОС Windows 10 необходимо установить эмулятор UEFI:

pkg install -r latest bhyve-firmware
ln -s /usr/local/share/uefi-firmware/BHYVE_UEFI.fd /usr/local/bhyve/.config/BHYVE_UEFI.fd

Теперь можно создать виртуальную машину с именем "wintest" по шаблону "windows" с диском размером 40ГБ:

vm create -t windows -s 40G wintest

Для того, чтобы процесс установки ОС Windows 10 можно было наблюдать в графическом режиме, необходимо в файл настроек виртуальной машины /usr/local/bhyve/wintest/wintest.conf добавить следующие строки:

graphics="yes"
graphics_res="1024x768"
graphics_listen="127.0.0.1"
graphics_port="5901"
graphics_wait="yes"
xhci_mouse="yes"

Если системные часы на машине показывают локальное время, то необходимо в файл настроек виртуальной машины /usr/local/bhyve/wintest/wintest.conf добавить строку:

utctime="no"

В папку /usr/local/bhyve/.iso/ необходимо поместить UEFI-совместимый образ ОС Windows 10. После этого можно начать установку ОС на виртуальную машину:

vm install wintest win10x64_repack.iso

Чтобы проверить, что виртуальная машина запустилась можно выполнить команду:

vm list

Если всё в порядке, то можно подключиться любым VNC-клиентом и провести установку в привычном графическом режиме. В Ульяновск.BSD можно использовать «Приложения» → «Интернет» → «SSL/SSH VNC клиент». В поле "VNC Host:Display" необходимо ввести "127.0.0.1:5901", выбрать "None" и нажать кнопку "Connect". Произойдет подключение к графическому режиму, в котором можно будет провести установку операционной системы. В процессе установки операционная система несколько раз будет перезагружаться. Соответственно нужно будет несколько раз переподключаться по VNC.

По окончанию установки операционной системы необходимо установить драйвер сетевого адаптера. Для этого необходимо скачать ISO-образ драйверов virtio в папку /usr/local/bhyve/.iso, остановить виртуальную машину wintest и выполнить команду запуска машины с подключенным ISO-образом драйверов virtio:

vm stop wintest
vm install wintest virtio-win.iso

Необходимо опять подключиться по VNC к виртуальной машине и установить драйвер сетевого адаптера. В "Диспетчере устройств" необходимо найти Ethernet-контроллер, кликнуть на него правой кнопкой мыши и выбрать "Обновить драйвер". Далее выбрать "Выполнить поиск драйверов на этом компьютере", в поле "Искать драйвера в следующем месте" указать "D:\NetKVM\w10\amd64" и нажать кнопку "Далее". После установки драйвера необходимо настроить сетевое подключение как обычно.

После установки и настройки ОС Windows 10 графический режим VNC в целях обеспечения безопасности лучше отключить, но перед этим необходимо включить в операционной системе возможность подключения по RDP-протоколу. В Windows 10 Pro для этого необходимо открыть "Панель управления", зайти в раздел "Система", выбрать пункт "Защита системы", выбрать вкладку "Удаленный доступ" и активировать пункт "Разрешить удаленные подключения к этому компьютеру". В Windows 10 Home отсутствует возможность включения доступа по RDP-протоколу. Однако, для включения доступа по RDP-протоколу можно установить RDP Wrapper Library. В утилите конфигурации RDP Wrapper необходимо выбрать Default RDP Authentication для Authentication Mode. У пользователя, который будет подключаться по RDP, обязательно должен быть установлен пароль, иначе подключиться будет невозможно. В Ульяновск.BSD для подключения к виртуальной машине по RDP-протоколу можно использовать rdesktop (создать ярлык на рабочем столе):

rdesktop -k ru-ru -a 32 -f -r sound:local -r disk:home=/home/user 192.168.0.100

Для отключения графического режима VNC необходимо в файле настроек виртуальной машины /usr/local/bhyve/wintest/wintest.conf закомментировать следующие строки:

#graphics="yes"
#graphics_res="1024x768"
#graphics_listen="127.0.0.1"
#graphics_port="5901"
#graphics_wait="yes"

Для запуска и остановки виртуальной машины нужно использовать команды:

vm start wintest
vm stop wintest

Если в файле /etc/rc.conf в параметре vm_list указать имена виртуальных машин, то эти машины будут запускаться автоматически одновременно со стартом хостовой операционной системы:

vm_list="wintest"

Если виртуальные машины запускаются автоматически одновременно со стартом хостовой операционной системы, то возможно в файле /usr/local/share/config/kdm/kdmrc потребуется изменить значение ServerTimeout для увеличения времени ожидания запуска X-сервера хостовой операционной системы:

ServerTimeout=60

Подробнее о командах для работы с виртуальными машинами и параметрах конфигурационных файлов можно узнать, выполнив команду:

man vm

Примечание 1:

В конфигурационном файле виртуальной машины можно задать количество используемых процессоров и/или ядер процессоров. Задается это количество параметром cpu. Например, если имеется четырёхъядерный процессор Intel Core i5, то для увеличения производительности виртуальной машины можно выделить ей два ядра. Если на виртуальной машине будет работать ОС Windows 10 Pro, то достаточно указать:

cpu=2

В таком случае ОС Windows 10 Pro будет работать на двух ядрах и отображать, что в системе установлено два физических процессора. В отличие от ОС Windows 10 Pro ОС Windows 10 Home не поддерживает физическую многопроцессорность. Процессор для этой ОС должен быть только один, но ядер в процессоре может быть сколько угодно. Поэтому необходимо дополнительно прописать в /boot/loader.conf (обязательно перезагрузиться):

hw.vmm.topology.cores_per_package=2
hw.vmm.topology.threads_per_core=1

или

hw.vmm.topology.cores_per_package=1
hw.vmm.topology.threads_per_core=4

При таком варианте Windows 10 Home будет работать тоже на двух ядрах, но отображать только один процессор. Но можно указать и нечётное количество ядер:

cpu=3

Примечание 2:

Гипервизор bhyve позволяет пробрасывать устройства в виртуальную машину. Например, если на хостовой машине установлен дополнительный USB-контроллер, то его можно пробросить в виртуальную машину и подключить к портам этого контроллера веб-камеру, переносной накопитель или другие устройства. Подключенные устройства в этом случае будут доступны только виртуальной машине, на которую будет проброшен этот USB-контроллер. Это возможно только, если в процессоре есть поддержка технологии IOMMU (Intel VT-d или AMD-Vi). Допустим в хостовую систему установлен USB-контроллер и с помощью команды pciconf он определяется так:

pciconf -lv
xhci0@pci0:1:0:0:        class=0x0c0330 card=0x34831106 chip=0x34831106 rev=0x01 hdr=0x00
    vendor     = 'VIA Technologies, Inc.'
    device     = 'VL805 USB 3.0 Host Controller'
    class      = serial bus
    subclass   = USB

Тогда для проброса этого контроллера необходимо в конфигурационном файле виртуальной машины прописать:

passthru0="1/0/0"

А в файле /boot/loader.conf необходимо прописать:

pptdevs="1/0/0"

Также для проброса устройств в виртуальную машину необходимо, чтобы гипервизор инициализировался до подключения драйверов устройств хостовой машины. Для этого в файл /boot/loader.conf обязательно нужно прописать:

vmm_load="YES"

Для процессоров AMD в файл /boot/loader.conf также необходимо добавить строку:

hw.vmm.amdvi.enable=1

Подробнее о пробросе устройств можно узнать в документе bhyve PCI Passthrough.

 

Примечание 3:

Аналогичным образом можно установить на виртуальные машины и более ранние версии ОС Windows. Но, например, для установки и запуска ОС Windows 7 из конфигурационного файла виртуальной машины необходимо обязательно удалить параметр xhci_mouse и добавить следующий параметр, задающий размер сектора диска:

disk0_opts="sectorsize=512"

 

Комментарии
Добавляя комментарий, убедитесь, что он соответствует теме. Подумайте, будет ли он интересен другим. Спам, умышленная реклама и личная переписка не допускаются. Соблюдайте правила русского языка. Комментарии публикуются после проверки модератором и могут быть удалены без объяснения причин. Ответы на заданные в комментариях вопросы могут исходить от любого пользователя и являются неофициальными.
Импортозамещение
Объединенное медицинское IT-решение, создаваемое при участии «Ростелекома», внедрено в 37 регионах страны, а отдельные компоненты присутствуют практически в каждом субъекте, сказал в четверг первый вице-президент ПАО «Ростелеком» Владимир Кириенко на форуме «Взгляд в цифровое будущее». «Совместно с компанией Ростехнологии мы участвуем в создании единого цифрового контура в здравоохранении. Мы разрабатываем новую платформу, которая позволит создавать новые сервисы для медицины. С этой целью мы объединили ли... 
Для общественного обсуждения опубликован проект приказа об утверждении порядка взаимодействия Минкомсвязи с федеральными органами исполнительной власти, руководство деятельностью которых осуществляет правительство Российской Федерации, при осуществлении централизованных закупок офисного программного обеспечения, программного обеспечения в сфере информационной безопасности и услуг, связанных с сопровождением и технической поддержкой офисного программного обеспечения. Проектом приказа предлагается установить... 
Федеральная служба по надзору в сфере транспорта России (Ространснадзор) определила победителя аукциона на поставку и внедрение отечественного или открытого программного обеспечения для IT-инфраструктуры ведомства, сейчас работающей на софте Microsoft, пишет CNews. Начальная (максимальная) цена контракта составляла 26,9 миллиона рублей. Победитель – компания «Инфолэнд» - выиграла с предложением 26,6 миллиона. Теперь «Инфолэнду» предстоит поставить и внедрить необходимый софт до 23 декабря 2019 года. Номенк... 
Подписан протокол заседания рабочей группы Государственного совета Российской Федерации по направлению «Коммуникации, связь, цифровая экономика», состоявшегося в ходе проведения VII Всероссийского форума региональной и муниципальной информатизации «ПРОФ-1Т.2019» в Белгороде 12 сентября 2019 года. Напомним, на заседании председательствовали руководитель рабочей группы - губернатор Московской области Андрей Воробьев и полномочный представитель президента Российской Федерации в Центральном федеральном округе ... 
Группа компаний Astra Linux и компания Huawei заключили соглашение о сотрудничестве с целью разработки совместных комплексных решений на территории Российской Федерации, сообщает Astra Linux. Партнерство было ознаменовано подписанием сертификата совместимости флагманских продуктов компаний. По результатам испытаний была подтверждена корректность функционирования серверов Huawei TaiShan 100/200 2280 в среде операционной системы Astra Linux релиз «Новороссийск». Ранее, напомним, совместимость своих продуктов... 
Власти Пермского края передали права на использование Единой краевой автоматизированной системы открытого правительства Пермского края – проекта «Управляем вместе» – Оренбургской области и Ставропольскому краю, сообщает региональное министерство информационного развития и связи. Как писал D-Russia.ru, в июле этого года аналогичные соглашения о передаче прав на использование системы «Управляем вместе» были подписаны с Забайкальским краем, Республикой Саха (Якутия) и Нижегородской областью. Портал «Управляем... 
Компании «Базальт СПО» и Huawei подписали сертификат совместимости операционных систем «Альт Сервер» v.9 и «Альт Сервер Виртуализация» с серверами Huawei TaiShan 100/200 2280 на архитектуре ARMv8 64 бит. Компании также заключили договор о долгосрочном технологическом сотрудничестве, в ходе которого предполагается продолжение работы по портированию ОС «Альт» на вычислительную технику Huawei, сообщает «Базальт СПО». В настоящее время «Базальт СПО» и Huawei уже ведут совместную работу по формированию экосисте... 
В Единый реестр российских программ для электронных вычислительных машин и баз данных 20 сентября добавлены 154 новых продукта, соответствующий приказ Минкомсвязи опубликован на сайте реестра. По решению Экспертного совета по программному обеспечению при Минкомсвязи РФ во включении в реестр отказано 49 программным продуктам. Напомним, во вторник был опубликован приказ Минкомсвязи о внесении изменения в Классификатор программ для электронных вычислительных машин и баз данных. Документом раздел 4 Классификат... 
На официальном портале правовой информации во вторник опубликован приказ Минкомсвязи о внесении изменения в Классификатор программ для электронных вычислительных машин и баз данных. Документом раздел 4 Классификатора («Прикладное программное обеспечение») дополняется новым классом – «Специализированное ПО органов исполнительной власти Российской Федерации, государственных корпораций, компаний и юридических лиц с преимущественным участием Российской Федерации для внутреннего использования». Описание класса ... 
Компании ЭОС и НТЦ ИТ РОСА (разработчик системного ПО) подписали соглашение о технологическом партнерстве, сообщают компании. По условиям партнерства планируется более тесное взаимодействие специалистов компаний, разработка специализированных комплексных решений, а также регулярное проведение испытаний по совместимости продуктов. К настоящему моменту завершено тестирование системы электронного документооборота «ДЕЛО-Web» и линейки операционных и линейки операционных систем РОСА (создана на базе Linux и пре... 
    Наверх       На главную страницу       Адрес электропочты   Рейтинг@Mail.ru
Данный интернет-сайт носит исключительно информационный характер, и ни при каких условиях информационные
материалы и цены, размещенные на сайте, не являются публичной офертой, определяемой положениями Статьи 437 ГК РФ.

Сергей Волков – эксперт в области информационных технологий © 2011−2019
Работает система управления сайтом «Публикатор 1.7» © 2004−2019