{{TOC}}
Хотим мы того или нет, но программное обеспечение, для которого необходима Windows, никуда из офисов не исчезло. В ситуации, когда его использование необходимо лучше всё же иметь виртуальную ОС.
Один из вариантов - это выделенная машина, на которой будут запускаться виртуальные. Для решения такой задачи подходит связка libvirt и qemu, в которой libvirt служит для управления виртуальными машинами, а qemu обеспечивает виртуализацию.
Настройка хост машины
Под хост машиной подразумевается компьютер, на котором будет выполняться виртуальная машина.
Установка программного обеспечения
Устанавливаем пакет app-emulation/libvirt
(он вытянет все зависимости, включая app-emulation/qemu
)
emerge libvirt
Настройка сети
Один из вариантов подключение виртуальной машины - через мост хоста. В этом случае виртуальные машины смогут находится в основной локальной сети, и получать настройки от DHCP сервера. Для этого выполним настройку сети в /etc/conf.d/net
.
config_eth0="null"
bridge_br0="eth0"
config_br0="dhcp"
bridge_forward_delay_br0_1=0
bridge_hello_time_br0_1=1000
bridge_stp_state_br0_1=0
или в случае статического IP адреса 192.168.1.10/24
со шлюзом 192.168.1.1
config_eth0="null"
bridge_br0="eth0"
config_br0="192.168.1.10/24"
routes_br0="default via 192.168.1.1"
bridge_forward_delay_br0_1=0
bridge_hello_time_br0_1=1000
bridge_stp_state_br0_1=0
После изменения /etc/conf.d/net
удалим /etc/init.d/net.eth0
и создадим /etc/init.d/net.br0
rm /etc/init.d/net.eth0
ln -sf /etc/init.d/net.lo /etc/init.d/net.br0
/etc/init.d/net.br0 restart
Запуск сервера виртуальных машин
Добавим модуль tun
в автозагрузку
echo tun > /etc/modules-load.d/libvirt.conf
Запустим /etc/init.d/libvirtd и добавим его в автозапуск.
/etc/init.d/libvirtd start
rc-update add libvirtd
Подключение к серверу виртуальных машин
Для настройки и запуска виртуальных машин будем использовать программу virt-manager
, из пакета app-emulation/virt-manager
.
Для того, чтобы подключить к серверу виртуальных машин на удалённом хосте, выбираем “Файл~~[Добавить соединение”. В открывшемся окне выбираем “Удалённое подключени”, Тип SSH, Пользователь root, узел]{style=“text-align:right;”}~~ адрес удалённого хоста. При подключении будет запрошен пароль - нужно ввести пароль пользователя root удалённого хоста.
Для того, чтобы постоянно не спрашивался пароль root, можно настроить мультиплексирование ssh ~/.ssh/config
:
Host *
ControlMaster auto
ControlPersist 1h
ControlPath ~/.ssh/cm_socket/%r@%h:%p
Или же настроить вход по ключу
ssh-keygen
ssh-copy-id root@ip_хоста
Создание виртуальной машины
Выполняем ПКМ на строке подключения к серверу виртуальных машин и выбираем “Создать”.
Выбираем Локальный ISO, переходим к следующему шагу, на котором выбираем тип операционной системы и нажимаем обзор для выбора iso образа.
При выборе ISO образа откроется диалоговое окно для выбора хранилища. Прежде, чем выбрать образ необходимо добавить каталог в котором он находится как хранилище. Нажимаем кнопку “Добавить пул” в нижнем левом углу. Вписываем название и путь. Выбираем хранилище в левой части окна и из списка томов выбираем необходимый iso образ.
Выбираем память и количество процессоров (в дальнейшем можно будет изменить в настройках виртуальной машины).
На следующем шаге необходимо настроить жёсткий диск. Выбираем пункт “Выбрать или создать дополнительное пространство данных”. Нажимем кнопку “Настроить”.
Снова откроется диалоговое хранилища томов. Добавляем каталог, как уже делали ранее для ISO - здесь будут находится образы жёстких дисков виртуальной машины. Нажимаем “Создать том” и выбираем параметры жёсткого диска.
Выбираем созданный образ из списка и переходим к завершающему шагу, после которого запуститься виртуальная машина, в которой выполняем обычную установку Windows.
После установки с системой можно будет работать через интерфейс гипервизора, или же настроить на ней rdp.
Настройка Windows
Отключение обновлений
- Нажимаем клавиши Win+R, вводим services.msc в окно «Выполнить» и нажимаем Enter. Откроется окно «Службы».
- Находим в списке службу «Центр обновления Windows» (Windows Update), дважды кликаем по ней.
- Нажимаем «Остановить» и выбираем тип запуска «Отключена».
RDP доступ
Сам по себе удалённый рабочий стол на операционной системе Windows 10 не запускается, ему ещё необходимо разрешить подключение по протоколу RDP:
- Заходим в панель управления и щёлкаем по пункту Система.
- Слева будет список, в котором нужно выбрать Настройка удалённого доступа.
Откроется окно Параметры, в котором кликаем по пункту Разрешить удалённые подключения к этому компьютеру и Разрешить подключения удалённого помощника к этому компьютеру. Лучше конкретно прописывать тех пользователей, которые будут подключаться к машине. Также есть возможность специально создавать пользователя, для которого будет актуальна настройка рабочего стола. Убираем галку “Разрешить подключение только…”
Изменить тип сети для с публичной на частную
Один из способов, заключается в том, чтобы использовать стандартные возможности в настройках Windows 10.
- Делаем ЛКМ на значке сети в трее и в меню выбираем команду “Сетевые параметры”
- Делаем клик на “Ethernet” (или на WiFi) и в правой панели кликаем на имени адаптера
- В самом верху нового экрана (свойства адаптера) включаем (или выключаем) переключатель, Положение “Вкл” изменяет тип сети на “Частная”. Положение “Выкл” изменяет тип сети на “Общедоступная”.
Удалённое подключение
Подключить rdp терминал можно следующим образом:
rdesktop <ip-адрес-windows> -u <имя пользователя> -p <пароль> -g <размер-окна>
- ip-адрес-windows - это IP адрес машины
- имя пользователя - логин в windows
- пароль - пароль для windows
- размер окна - например 1400x900
Или настроить подключение через remmina
Возможные проблемы
Во время запуска виртуальной машины можно получить сообщение с ошибкой
internal error: process exited while connecting to monitor: qemu-system-x86_64
В этом случае нужно остановить libvird и перезагрузить модули kvm
/etc/init.d/libvirtd stop
rmmod kvm-amd
rmmod kvm-intel
rmmod kvm
modprobe -a kvm-intel kvm-amd kvm
/etc/init.d/libvirtd start
KVM не работает одновременно с виртуализацией VirtualBox
В случае, если виртуальная машина сильно тормозит - убедитесь, что в BIOS включена поддержка аппаратной виртуализации, а виртуальная машина использует гипервизор KVM. Это можно увидеть в параметрах машины, на вкладке обзор.