admin 管理员组

文章数量: 887016

首先确定版本信息:
windows7版本:cn_windows_7_professional_x86_dvd_x15-65790
virtio-win版本:virtio-win-0.1.171这是最新的驱动,必须是当前最新版本,否则一些命令无法使用

第一部分:安装虚拟器前准备工作

终端使用命令,打开图形界面

virt-manager

如图:

点击左上角新建按钮,选择本地iso

选择自己window7所在位置


确定虚拟机配置


安装前要对虚拟机进行配置

最主要的配置项如下:
第一:

第二:配置如图

第三:

第四:

第五:添加驱动virtio-win

点击manage,选择自己驱动所在位置

开始安装:

第二部分:安装windows7虚拟机
加载必要的两个驱动:从wirtio中找到对应版本的viostor以及NetKVM

此图标错了,应该是viostor



同样的操作,将NetKVM的驱动也加载进去,先是加载viostor中的驱动程序。
而后开始安装即可,等待windows7安装完毕。

第三部分:安装后操作

先不将虚拟机关闭,一定不能关闭
此时在终端命令行输入:

virsh edit 虚拟机名

进行编辑,选择vim的编辑方式
在devices目录下添加:

 <channel type='unix'>
      <source mode='bind'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
 </channel>

打卡文件会发现已经存在vnc的通道了,记住端口不能冲突,将vnc的端口修改为2,
wq保存退出。

下面进入虚拟机中操作:
进入设备管理器中,图中鼠标处,应该有两栏,分别是PCI简单通信控制器,以及PCI设备,博主第一驱动更新完忘截图了。右击更新驱动程序。
针对PCI简单通信控制器,右击更新驱动程序,选择virtio-win中的vioserial一栏
在vioserial中选择对应windows7的目录,操作和下图针对PCI设备一样。

针对PCI设备如下:

浏览virtio-win-0.1.171


两个驱动更新完毕后,会出现下图所示:

在安装qemu-guest-agent前,配置结果如图


开始安装qemu-guest

在计算机中,选择DVD驱动,也就是virtio-win驱动,进入guest-agent文件下
双击qemu-ga-i386。
那么就是完成了qga的安装了。
宿主机终端输入:

virsh shutdown 虚拟机名

virsh start 虚拟机名

不要直接reboot,测试虚拟机能否命令行关闭。

等虚拟机启动后,终端检测:

 virsh qemu-agent-command windows7(虚拟机名)  '{"execute":"guest-network-get-interfaces"}'

返回结果:

{"return":[{"name":"����b�","ip-addresses":[{"ip-address-type":"ipv6","ip-address":"fe80::6884:5b02:38e:10c3%11","prefix":64},{"ip-address-type":"ipv4","ip-address":"192.168.11.162","prefix":20}],"statistics":{"tx-packets":17,"tx-errs":0,"rx-bytes":19216,"rx-dropped":0,"rx-packets":26,"rx-errs":0,"tx-bytes":26024,"tx-dropped":0},"hardware-address":"52:54:00:a7:d8:71"},{"name":"Loopback Pseudo-Interface 1","ip-addresses":[{"ip-address-type":"ipv6","ip-address":"::1","prefix":128},{"ip-address-type":"ipv4","ip-address":"127.0.0.1","prefix":8}],"statistics":{"tx-packets":0,"tx-errs":0,"rx-bytes":0,"rx-dropped":0,"rx-packets":0,"rx-errs":0,"tx-bytes":0,"tx-dropped":0}},{"name":"isatap.internal.example","ip-addresses":[{"ip-address-type":"ipv6","ip-address":"fe80::5efe:192.168.11.162%12","prefix":128}],"statistics":{"tx-packets":0,"tx-errs":0,"rx-bytes":0,"rx-dropped":0,"rx-packets":0,"rx-errs":0,"tx-bytes":0,"tx-dropped":0},"hardware-address":"00:00:00:00:00:00"}]}

到此,配置完windows7的镜像并能通过qemu获取IP

将此镜像先克隆一份,以防下部操作的失败,(关闭虚拟机)

virt-clone -o windows7 -n windows7-bak.qcow2 -f windows7-bak.qcow2

清除镜像的缓存:超级权限下操作

virt-sysprep -d windows7

这样就有了一份干净的定制镜像了。
将windows7的文件复制到别的目录下进行转换格式

cp windows7.qcow2 /home/master/
cd /home/master/

转换格式,删除镜像中多余空间

sudo qemu-img convert -O qcow2  windows7.qcow2 windows7_template.qcow2

这样就做好了windows7的模板镜像

本文标签: 镜像 虚拟机 KVM qemu IP