系统重启后无法访问 kvm 来宾操作系统

系统重启后无法访问 kvm 来宾操作系统

我正在配置千斤顶在我的笔记本电脑上有ubuntu 14.04作为主机操作系统。我添加了一个Fedora 客户操作系统使用虚拟管理器效果很好。

但是,在我重新启动虚拟机后,来宾操作系统并未启动。它给了我一个错误,

Booting from hard disk
Boot failed: not a bootable disk
No bootable device

当我搜索此错误时,解决方案建议更改XML我的来宾操作系统的配置文件。我尝试改变XML使用命令配置文件virsh edit ramesh-guest但没有运气。

这是我的XML配置文件。

  <disk type='file' device='disk'>
  <driver name='qemu' type='raw'/>
  <source file='/var/lib/libvirt/images/ramesh-guest.img'/>
  <target dev='hda' bus='virtio'/>

我还尝试按照建议更改存储类型这里但运气不好。

我看到可用的存储类型为,

  • 生的
  • qcow2
  • qed
  • 虚拟机库
  • 维迪

但是,如果我将存储类型设置为原始存储类型以外的其他类型,则会收到以下错误:

启动域时出错:内部错误:连接到监视器时进程退出:qemu-system-x86_64:-drive file=/var/lib/libvirt/images/ramesh-guest.img,if=none,id=drive-virtio-disk0 ,format=qcow2: 无法打开磁盘映像 /var/lib/libvirt/images/ramesh-guest.img: 映像不是 qcow2 格式

我使用网络安装方法将 Fedora 来宾操作系统安装到我的 KVM 中,并从以下位置获取了映像这里

答案1

确认该命令file报告文件具有适当的可用引导加载程序。你可以这样做:

$ sudo file /path/to/image.img
/path/to.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x1b441; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 20755980 sectors, code offset 0x48

fdisk您还可以像这样使用该文件:

$ sudo fdisk -l /path/to/image.img 
You must set cylinders.
You can do this from the extra functions menu.

Disk /path/to/image.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000dac08

            Device Boot      Start         End      Blocks   Id  System
/path/to/image.img1   *           1          13      104391   83  Linux
/path/to/image.img2              14        1305    10377990   8e  Linux LVM
Partition 2 has different physical/logical endings:
     phys=(1023, 254, 63) logical=(1304, 254, 63)

最后一个总是让人们知道您可以对文件使用分区工具,但请记住该文件很特殊,它是磁盘的映像文件,因此这些工具也可以在那里使用。

答案2

从改变开始 <target dev='hda' bus='virtio'/>

<target dev='vda' bus='virtio'/>

如果这不起作用,请显示 domxml 的其余部分以及安装时的原始 VM 配置。

相关内容