KVM来宾os启动错误

时间:2016-05-15 12:11:06

标签: linux permissions qemu kvm libvirt

我正在尝试启动guest虚拟机操作系统以继续我的工作但是我的virsh安装有问题。 以下是安装脚本的一部分:

qemu-img create -f qcow2 -o preallocation=metadata ~/images/${vm_name}.qcow2 ${pool_size}G

# create dir for images
mkdir ~/images/

virt-install \
--connect qemu:///system \
--name $vm_name \
--ram 10240 \
--vcpus 4 \
--disk ~/images/${vm_name}.qcow2,size=$pool_size,bus=virtio,sparse=false,format=qcow2 \
--network network=default,model=virtio \
--location http://ua.archive.ubuntu.com/dists/trusty-updates/main/installer-amd64/ \
--initrd-inject=$current_dir/preseed.cfg \
--extra-args="file=file:/preseed.cfg vga=788 quiet console=tty0 utf8 console=ttyS0,115200" \
--os-type=linux \
--virt-type kvm \
--video=vga \
--noreboot \
--cpu host \
--hvm

virsh start $vm_name
echo "----------Login to console----------"
virsh console $vm_name

当我尝试将此脚本作为./script.sh这样的文件运行时,会产生错误:

Formatting '/home/{username}/images/test.qcow2', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 preallocation='metadata' lazy_refcounts=off refcount_bits=16
mkdir: cannot create directory '/home/flash/images/': File exists
ERROR    'DebianDistro' object has no attribute '_prefix'
error: failed to get domain 'test'
error: Domain not found: no domain with matching name 'test'

----------Login to console----------
error: failed to get domain 'test'
error: Domain not found: no domain with matching name 'test'

我已尝试使用本指南重新安装kvm qemu软件包 - https://help.ubuntu.com/community/KVM/Installation 一切顺利完成。 我确信脚本将工作文件,因为我之前在其他机器上使用它没有任何问题。

另一个尝试: 使用下面的脚本

virt-install --connect qemu:///system -n test -r 10240 \
--vcpus=4 \
--disk path=/data0/images/test.img,size=50,format=qcow2,bus=virtio,cache=none \
--cdrom /home/{username}/Downloads/kvm/ubuntu-14.iso \
--vnc \
--os-type=linux \
--accelerate \
--network network=default \
--hvm

产生错误:

ERROR    internal error: process exited while connecting to monitor: Could not access KVM kernel module: Permission denied
failed to initialize KVM: Permission denied

此外,当我尝试通过virt-install --os-variant列表列出所有os变体时,它无法识别此命令并尝试启动guest虚拟机操作系统而不是列出变体。

你能帮我找一下这里的问题吗?

1 个答案:

答案 0 :(得分:2)

要解决此错误:

ERROR    'DebianDistro' object has no attribute '_prefix'

编辑文件/usr/share/virt-manager/virtinst/urlfetcher.py并在第1034行更改此内容:

if self._prefix:

到此:

if self._url_prefix:

Ubuntu 14.04。