首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Openstack实例-无可引导设备

Openstack实例-无可引导设备
EN

Stack Overflow用户
提问于 2018-08-16 00:36:20
回答 1查看 6.8K关注 0票数 4

我已经在托管在VirtualBox机器上的多节点架构上部署了Openstack。现在,我尝试使用qcow2 centos镜像启动我的第一个实例,但每次启动时都会收到以下错误:

代码语言:javascript
运行
复制
Booting from Hard Disk... 

Boot failed: not a bootable disk

No bootable device

我提到我使用了来自官方centos存储库的镜像,但我也使用Virtualbox构建了我自己的qcow镜像。在这两种情况下,结果是相同的。我不知道是什么导致了这一点,我应该从哪里开始调查。

EN

回答 1

Stack Overflow用户

发布于 2018-08-16 04:08:39

在创建新的虚拟机时,virt-manager似乎不会读取预先存在的映像的硬盘映像格式,而是选择"raw“格式。因为virt-manager似乎在内部存储它的设置,所以您不能只编辑~/.libvirt/qemu/VMNameHere.xml文件。

您必须将libvirt vm设置导出为xml,修复硬盘驱动器映像格式,然后将vm设置重新导入libvirt。

获取vm名称:代码:

代码语言:javascript
运行
复制
virsh -c qemu:///session list --all

如果您的虚拟机位于系统帐户中,而不是您的用户帐户中,请将qemu:/会话替换为qemu:/ system

导出vm设置:代码:

代码语言:javascript
运行
复制
virsh -c qemu:///session dumpxml VMName > ~/Desktop/VMName.xml

更新xml文件中的硬盘格式:

代码:

代码语言:javascript
运行
复制
From   
<devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/storage/vmimages/Windows7_x64-01/qcow2-60GB_HDD1.qcow2'/>
      <target dev='hda' bus='ide'/>
    </disk>
To
<devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/storage/vmimages/Windows7_x64-01/qcow2-60GB_HDD1.qcow2'/>
      <target dev='hda' bus='ide'/>
    </disk>

在virt-manager中删除旧的虚拟机设置:

打开virt-manager并删除有问题的虚拟机,但请确保保留硬盘映像

在固定的xml文件中导入:

代码:

代码语言:javascript
运行
复制
virsh -c qemu:///session define ~/Desktop/VMName.xml

虚拟机将自动出现在virt-manager中。

vm现在应该可以正常工作了。

其他注意事项:对于我使用virt-manager加载到vm中的每个硬盘映像,都会出现这个qcot2/raw问题,因此我每次都必须编辑并重新导入xml。

您可以关闭libvirt-bin和qemu-kvm服务,编辑~/.libvirt/qemu/VMNameHere.xml文件,然后以更短的方式重新启动,但我没有验证这种方法是否有效。

希望这将节省几个小时的搜索时间。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51862811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档