Назад | Перейти на главную страницу

Openstack: создание образа Windows 2008 R2 с поддержкой virtio

При установке windows 2008 R2 в kvm на диск virtio вроде нет поддержки драйверов. Даже после установки драйверов я не смог установить окна в образ. Это потому, что Windows не видит образ как загрузочный. Итак, как сделать Windows Server 2008 R2, который поддерживает virtio и может быть добавлен в Glance?

Редактировать 1: добавленные изображения Итак, вот несколько изображений моей проблемы. Это не ошибка 0x80300001, в качестве доказательства я добавил изображение, показывающее, что ISO-код Windows загружен на компакт-диск.

Изменить 2: Такое поведение наблюдается только в Ubuntu. Дясный подтвердил, что он работает на Fedora.

Решение, которое я использовал, чтобы обойти эту проблему:

Прежде всего, нам нужно создать образ для установки виртуальной машины. Microsoft говорит, что 10 ГБ - это минимум, но я использовал 15 ГБ. Помните, что это не окончательный размер вашей виртуальной машины после того, как она будет добавлена ​​в Nova Compute. Создайте необработанный образ с именем windows.virtio:

kvm-img create -f raw windows.virtio 15G

Теперь откройте virt-manager и создайте новую виртуальную машину:

  • Назовите свою машину
  • Используйте образ ISO и выберите образ Windows 2008 R2.
  • Выберите окна и окна 2008 в раскрывающихся меню.
  • 2048 МБ памяти
  • 2 процессора
  • Настройте сеть, чтобы у вас был Интернет

Теперь загрузите машину и просто установите образ, на данный момент диск настроен на IDE, но это не проблема.

  • После установки дайте ему перезагрузиться, после перезагрузки снова выключите
  • Создать временный образ
  • kvm-img create -f raw dirtyhack.virtio 1G
  • Добавьте оборудование с помощью virt-manager:
    • Дисковые драйверы
      • Место хранения
      • Файловый образ диска (выберите dirtyhack.virtio)
      • установите Тип устройства на Virtio
      • Смонтируйте ISO с драйвером, полученным из проектов Fedora, на станции CDrom.
    • Сетевая карта
      • Добавьте новую сетевую карту в какой-нибудь интерфейс (неважно, к чему она подключается)
      • При выборе карты измените гипервизор по умолчанию на virtio
    • Снова загрузите сервер
    • В windows откройте диспетчер устройств
      • Нажмите старт
      • Тип диспетчера устройств
      • В диспетчере устройств выберите драйвер iSCSI
      • Установите драйвер, перейдите на CDrom и перейдите в wlh> amd64.
      • Нажмите ОК, и драйвер будет установлен
      • Сделайте то же самое для сетевой карты, мне пришлось использовать драйверы из папки Windows 7, поскольку Windows не могла обнаружить драйверы из папки Wnet.
    • Выключите машину
    • Удалите все жесткие диски с машины в virt-manager
    • Добавьте оборудование, хранилище и исходный файл windows.virtio, но убедитесь, что для параметра Тип устройства установлено значение virtio.
  • Загрузите машину

Поздравляем, на вашем компьютере теперь установлены драйверы Virtio.

Я также разместил это на мой блог

Тем, кто попадает сюда, вам не нужно выполнять предложенный взлом, просто укажите драйверы virtio в качестве компакт-диска.

В qemu-system-x86 используйте эти параметры.

sudo qemu-syste-x86 -m 1024 -drive file=/path/to/file/windows_2012_r2.ISO,index=2,media=cdrom \
  -drive file=win2012.raw,if=virtio,index=0, -boot d -net nic,model=virtio \
  -net user,hostfwd=tcp::3389-:3389 -nographic -vnc :0 \
  -drive file=/path/to/file/virtio-win-0.1-81.iso,index=3,media=cdrom 

Openstack предоставляет документацию о том, чего вы пытаетесь достичь здесь: http://docs.openstack.org/diablo/openstack-compute/starter/content/Creating_a_Windows_Image-d1e1594.html

Уловка заключается в том, чтобы предоставить образ дискеты virtio-win-x.x.x.vfd во время установки, чтобы Windows могла получить драйверы из