Инструкция по установке Windows 7 на виртуальный KVM сервер Vultr.COM
Чтобы установить Windows 7 на виртуальный сервер VDS Vultr.COM необходимо загрузить в свою панель управления ISO образ установочного диска. Но так как установщик Windows 7, ничего не знает о виртуальных контроллерах, дисках, процессорах, и о виртуальных сетевых картах, предварительно необходимо побеспокоиться о драйверах.
Забегая вперед скажу, что для установки Windows 7 совсем не обязательно интегрировать драйверы в дистрибутив специальными программами, будь-то nLite или прочие, достаточно папку с драйверами разместить на том же диске (ISO образе), которого будет происходить установка. Причина копирования драйверов на установочный диск в том, что панель Vultr.COM не позволяет использовать несколько ISO образов одновременно. Поэтому при установке операционной системы вы не сможете «подсунуть» другой диск с драйверами.
Указанного недостатка (одновременное использование только одного ISO образа) лишены виртуальные серверы от компании VDSina.RU, также использующие виртуализацию KVM. Диск с драйверами присутствует в панели управления по-умолчанию и его не надо скачивать отдельно. Обзор услуг этой компании я делал ранее. [читать здесь].
Где взять драйверы для виртуального сервера KVM
Применительно к vultr.com, драйверы можно скачать с сайта проекта Fedora. Эти драйверы имеют цифровую подпись и подходят как для 32-х битных, так и 64-х разрядных систем Windows 7.
Прямая ссылка на ISO образ текущей версии драйверов — http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/virtio-win-0.1-81.iso
Как скопировать драйверы в ISO образ установочного диска Windows
Для копирования драйверов на ISO образ установочного диска необходимо открыть файл-образ в программе для работы с ISO форматами файлов. Я использовал UltraISO.
Открываем в программе необходимый нам ISO образ загрузочного установочного диска Windows 7 и создаем в корне диска папку для драйверов, к примеру DRV.
Переходим в созданную папку (в окне проводника программы UltraISO).
Извлекаем из скаченного ISO образа необходимые нам файлы, например с помощью архиватора WinRAR.
И добавляем их в установочный образ открытый в программе UltraISO.
После чего сохраняем новый образ. На это может уйти несколько минут.
Подключение ISO образа в панель управления vultr.com
После того как Вы подготовили образ установочного диска Windows его необходимо добавить в Вашу панель управления:
Тут нас поджидает неприятный сюрприз, образ диска нельзя загрузить напрямую с Вашего компьютера. Панель управления понимает только сетевую загрузку по протоколам http, https и ftp. То есть предварительно наш образ нужно выложить на какой-нибудь сервер в интернет и скормить панели его (ISO-образа) адрес.
Размер образа ограничен 5 ГБ, но этого вполне достаточно для современных дистрибутивов Windows.
Загрузка образа в панель может занять значительное время, наберитесь терпения.
Создание виртуального сервера с Windows 7
После успешной загрузки образа можно приступить к активации виртуального сервера. Учитывая требовательность к ресурсам желательно выбрать сервер с объемом оперативной памяти более 1ГБ и жестким диском от 30ГБ.
Не обращайте внимание на имя образа в моем примере. Вот с таким причудливым названием он у меня сохранился когда я копировал его с Яндекс.Диска, наверное причина в этом.
После того как сервер создан и запущен, переходим в раздел управления сервером:
Переходим в консоль:
и наблюдаем процесс установки Windows 7:
Замечу, что установка операционной системы Windows 7 на виртуальный сервер ничем не отличается от установки на обычный компьютер и давать какие-либо пояснения я не буду.
Особо отмечу, что мышь во время установки прекрасно работает, что значительно упрощает процесс настройки.
На определенном этапе установки Windows 7 не найдет жесткий диск и предложит Вам установить драйверы:
Нажмите кнопку загрузка, а потом обзор и перейдите в папку DRV, в которую мы скопировали необходимые нам драйверы:
Нажмите Ок и выберите драйвер SCSI контроллера:
После чего инсталлятор увидит Ваш жесткий диск и можно будет продолжать установку.
После установки операционной системы в диспетчере устройств останется пара соплей неопознанных устройств. Установить драйверы на них можно также с подключенного ISO образа из скопированной папки DRV обычным образом как это принято в Windows.
После установки драйверов на сетевой адаптер на сервере автоматически появится доступ в интернет. То есть настраивать вручную параметры ethernet-контроллера не надо, все необходимые параметры сервер получит автоматически.
На этом установку (не настройку) Windows 7 на виртуальный сервер можно считать законченной.
Данная инструкция подойдет и для других виртуальных серверов с системой виртуализации KVM, к которым можно примонтировать ISO образ.
С моим подробным обзором услуг хостинга компании Vultr.COM вы можете ознакомиться на моем блоге здесь.
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