kvm下制作虚拟镜像

本文档详细介绍了如何在KVM环境下创建虚拟机,并安装Windows操作系统。首先,通过qemu-img创建qcow2格式的虚拟磁盘,然后编辑XML配置文件定义虚拟机。接着,设置虚拟机从ISO镜像启动,使用VNCViewer连接进行系统安装。安装完成后,更新XML文件以从硬盘启动。最后,安装virtio驱动以提升虚拟机性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1: 新建虚拟机

(1)创建img镜像,输入如下命令:

qemu-img create –f qcow2/vmdk/win7.img 10G

(2)创建并修改xml文件

<span style="font-size:14px;"><domain type='kvm'>
  <name>win7</name> --此处win7为虚拟机的名字,必须唯一
  <memory>524288</memory> --此处为分配给虚拟机的内存字节数,可根据实际情况改写
  <vcpu>1</vcpu> --此处为分配给虚拟机的cpu个数,若为1个,此行可删除
  <os>
    <type>hvm</type>
  </os>
  <devices>
    <disk>
      <source file='/vmdk/win7.img'/> --file的值为镜像所在的绝对路径
      <target dev='hda' bus='ide'/>
    </disk>
    <graphics type='vnc' port='5911' autoport='no' listen='0.0.0.0'/>--各虚拟机port的值一定不能相同
  </devices>
</domain>
</span>

然后保存退出

使xml文件生效输入如下命令

virsh define /vmdk/win7.xml


2:虚拟机的安装

将要安装的操作系统iso镜像放到某一目录中,此处假设iso放在/vmdk/win7.iso

(1)编辑虚拟机属性

输入如下命令:virsh edit win7 #win7为虚拟机的名字,与前面对应
将进入vi,进行如下修改
将/domain/os/boot的属性dev的值改为cdrom,让虚拟机从光盘启动,如下:
<boot dev=’cdrom’ /> --从光盘启动
将/domain/devices/disk/driver的type属性改为qcow2
在/domain/devices下新加入如下内容:
<disk type=’file’ device=’cdrom’>
<source file=’/vmdk/win7.iso’ />
<target dev=’hdb’ bus=’ide’ />
</disk>

若虚拟机为windows则需添加

  <features>
    <acpi/>
  </features>
保存并退出

(2)启动虚拟机

virsh start win7#win7为虚拟机的名字,与前面对应

(3)用VNCViewer登陆虚拟机(ip:port),进行系统的安装
此处port可以在服务器上用如下命令获得:virsh vncdisplay win7# win7为虚拟机的名字,与前面对应

(4)安装完成后,关闭虚拟机,修改xml文件
输入如下命令:virsh edit win7# win7为虚拟机的名字,与前面对应
将/domain/os/boot的属性dev的值改为hd,让虚拟机从硬盘启动,如下:
<boot dev=’hd’ /> --从硬盘启动
删除上面2.1中新加入的如下内容:
<disk type=’file’ device=’cdrom’>
<source file=’/vmdk/test.iso’ />
<target dev=’hdb’ bus=’ide’ />
</disk>
保存后退出


3:虚拟机安装virtio驱动(virtio-win-0.1-81.iso)(必须:网卡驱动、磁盘驱动, 可选:串口驱动)

为了让虚拟机可上网,提高windows虚拟机的性能,需要安装virtio网卡驱动和磁盘驱动,

为了能让虚拟机访问virtio-win-0.1-81.iso驱动, 可以通过挂载关盘形式进行, 

为了模拟virtio磁盘驱动所需的磁盘设备, 可以通过挂载手动建立的小的镜像mini.img(qemu-img create –f qcow2 /vmdk/mini.img 1G),mini.img所在disk的bus='virtio'

    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='vmdk/win7.img'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='vmdk/mini.img'/>
      <target dev='hdb' bus='virtio'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='qcow2'/>
      <source file='/vmdk/virtio-win-0.1-81.iso'/>
      <target dev='hdc' bus='ide'/>
    </disk>
启动虚拟机后, 安装网卡驱动和磁盘驱动
安装好后删除mini.img和virtio-win-0.1-81.iso对应的disk标签, 然后修改win7.img disk标签下bus='virtio'

若虚拟机采用NAT模式则增加标签

    <interface type='network'>
      <source network='default'/>
      <model type='virtio'/>
    </interface>
完整win7虚拟机(NAT模式)的xml如下:

<domain type='kvm'>
  <name>win7_x32</name>
  <memory unit='KiB'>2097152</memory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.6.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/home/vmdk/image/win7.img'/>
      <target dev='hda' bus='virtio'/>
    </disk>
    <interface type='network'>
      <source network='default'/>
      <model type='virtio'/>
    </interface>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0' passwd='XXX'/>
    <memballoon model='virtio'/>
  </devices>
</domain>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值