Как подключить устройство cdrom к домену kvm /qemu (используя инструменты командной строки)?

Я установил виртуальную машину под управлением Windows XP на своем ноутбуке Ubuntu. Используя графическое приложение virt-manager, я могу вставить компакт-диск в свой диск и перейти к Подробнее → IDE CDROM 1 и нажать на Connect. Затем компакт-диск становится доступным на моей виртуальной машине.

Как я могу сделать то же самое через командную строку? Очевидно, что я хотел бы также отключиться от командной строки.

Примечание: я могу запустить виртуальную машину из командной строки, используя virsh start testbed (testbed - это имя домена /VM).

22 голоса | спросил ΤΖΩΤΖΙΟΥ 26 MarpmMon, 26 Mar 2012 14:14:17 +04002012-03-26T14:14:17+04:0002 2012, 14:14:17

5 ответов


23

Если вы не создали CDROM при создании виртуальной машины, вы можете подключить устройство даже к рабочему домену (виртуальной машине), выполнив следующую команду:

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

Если вы уже определили CDROM, но он указал на образ ISO, по моему опыту, вы все равно можете запустить ту же команду. Часть hdc должна соответствовать блочному устройству, которое у вас есть в testbed.

Если вы хотите снова указать на образ ISO, вы заменяете /dev/sr0 на имя файла на хосте, что-то вроде

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

В документации предлагается использовать virsh update-device, но больше труда создать определение XML примерно так:

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

Если вы так, сохраните что-то подобное в файле (скажем ~/cdrom-real.xml), а затем выполните пожар:

virsh update-device testbed ~/cdrom-real.xml
ответил wigy 30 MarpmFri, 30 Mar 2012 13:08:20 +04002012-03-30T13:08:20+04:0001 2012, 13:08:20
4

Использовать qemu-monitor-команду virsh для передачи команд извлечения и изменения до qemu.

Сначала используйте «информационный блок», чтобы получить имя устройства qemu для вашего cdrom.

virsh # qemu-monitor-command mirage --hmp --cmd "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

Так что в моем случае меня интересует drive-ide0-0-0 . Чтобы изменить диск, сделайте следующее:

virsh # qemu-monitor-command mirage --hmp --cmd "eject drive-ide0-0-0"
virsh # qemu-monitor-command mirage --hmp --cmd "change drive-ide0-0-0 /path/to/new.iso"
virsh #
ответил Keith Twombley 2 Mayam12 2012, 08:04:51
1

Что касается вышеописанной команды «info block», правильный способ ее вызова выглядит следующим образом:

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

т

 virsh qemu-monitor-command windows44407 --hmp --cmd "info block"
ответил Joe Huss 8 Jam1000000amThu, 08 Jan 2015 07:53:24 +030015 2015, 07:53:24
0

Я проходил через проигрыватель BluRay, который работал неправильно, если я не передал его другим способом. Вот как я сделал это на основе этой статьи.

https: //lime-technology. ком /форум /тема /33851-Blu-Ray-DVD-ROM-Passthrough /

Найти SCSI #:

lsscsi

[[email protected] ~]# lsscsi
[#:0:0:0]    cd/dvd  HL-DT-ST BD-RE  WH14NS40  1.03  /dev/sr0

Изменить домен XML и добавить это:

Примечание. Замените scsi_host # на #, найденном в lssci

<controller type='scsi' index='0' model='virtio-scsi'/>
    <hostdev mode='subsystem' type='scsi'>
      <source>
        <adapter name='scsi_host#'/>
        <address type='scsi' bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>

Мне пришлось заставить XML быть принятым, поскольку редактирование virsh дало ошибки, просто нажмите i, а затем перезагрузите vm для тестирования.

ответил FreeSoftwareServers 25 FebruaryEurope/MoscowbSun, 25 Feb 2018 04:52:35 +0300000000amSun, 25 Feb 2018 04:52:35 +030018 2018, 04:52:35
-5

mount -t iso9660 /dev /sr0 /media

Вы можете использовать любое устройство, установленное для вашего каталога cdrom в каталоге /dev. Также /dev /cdrom является ссылкой на соответствующее устройство на большинстве Linux-систем. -T для типа устройства, которое вы монтируете, и iso9660 является универсальным типом для cdrom-носителей.

Точка монтирования может быть тем, что вы хотите явно, просто убедитесь, что она существует.

ответил Brian 28 MarpmWed, 28 Mar 2012 18:44:59 +04002012-03-28T18:44:59+04:0006 2012, 18:44:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132