Установка драйверов KVM для гостевой Windows
После установки гостевой операционной системы Windows на гипервизор KVM мы можем столкнуться с проблемой отсутствия драйверов. Как правило, больше всего неудобств вызывает отсутствие сетевых драйверов. Мы рассмотрим универсальный способ установки драйверов на Windows, который установлен на виртуальную машину KVM.
Предполагается, что наш KVM установлен на операционную систему семейства Linux, например, CentOS или Ubuntu. Все команды в данной инструкции будут выполняться из командной строки.
Загрузка драйверов и их монтирование
Первым делом загрузим ISO образ с набором драйверов и примонтируем его к операционной системе. Для этого заходим на хост виртуализации по SSH и вводим команду:
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -P /data/kvm/iso/
* где https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso — источник файла iso с драйверами KVM; /data/kvm/iso/ — каталог на сервере, в который мы загрузим образ.
* если при вводе команды система выдаст ошибку, необходимо установить wget командой yum install wget или apt-get install wget.
Дожидаемся загрузки файла на сервер, после чего создаем конфигурационный файл для монтирования образа в операционную систему:
Добавляем в него следующее:
* /data/kvm/iso/virtio-win.iso — путь до файла, который мы загрузили на сервер. В данном файле мы создали описание для монтирования устройства cdrom.
С помощью созданного файла XML мы монтируем ISO образ в CDROM на виртуальной машине:
virsh update-device WIN /etc/libvirt/qemu/guest-virtio-drivers.xml
* где WIN — имя виртуальной машины.
Установка драйверов
Подключаемся к виртуальной машине с помощью VNC. Мы должны увидеть примонтированный CD-ROM с драйверами virtio:
Кликаем правой кнопкой мыши по пуск и выбираем Диспетчер устройств:
* в ранних версиях Windows необходимо кликнуть правой кнопкой мыши по Мой компьютер — Управление — Диспетчер устройств.
В разделе «Другие устройства» кликаем правой кнопкой мыши по устройству, для которого необходим драйвер и выбираем Обновить драйверы:
В открывшемся окне выбираем Выполнить поиск драйверов на этом компьютере:
. и выбираем наш CD-ROM с драйверами:
Если система выдаст предупреждение безопасности, кликаем по Установить:
Драйвер установлен. Повторяем процедуру для каждого устройства, для которого система не смогла установить драйвер.
Виртуализация операционных систем с помощью QEMU. Основы работы с эмулятором
Виртуализация — наиболее доступный способ запустить на одном ПК вторую операционную систему, не устанавливая ее непосредственно на жесткий диск. Вместо этого вторая ОС устанавливается на диск виртуальный, представленный специальным файлом-контейнером, созданным в гипервизоре — программе, позволяющей эмулировать работу гостевой системы в системе хостовой. Наибольшей популярностью среди домашних юзеров пользуются гипервизоры VirtualBox и VMware с мощным функционалом и наглядным GUI .
Но есть и другие, в чём-то даже более гибкие и продуктивные решения хотя и куда менее удобные в использовании. Например, QEMU — бесплатная программа с открытым исходным кодом, предназначенная для эмуляции программного обеспечения и операционных систем. Инструмент использует аппаратную виртуализацию, поддерживая два режима работы:
• Полная эмуляция — данный режим применяется для запуска операционных систем, в его рамках QEMU эмулирует физическое устройство со всеми его компонентами, встроенными и периферийными.
• Эмуляция пользовательского режима — дает возможность запускать программы, созданные для конкретной архитектуры на другой архитектуре, например, приложения ARM в x86 . Режим доступен только в хостовой системе Linux.
QEMU поддерживается эмуляция архитектуры x86 , ARM , MIPS , PowerPC , m68k , Alpha , SPARC , SH-4 , CRISv2 , MicroBlaze и это более солидный список, чем у того же Виртуалбокс.
Как установить QEMU в Windows
Скачать установочный файл эмулятора можно с официального сайта www.qemu.org/download/#windows,
есть редакции 32-битные и 64-битные, версию выбираем последнюю.
Устанавливается QEMU как обычная программа в папку Program Files\qemu , но можно выбрать и другое расположение.
Установку выполняем с параметрами по умолчанию, ничего менять не нужно, просто жмем в окне мастера «Next».
Виртуализация операционных систем в QEMU
В отличие от VirtualBox и подобных гипервизоров, QEMU не имеет графического интерфейса, работа с ней ведется через командную строку. Команд и параметров для создания и управления виртуальными машинами много, но для начала вам нужно знать хотя бы эти шесть.
• qemu-system — задает архитектуру виртуальной машины.
• qemu-img create — создает файл виртуального IMG -диска, на который будет устанавливаться операционная система.
• -m — выделяет виртуальной ОС указанный объем оперативной памяти.
• -hda — подключает созданный виртуальный диск.
• -boot IMG — указывает, что загрузка должна производиться с виртуального диска, вместо IMG следует указать имя IMG -файла.
• cdrom — содержит путь к установочному образу ISO , эмулирует дисковод.
Чтобы вам стало всё немного понятнее, установим и запустим с помощью QEMU какую-нибудь операционную систему. Для примера мы выбрали Windows XP, так как она легкая и занимает на диске мало места. QEMU у нас уже установлен, открываем командную строку, переходим в каталог установки и создаем виртуальный жесткий диск следующей командой:
qemu-img.exe create -f raw c.img 5000M
Файл qemu-img.exe в эмуляторе отвечает за создание IMG -образов, с — это название образа, 5000 — размер виртуального диска в мегабайтах. По умолчанию образ будет создан в папке QEMU .
Теперь сформируем следующую команду:
qemu-system-i386w.exe -boot c -m 350 -hda c.img -cdrom «E:\WinXP_SP3.iso»
Исполняемый файл в начале команды отвечает за создание виртуальной машины с архитектурой х86 , -boot с ключом -с сообщает, что грузиться она будет с диска, в значение параметра -hda подставляем созданный образ, а в качестве значения параметра –cdrom указываем путь к дистрибутиву Windows.
После выполнения команды появляется окошко QEMU с загрузочным меню, в котором мы выбираем установку на диск.
Далее проходим все этапы установки операционной системы вплоть до локальных настроек и загрузки рабочего стола.
Чтобы запустить закрытую виртуальную машину, выполните команду qemu-system-i386w.exe -hda name.img , где name — название вашего виртуального диска, чтобы удалить ставшую ненужной VM, просто удалите из каталога установки QEMU созданный IMG -образ.
Управлять QEMU можно с помощью клавиатуры и мыши, для переключения между эмулятором и хостовой машиной используйте комбинацию Ctrl + Alt + G . Запущенная с минимальными настройками ОС не будет иметь доступа к аудио- и сетевой карте, не будет также возможности обмена файлами между виртуальной и хостовой системами.
Нельзя сказать, что QEMU лучше или хуже VirtualBox либо VMware, это альтернативное средство виртуализации, имеющие как свои плюсы, так и минусы. QEMU менее удобен, требует знания документации и демонстрирует весьма небольшую производительность. Для ускорения работы в Windows требуется установка и настройка Диспетчера аппаратного ускорения HAXM, в Linux – подключение загружаемого модуля ядра KVM . С другой стороны, инструмент позволяет эмулировать работу устройств на базе разных архитектур, не поддерживаемые популярными гипервизорами.
Правильная установка Windows XP в KVM или Технонекрофилия на марше
По работе потребовалось, чтобы некая программа для windows была постоянно доступна.
Ставить её на пользовательские компьютеры смысла не имело, т.к. они бывает что и выключаются, а из серверов на windows у меня под рукой был контроллер домена и вешать на него всё подряд как-то не хотелось.
Поэтому в офисе по сусекам поскребли, по отсекам помели и нашли старую, покрытую пылью лицензию к Windows XP HE. А большего, в принципе, и не нужно. И вот, я стал запихивать её в виртуалку.
Естественным образом возник спортивный интерес, как бы сделать так, чтобы жрала она поменьше, а работала пошустрее.
Понятно, что для этого виртуальное оборудование должно не эмулировать реальное железо, а использовать виртуальное. Скажем, HDD должен быть не на шине IDE, а на virtio. То же касается и сетевой карты. Обычно рекомендуют сначала ставить ОС на виртуальный IDE-HDD, затем добавлять второй виртуальный винт virtio-HDD, ставить на него драйвера, а потом выключать машину, удалять ненужный уже второй винт и менять тип системного HDD с IDE на virtio.
Честно говоря, все эти вытребеньки показались мне какими-то избыточными, поэтому я процитировал одного известного политического деятеля на предмет пути, которым мы пойдём и взялся за дело по своему.
Для начала я убедился, что virt-manager постоянно создаёт образ диска в qcow2-формате, что само по себе неплохо, но в данном случае излишне, так что я руками создал образ диска в raw-формате.
Затем, при создании виртуальной машины выбрал его и слегка поменял параметры (шину на VirtIO, кэширование на none):
Затем сменил модель сетевой карты на всё ту же VirtIO, для простоты поменял модель звуковой карты на AC97, а затем сделал самое интересное — добавил FDD и подключил в него образ дискеты, взятый отсюда: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win_x86.vfd.
После этого, при установке жёсткий диск определяется без проблем, ОС устанавливается также без проблем (единственное, жалуясь на то, что драйвера не подписаны). Однако после установки видно, что не хватает драйверов для видео, сетевой карты и пары неизвестных устройств.
Проблем в этом нет, достаточно извлечь установочный образ CD и заменить его на ISO с драйверами. Дальше просто открываем диспетчер устройств, выбираем те, что без драйверов и ставим их через автопоиск.
В результате получаем маленькую, аккуратную виртуалку, с вполне достойной производительностью.
Вопрос кому и зачем она может понадобиться в 2017 году оставим за кадром. : )
Тем более, рекомендации вполне подходят и для актуальный версий windows.