首页 文章

KVM来宾os启动错误

提问于
浏览
2

我正在尝试启动客户操作系统继续我的工作,但我的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 回答

  • 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 .

相关问题