ubuntu kylin 14.04 + kvm 使用定制BIOS的问题

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
hugebrush
帖子: 94
注册时间: 2008-03-05 21:58

ubuntu kylin 14.04 + kvm 使用定制BIOS的问题

#1

帖子 hugebrush » 2014-07-20 8:10

我定制了一个seabios,用于替换KVM默认的bios,该BIOS加入了slic,以便激活OEM WINODWS7。
同时定制了ubuntu kylin 14.04 iso,里面包含了使用和管理kvm的相关软件包。我用这个定制的iso文件制作了一个live usb,然后用live usb往我的机器上安装ubuntu kylin 系统。在使用虚拟机的时候遇到奇怪的问题:
(1)从硬盘启动ubuntu kylin,用virt-manager创建kvm虚拟机,完成windows 7安装,然后用“virsh edit <虚拟机名称>”修改虚拟机配置如下:

代码: 全选

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
......
  <qemu:commandline>
    <qemu:arg value='-bios'/>
    <qemu:arg value='定制BIOS文件的绝对路径'/>
  </qemu:commandline>
</domain>
启动虚拟机的时候,提示无法加载BIOS。这个过程我先前在用live usb启动的情况下也做过,是能启动虚拟机并激活windows的。

(2)我又用live usb启动我的机器,用virt-manager创建配置一样、使用同一个磁盘镜像文件的虚拟机,用“virsh edit <虚拟机名称>”对配置做了同样的修改,虚拟机能用定制的BIOS文件启动并激活Windows 7。
(3)kvm默认的bios文件是/usr/share/qemu/bios-256k.bin,这实际是真正BIOS文件的符号链接。我从硬盘启动,把这个符号链接改成指向我的定制BIOS文件,设置虚拟机用默认BIOS文件启动,还是不能加载BIOS。

不知道为啥从安装在硬盘上的ubuntu kylin 14.04 启动,不能使用定制的BIOS启动虚拟机。

进一步测试发现:
(1)硬盘启动ubuntu,直接用kvm命令带少数几个参数,是可以用定制的BIOS启动虚拟机并激活Windows。
(2)用virt-manager启动虚拟机,实际也是在后台用kvm命令启动虚拟机,并带了29个参数。但是无论用usb live启动,还是用硬盘启动,附带的29个参数是一致的(只在虚拟机UUID、磁盘映像文件路径、虚拟网卡MAC地址上有差异)。估计是在硬盘启动的UBUNTU Kylin环境中,附带的参数导致无法用定制的BIOS启动。kvm默认bios文件是256k,我自己定制的bios文件是128k。

解决了,但不知道问题的根本原因:

从硬盘启动,bios文件放在/usr/share/qemu目录下就正常,我原先都是放在home目录下。
上次由 hugebrush 在 2014-07-22 1:38,总共编辑 2 次。
头像
bzimage
帖子: 716
注册时间: 2006-03-14 10:25

Re: ubuntu kylin 14.04 + kvm 使用定制BIOS的问题

#2

帖子 bzimage » 2014-07-20 14:38

mark
回复