20 votos

Cómo conectar un dispositivo de cd-rom a un kvm/qemu dominio (uso de herramientas de línea de comandos)?

He creado una máquina virtual con Windows XP en mi Ubuntu portátil. El uso de la virt-manager GUI de la aplicación, puedo insertar un CD en mi coche e ir a los Detalles→cd-ROM IDE 1 y haga clic en el Connect botón. A continuación, el CD estará disponible en mi máquina virtual.

¿Cómo puedo hacer lo mismo a través de la línea de comandos? Obviamente, me gustaría ser capaz de desconectar de la línea de comandos.

Nota: no se puede iniciar la máquina virtual desde la línea de comandos usando virsh start testbed (banco de pruebas de ser el nombre del dominio/VM).

21voto

wigy Puntos286

Si se define no CDROM cuando creó su máquina virtual, puede conectar el dispositivo a una marcha de dominio (máquina virtual) ejecutando el siguiente comando:

virsh attach-disk testbed /dev/sr0 hdc --type cdrom

Si usted ya cuenta con un cd-ROM, pero apuntando a una imagen ISO, en mi experiencia, usted todavía puede ejecutar el mismo comando. El hdcparte de las necesidades para que coincida con el dispositivo de bloque que tiene en la testbed de la máquina virtual.

Cuando se quiere apuntar a una imagen ISO de nuevo, sustituya /dev/sr0 a el nombre de archivo en el host, algo así como

virsh attach-disk testbed ~/virtio-win-0.1-22.iso hdc --type cdrom

La documentación sugiere el uso de virsh update-device, pero es más trabajo para crear un XML de definición de algo como:

<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sr0'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
</disk>

Si usted está en este modo, ahorrar algo así como que en un archivo (por ejemplo ~/cdrom-real.xml) y luego el fuego:

virsh update-device testbed ~/cdrom-real.xml

4voto

Keith Twombley Puntos185

Utilice el comando virsh del qemu-monitor-comando para pasar la expulsión y los comandos de cambio de abajo a qemu.

El primer uso "bloque informativo" para obtener qemu del nombre de dispositivo para el cd-rom.

virsh # qemu-monitor-command mirage "info block"
drive-virtio-disk0: type=hd removable=0 file=/home/daoist/mirage/mirage.qcow2 ro=0 drv=raw encrypted=0
drive-ide0-0-0: type=cdrom removable=1 locked=0 file=/home/daoist/iso/en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso ro=1 drv=raw encrypted=0

Así que en mi caso estoy interesado en la unidad-ide0-0-0. Entonces, para cambiar el disco, hacer esto:

virsh # qemu-monitor-command mirage "eject drive-ide0-0-0"
virsh # qemu-monitor-command mirage "change drive-ide0-0-0 /path/to/new.iso"
virsh #

descaradamente cribbed de mi blog.

1voto

Joe Huss Puntos51

Con respecto a la "información de bloque de" comando anterior, la forma correcta de llamar es como este:

 virsh qemu-monitor-command <domain> --hmp --cmd "info block"

es decir

 virsh qemu-monitor-command windows44407 --hmp --cmd "info block"

-4voto

Brian Puntos1

mount-t iso9660 /dev/sr0 /medios de comunicación

Usted puede utilizar cualquier dispositivo que se establece para el cd-rom en el directorio /dev. También /dev/cdrom es un enlace para el dispositivo apropiado en la mayoría de los sistemas Linux. La opción-t para el tipo de dispositivo de montaje y iso9660 es de tipo universal para cdrom medios de comunicación.

El punto de montaje puede ser lo que quieras, obviamente, sólo asegúrese de que existe.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: