- QEMU, драйверы для Windows
- Proxmox и гостевые системы Windows.
- 1. Ballooning
- 2. QEMU Guest agent
- ACPI\QEMU0002
- fischeranalytics
- greenvomit8
- wolfgang
- greenvomit8
- wolfgang
- greenvomit8
- wolfgang
- greenvomit8
- greenvomit8
- wolfgang
- QEMU/KVM и установка Windows
- Подготовка
- Запуск и инсталляция
- Драйвера и доводка
- Оборудование
- В завершение
QEMU, драйверы для Windows
Поставил XP. Будут ли рекомендации откуда взять драйверы (сетевая плата, видео), а главное как их передать в гостевую систему?
Как я понимаю нужно яндексить оборудование, указанное на http://www.lissyara.su/doc/man/qemu/.
Первое: почему QEMU, а не KVM или VirtualBox? Второе: зачем тебе дрова на видео?
1. Прямо из коробки работает всё виртуальное железо, которое по умолчанию конфигурируется в виртуалке.
2. Диски и сетевую можно перевести на virtio. Гуглить «virtio XP network drivers» и «viostor XP». Придется правда пошаманить с версиями 🙂
юзай virtio, Люк
Первое: почему QEMU, а не KVM или VirtualBox?
«VirtualBox is a crap», а KVM — это тот же QEMU
Спаисьо за дельный совет.
Наяндексил http://blog.famzah.net/2010/01/09/kvm-qemu-virtio-storage-and-network-drivers. , скачал «Both Virtio network and storage drivers for Windows». Возникли следующие вопросы:
1) На диске присутствуют E:\network\Install\XP_Win2003\
2) Попробовал оба варианта, но XP ни в то, ни в другом случае не считает, что это драйвер сетевой платы. Что делать?
3) Что за «storage»-драйвер, и зачем он нужен? На диске для XP есть только E:\storage\Install\Xp\x86.
1. Я так понял QEMU основан на KVM. Но когда я следовал инструкции http://rus-linux.net/nlib.php?name=/MyLDP/vm/KVM/kvm_introduction.html, то во-первых не обнаружил у себя команду kvm-ok, а во-вторых менеджер виртуальных машин сказал мне
Unable to open a connection to the libvirt management daemon.
Libvirt URI is: qemu:///system
Verify that: — The ‘libvirtd’ daemon has been started
. Хотя libvirtd был запущен. Я даже попытался добавть себя в группы libvirt и kvm (зря?).
VirtualBox тоже пока не уговорил запускаться.
Proxmox и гостевые системы Windows.
После установки гостевой системы на Proxmox для того чтобы не было проблем с производительностью и резервным копированием необходимо произвести некоторые действия.
1. Ballooning
Для эффективного использования ресурсов Proxmox поддерживает технологию ballooning.
Ballooning – это динамическое управление памятью. Другими словами, вы прописываете в настройках виртуальной машины минимальный и максимальный объем памяти, выделяемой этой машине, а далее Proxmox сам распределяет необходимые ресурсы. Таким образом уменьшается влияние гостевой системы на весь хост.
Для начала выставим желательные параметры в настройках машины.
Чтобы их применить, машину нужно выключить и включить обратно.
Чтобы ballooning заработал, нам потребуется скачать и установить дополнительные драйвера.
Перейдем на гостевую систему и создадим каталог Balloon в папке Program files (c:/ Program files /Balloon). В эту папку со скачанного диска нужно скопировать драйвера для вашей операционной системы.
В диспетчере устройств появится новое оборудование и на него нужно установить эти драйверы.
После этого необходимо установить ballooning как службу.
Win + X, Выполнить, cmd
Win + X, Выполнить, services.msc
Выделение памяти теперь работает коректно.
2. QEMU Guest agent
Следующее что нужно сделать – установить QEMU Guest agent. Без этого не будет работать поддержка VSS (Volume Shadow Copy Service) т.е. служба теневого копирования тома.
В настройках виртуальной машины включим агента. Чтобы настройки применились – выключим и включим снова данную виртуальную машину.
У нас появилось новое устройство:
Драйверы находятся на том же диске в папке vioserial
Устанавливаем и проверяем, что QEMU Guest agent запущен в сервисах.
ACPI\QEMU0002
fischeranalytics
Member
greenvomit8
Active Member
wolfgang
Proxmox Staff Member
do you use uefi mode(OVMF bios)?
Best regards,
Wolfgang
Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation
greenvomit8
Active Member
Hi Wolfgang
I believe we are using BIOS Legacy mode on the Proxmox host.
# [ -d /sys/firmware/efi ] && echo «EFI boot on HDD» || echo «Legacy boot on HDD»
Legacy boot on HDD
wolfgang
Proxmox Staff Member
Best regards,
Wolfgang
Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation
greenvomit8
Active Member
wolfgang
Proxmox Staff Member
Best regards,
Wolfgang
Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation
greenvomit8
Active Member
greenvomit8
Active Member
Hi wolfgang — to show hidden device in Windows:
- Open a command prompt with Administrative privileges
- At the command prompt, type the following lines, pressing ENTER after each line
set devmgr_show_nonpresent_devices=1
cd\%SystemRoot%\System32
devmgmt.msc
Note — you can try deleting the unknown device but if you ‘Scan for hardware changes’ within Device Manager the unknown device reappears.
wolfgang
Proxmox Staff Member
Best regards,
Wolfgang
Do you already have a Commercial Support Subscription? — If not, Buy now and read the documentation
QEMU/KVM и установка Windows
Хотим мы того или нет, но программы, для которых необходима Windows, никуда из офисов не исчезли. В ситуации, когда их использование безальтернативно, лучше иметь виртуальную ОС, например для того, чтобы подключиться к аудио-конференции через Skype for Business.
В этой статье я расскажу, как можно с минимальными издержками установить гостевую ОС Windows на гипервизоре QEMU с помощью графического интерфейса virt-manager . Мы нанесем на карту все подводные камни и рифы, а жучков аккуратно посадим в банку.
Подготовка
Самый первый шаг — настройка параметров ядра. Обязательна поддержка KVM и vhost-net , желательна поддержка туннельных интерфейсов [1] и сетевого моста [2] . Полный список на Gentoo вики-странице QEMU.
Подготовьте дисковое пространство. Я выделил 70 GiB, и Windows 8.1 за пару месяцев использовала почти 50 GiB так, что для обновления до 10-й версии места на диске не хватило.
Далее, нам понадобится набор редхатовских драйверов virtio-win . Если у вас установлен RedHat, достаточно запустить
и образ iso будет записан в каталог /usr/share/virtio-win/ . Также можно его скачать с репозитариев Fedora.
Убедитесь, что поддержка аппаратной виртуализация включена в BIOS/UEFI. Без этого KVM не будет активирован, а virt-manager выдаст вот такую ошибку.
В качестве проверки можно прочитать файл устройства.
Если файл не обнаружен, а опции ядра выставлены верно, значит дело в настройках BIOS/UEFI .
Устанавливаем нужные пакеты.
Для RedHat 7 достаточно установить только virt-manager , так как QEMU устанавливается по умолчанию.
Дебианщикам надо установить пакет qemu .
Можно теперь переходить к установке.
Запуск и инсталляция
Запускаем virt-manager и создаем новую виртуальную машину из локального хранилища.
Указываем путь к установочному iso образу Windows.
Далее, на 3-м и 4-м шаге будет выбор количества CPU, объем RAM и размер дискового пространства, после чего на 5-м шаге следует выбрать дополнительные конфигурации перед настройкой.
Окно дополнительных настроек нужно для того, чтобы выполнить финт ушами. Его смысл в том, чтобы добавить виртуальный флопарь с драйверами из набора virtio-win . Это даст возможность изменить тип жесткого диска: удалить диск с шиной IDE и добавить его же, но с шиной VirtIO. Подробно, в доках RedHat.
Прописываем драйвер /usr/share/virtio-win/virtio-win.vfd и добавляем виртуальный флоппи-диск. Затем переходим на вкладку [Шина] Диск № и проделываем финт с заменой шины диска: удаляем с IDE и добавляем с VirtIO.
Чуть не забыл сказать, для чего нужен этот фокус. Специалисты утверждают, что с шиной VirtIO, производительность диска ощутимо выше.
В принципе, уже можно начинать инсталляцию, но мы забыли добавить CD-ROM с драйверами virtio-win , а они нам пригодятся, когда диспетчер устройств засверкает желтыми иконками вопросительного знака.
Ну вот теперь можно начать установку.
Ну хорошо, начали мы установку. А что, если установщик Windows попросит сменить диск? Мне из-за этого пришлось пару раз прервать и начать всю карусель заново, но с вами такого уже не случится.
Драйвера и доводка
По окончанию процесса установки диспетчер устройств недосчитается некоторых драйверов. Предположительно, это могут быть:
Нужно скормить им драйвера из набора virtio-win , что подключены через IDE CD-ROM в предыдущем разделе.
Делается это стандартно: правой кнопкой на желтый знак вопроса, обновить драйвера, путь к файлам.
Вот весь список, а это соседняя страница RedHat доков, где установка драйверов показана подробнее.
- Balloon, the balloon driver, affects the PCI standard RAM Controller in the System devices group.
- vioserial, the serial driver, affects the PCI Simple Communication Controller in the System devices group.
- NetKVM, the network driver, affects the Network adapters group. This driver is only available if a virtio NIC is configured. Configurable parameters for this driver are documented in Appendix E, NetKVM Driver Parameters.
- viostor, the block driver, affects the Disk drives group. This driver is only available if a virtio disk is configured.
Оборудование
Тут постепенно начинается область безграничных возможностей и 101 способов сделать по-своему, поэтому я покажу, как это работает у меня, а вы можете настроить более точно под свои нужды.
У меня выбран дисплей Сервер Spice и звуковое устройство ich6 . Нет, конечно, если у вас уйма времени и желание во всем разобраться до самых тонкостей — дерзайте и пробуйте альтернативные подходы, но у меня звук взлетел, вернее завибрировал, только с такими настройками. Во второй части, посвященной прогулке по граблям и отлову багов, я расскажу об этом подробнее. В закладке видео я выставил QXL , ибо с этой опцией, благодаря волшебному драйверу, мне удалось добиться нормального разрешения экрана.
Подключаться к ВМ можно разнообразно.
- Через графический интерфейс virt-manager
- Выбрать дисплей VNC-сервер и подключаться через vnc-клиента
- Установить Spice-клиента и подключаться через него
- К Windows можно подключиться через rdp, если включен терминальный сервер
У меня вариант 3, для Gentoo это программа spice-gtk
Сеть для ВМ можно настроить по-разному, на Хабре умельцы уже об этом писали. Я перепробовал несколько способов, и в конце простота опять взяла вверх. Сама ВМ запускается из под рута [3] , но графический интерфейс spice-gtk — из под обычного непривилегированного пользователя. Это позволяет решить дилемму: для сетевых опций нужны права рута, а для звукового демона pulseaudio, рут запрещен. Я пробовал навешать все права на обычного пользователя, но ничего не получалось, то pulse не пульсирует, то сеть не создается, там много а тут мало. В итоге решил так и доволен. Буду рад, если в комментариях будет найден лучший способ.
Такой простой выбор сетевых опций дает результат превосходящий ожидания. Создаются 3 дополнительных сетевых интерфейса: virbr0, virbr0-nic, vnet0.
В iptables создается свод правил, вот основные:
Повторяю, все это libvirtd создает сам, ничего для этого делать не надо. В результате имеем нормальный роутинг между хостом и ВМ, можно обмениваться файлами по ssh / scp . Можно пойти дальше и создать шару на Windows, а на Linux хосте настроить samba, но мне это показалось избыточным.
В завершение
Трудно рассказать в одной статье обо всех аспектах Windows + QEMU/KVM, поэтому завершим в следующей. А там будет самый смак, командный интерфейс, разрешение экрана максимум 1024×768, Сцилла pulseaudio и Харибда сети, команда virsh и настройка ВМ из конфиг файла, фейл с tpm , двоичный синтаксис устройств и прочие тихие радости.
- ↑TUN/TAP interfaces
- ↑Ethernet bridging
- ↑От английского root