В одной из своих прежних заметок я описал графическую установку гостевой системы Linux в гипервизоре Bhyve (портированный на FreeBSD QEMU). И вот настал момент, когда в качестве гостевой ОС потребовалось установить Windows. скажу сразу: без костылей поддерживаются только десктопные версии от Win8 и старше, серверные Win2012 и старше.
К настройке гипервизора не возвращаюсь, она описана в выше упоманутой статье, описываю сразу установку гостевой системы.
К настройке гипервизора не возвращаюсь, она описана в выше упоманутой статье, описываю сразу установку гостевой системы.
Установка свежей версии Windows
В каталоге /vms/.templates/ создаем шаблон winnew.conf следующего содержания:- использовать UEFI
- Количество ядер у гостя
- Размер памяти у гостя
- Описание сетевого интерфейса
- Используемый интерфейсом виртуальный свитч
- Тип эмулируемого устройства disk0
- Файл образа для дискового устройства
- Тип эмулируемого устройства disk1
- Файл образа .ISO для диска с драйверами виртуальных устройств.
- Использовать графический режим
- Порт для VNC подключения
- разрешение виртуального экрана
- При запуске ждать подключения VNC клиента
- Эмуляция usb мыши
Добавляем установочный образ windows в каталог /vmc/.iso/
Создаем виртуальную машину:
vm create -t winnew -s 20G test
Дальнейшая установка совпадает с установкой более ранних версий Windows поэтому вернусь к ней после описания конфигурирования гостя для ранних версий.
Установка старых версий Windows
Главная проблема с установкой более ранней версии Windows состоит в том, что размер сектора диска Bhyve по умолчанию берет равным 4096 байт, а на более ранних устройствах, на работу с которыми и ориентированные старые версии ОС он был 512 байт, кроме того UEFI ориентирован на работу с GPT разметкой, а старые версии Windows используют MBR.В каталоге /vms/.templates/ создаем шаблон winold.conf следующего содержания:
шаблон отличается наличием строки
disk0_opts="sectorsize=512"
задающей размер сектора для эмулируемого диска.
И закоментированной 1-й строкой, которая, теоретически должна заставлять наш uefi работать работать с MBR но мне не удалось этого добиться.
Так же отключена эмуляция USB mouse.
Добавляем установочный образ windows в каталог /vmc/.iso/
Создаем виртуальную машину:
vm create -t winold -s 20G test
Дальнейшая настройка и установка для всех версий идентична:
Редактируем конфиг:vm configure test
Меняем порт VNC соединения на свободный и раскомментируем строки с описанием disk1.
Загружаем с ресурса: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
свежую стабильную версию virtio.iso (диск с драйверами виртуальных устройств QEMU)
vm iso https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.126-2/virtio-win.iso
Копируем скачанный образ в папку виртуальной машины:
cp /vms/.iso/virtio-win.iso /vms/test/virtio.iso
Запускаем установку:
vm -f install test1 win2008r2.iso
Ключ -f позволяет запустить установку с подключенной консолью:
Если что то пойдет не так, вы сможете выполнить в ней команду shutdown и остановить виртуальную машину.
Подключаемся к установке с помоoью VNC клиента на указанный при настройках порт и проводим настройку обычным образом, единственное если образ CD требует нажатия любой клавиши для установки - следует проявить определенную проворность сразу после подключения.
Из неудобств - на старых версиях, где не используется эмуляция USB mouse, указатели мыши довольно сильно раздваиваются.
После установки следует установить недостающие драйвера с примонтированного CD образа (их в системе будет 2 установочный и с драйверами) или можно загрузить необходимые драйвера на этапе выбора диска для установки (опция загрузить), однозначно потребуется драйвер сетевого интерфейса, остальные зависят от версии устанавливаемой системы:
Дальше идет обычная установка Windows, при каждой перезагрузке VNC клиент будет отваливаться и так как у нас включен параметр graphics_wait="yes" для продолжения установки необходимо переподключаться снова, если Ваш установочный образ не требует нажатия любой клавиши для начала установки, то этот параметр можно не использовать (закоментировать с помощью # или просто удалить строку).
После завершения установки настраиваем сеть, RDP, и выключаем систему.
Выполняем
vm configure test
и коментируем/удаляем строки содержащие "disk1".
Теперь, если у вас 8/2012 Windows или свежее для запуска выполняете:
vm start test
Для автоматического запуска при перезагрузке хост-системы добавляем вашу машину в
список виртуалок в файле /etc/rc/conf:
vm_list=”test”
Для более ранней версии Windows, теоретически необходимо в конфиге виртуалки указать:
uefi="csm"
но у меня она стартовать с этими настройками отказалась, однако я обнаружил, что если запускать виртуалку с параметром -f, она нормально запускается, только при этом должна висеть консоль, из которой осуществляется запуск:
vm -f start test
Эксперименты проводились на windows 2012r2 и 2008r2.
Целесообразность виртуалить таким образом десктопные версии для меня сомнительна, но у каждого своя ситуация.
Поэтому я в консольном менеджере screen создал отдельную вкладку из которой запускаю виртуальную машину
Эксперименты проводились на windows 2012r2 и 2008r2.
Целесообразность виртуалить таким образом десктопные версии для меня сомнительна, но у каждого своя ситуация.
Комментариев нет:
Отправить комментарий