LINUX.ORG.RU

Не определяется звуковая карта в гостевой Windows7 на kvm

 


1

1

Доброго времени суток! Имеется Debian 7 (консольный). На него поставлен kvm + libvirt. Установлена Win 7 на виртуальную машину, установлены дрова (http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/). Пытаюсь добавить звуковое устройство, но винда не видит его. Конфиг машины:

<domain type='kvm' id='1'>
  <name>7</name>
  <memory unit='MiB'>512</memory>
  <vcpu>1</vcpu>
  <os>
    <type>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <clock offset='utc'/>
  <features>
    <acpi/>
  </features>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='7.qcow2'/>
      <target dev='vda' bus='ide'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='virtio-win-0.1-81.iso'/>
      <target dev='vdc' bus='ide'/>
      <readonly/>
    </disk>
    <devices>
      <sound model='ac97'>
      </sound>
    </devices>
    <interface type='bridge'>
      <source bridge='br0'/>
      <model type='virtio'/>
    </interface>
    <graphics type='vnc' port='-1' keymap='en-us'>
      <listen type='address' address='192.168...'/>
    </graphics>
  </devices>
</domain>

http://support.microsoft.com/
Начиная с семёрки они как раз поддерживают установку в виртуалки. Вот пусть и поддерживают.

Goury ★★★★★ ()

Вообще не видит? Даже неизвестных устройств нет?

А тот конфиг, который предоставил, это текущий конфиг работающей машины? В общем, если до этого не делал, выключи и включи виртуалку (не перезагрузить, а именно выкл и вкл).

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Вообще не видит. Даже неизвестных устройств нет. Поэтому и обратился за помощью. Виртуалку включал/выключал несколько раз (с добавлением/удалением из гипервизора), пробовал также вместо 'ac97' указывать 'es1370' - устройство в системе не обнаруживается никакого устройства.

speed_vm ()

попробуй вместо ac97 указать hda (high definition audio)

dimon555 ★★★★★ ()

а может для начала стоит перейти на протокол который поддерживает передачу звука - SDL или spice(+QXL)?

dyasny ★★★★★ ()
Ответ на: комментарий от dimon555

попробуй вместо ac97 указать hda (high definition audio)

Пробовал, не помогает.

speed_vm ()

это на форумы майкрософта. еще часто kvm в дебиане собирают криво.

timuaz ()
Ответ на: комментарий от kerneliq

Не совсем понял, для чего это нужно.

Специя или SPICE (сокр. от англ. «Simple Protocol for Independent Computing Environments», то есть «Простой протокол для независимой вычислительной среды») — открытый протокол удаленного доступа к компьютеру или виртуальной машине. (цитата с хабра)

Я могу и по rdp подключаться к машине. Оборудование от протокола подключения не появится. Или я чего-то не понимаю? Пробовал ещё таким образом (http://gurjeet-tech.blogspot.co.uk/2012/09/how-to-install-kvm-with-working-audio.html). Те же яйца.

speed_vm ()
Ответ на: комментарий от speed_vm

Если запускать машину через virsh:

virsh define 7.xml
virsh start 7
То kvm запускается с такими параметрами:
/usr/bin/kvm
-S -M pc-1.1
-enable-kvm
-m 512
-smp 1,sockets=1,cores=1,threads=1
-name 7
-uuid 3d18c44b-d00d-e800-24bf-1d428d919c5d
-no-user-config
-nodefaults
-chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/7.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control
-rtc base=utc
-no-shutdown
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-drive file=/home/speed/VirtualMachines/7/7.qcow2,if=none,id=drive-ide0-0-0,format=raw
-device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 
-drive file=/home/speed/VirtualMachines/virtio-win-0.1-81.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw 
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 
-netdev tap,fd=20,id=hostnet0 
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:f7:15:26,bus=pci.0,addr=0x3 
-vnc 192.168.254.11:0 
-k en-us 
-vga std 
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
Если запускать машину из скрипта с помощью kvm:
#!/bin/sh
VM_ID="10"

HDA="7.qcow2"
HDB="tmp.qcow2"
HDC="virtio-win-0.1-81.iso"

/usr/bin/kvm \
-enable-kvm \
-boot "menu=on,order=d" \
-m 512M \
-balloon virtio \
-name "7" \
-drive "file=$HDA,index=0,media=disk,cache=writeback" \
-drive "file=$HDB,index=1,media=disk,cache=writeback,if=virtio" \
-drive "file=$HDC,index=2,media=cdrom,cache=writeback,readonly" \
-soundhw ac97 \
-vnc 192.168.254.11:0
Запуск kvm происходит соответственно только с этими параметрами:
kvm
-enable-kvm
-boot menu=on,order=d
-m 512M
-balloon virtio
-name 7
-drive file=7.qcow2,index=0,media=disk,cache=writeback
-drive file=tmp.qcow2,index=1,media=disk,cache=writeback,if=virtio
-drive file=virtio-win-0.1-81.iso,index=2,media=cdrom,cache=writeback,readonly
-soundhw ac97
-vnc 192.168.254.11:0
Соответственно, при первом запуске аудио-контроллер не обнаруживается, при втором - обнаруживается.

Скорее всего виноваты эти параметры:

-no-user-config
-nodefaults
Вопрос: каким образом их исключить при создании машины через virsh?

speed_vm ()
Ответ на: комментарий от speed_vm

Помогло более точное определение устройства в xml файле конфигурации:

<sound model='ac97'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </sound>
Благодарю всех за помощь. Особенно пользователей с ответами:

http://support.microsoft.com/
Начиная с семёрки они как раз поддерживают установку в виртуалки. Вот пусть и поддерживают.

и

На винфак свали, вендузятник

Вы внесли неоценимый вклад в решение данной проблемы.

speed_vm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.