ΤΖΩ*_*ΙΟΥ 27 optical-media kvm-virtualization virsh
我已经在我的 Ubuntu 笔记本电脑上设置了一个运行 Windows XP 的虚拟机。使用virt-manager
GUI 应用程序,我可以在我的驱动器中插入一张 CD,然后转到 Details?IDE CDROM 1 并单击Connect
按钮。然后 CD 在我的虚拟机中可用。
如何通过命令行执行相同的操作?显然,我也希望能够与命令行断开连接。
注意:我可以从命令行使用virsh start testbed
(testbed 是域/VM 的名称)启动 VM。
小智 28
如果您在创建虚拟机时未定义 CDROM,您甚至可以通过运行以下命令将设备附加到正在运行的域(虚拟机):
virsh attach-disk testbed /dev/sr0 hdc --type cdrom
Run Code Online (Sandbox Code Playgroud)
如果您已经定义了一个 CDROM,但它指向一个 ISO 映像,根据我的经验,您仍然可以运行相同的命令。该hdc
部分需要与您在testbed
虚拟机中拥有的块设备相匹配。
当您想再次指向 ISO 映像时,请替换/dev/sr0
为主机上的文件名,例如
virsh attach-disk testbed ~/virtio-win-0.1-22.iso hdc --type cdrom
Run Code Online (Sandbox Code Playgroud)
文档建议使用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>
Run Code Online (Sandbox Code Playgroud)
如果您喜欢这种方式,请将类似的内容保存到文件中(例如~/cdrom-real.xml
),然后触发:
virsh update-device testbed ~/cdrom-real.xml
Run Code Online (Sandbox Code Playgroud)
使用 virsh 的 qemu-monitor-command 将弹出和更改命令传递给 qemu。
首先使用“信息块”为您的 cdrom 获取 qemu 的设备名称。
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
Run Code Online (Sandbox Code Playgroud)
所以就我而言,我对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 #
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
97824 次 |
最近记录: |