制作说明:

母系统:centos 6.5 x86_64


1.安装软件

#在镜像制作服务器 安装qemu libvirtd 及window virt驱动
yum install libvirt libguestfs-tools qemu-kvm qemu-img
yum groupinstall Virtualization "Virtualization Client" -y
yum -y install libvirt libguestfs-tools -y

#window默认不支持virtio驱动,需要手动下载
yum -y install https://fedorapeople.org/groups/virt/virtio-win/repo/stable/virtio-win-0.1.96-1.noarch.rpm

2.下载光盘镜像

#window2008R2 ISO文件
\\10.10.0.3\Software\公共资源\软件\ISO\Windows2008r2\cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso
 
#CloudbaseInitSetup
\\10.10.0.3\Software\公共资源\软件\ISO\win2k8r2镜像制作软件包\CloudbaseInitSetup_x64.msi
#wget https://www.cloudbase.it/downloads/CloudbaseInitSetup_x64.msi

3.创建一个空的磁盘文件

qemu-img create -f qcow2 /tmp/win2008-work.qcow2 10G

4.启动虚拟机

virt-install --name win2k8-work --ram 1024 --vcpus 1 \
--network network=default,model=virtio \
--disk=/tmp/win2008-work.qcow2,format=qcow2,device=disk,bus=virtio \
--cdrom=/tmp/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso \
--disk=/usr/share/virtio-win/virtio-win-0.1.96.iso \
--disk=/usr/share/virtio-win/virtio-win-0.1.96_amd64.vfd,device=floppy \
--graphics spice,listen=0.0.0.0 --video qxl --channel spicevmc \
--os-type windows --os-variant win2k8 --force
#注意:检查virtio-win-0.1.96_amd64.vfd和virtio-win-0.1.96.iso存放路径
#命令执行结果
开始安装......
创建域......                                                            |    0 B     00:00     
无法打开显示:
运行 'virt-viewer --help' 来查看可用命令行选项的完整列表
域安装仍在进行。请等待  完成安装。

5.初始化安装

#默认vnc/spice端口为5900,用VirtViewer客户端连接虚拟机
spice://10.10.2.168:5900

a.连接成功

Openstack window 2008 R2 镜像制作说明_Openstack window

b.安装操作系统时会提示"无法将windows安装到这个磁盘"或者提示"未找到任何驱动器"

Openstack window 2008 R2 镜像制作说明_Openstack window_02

c.点击"加载驱动程序",更换驱动

Openstack window 2008 R2 镜像制作说明_Openstack window_03

d.安装"Red Hat VirtIO SCSI controller (A:\amd64\Win2008E2\viostor.inf)"

Openstack window 2008 R2 镜像制作说明_Openstack window_04

e.等待磁盘驱动安装完毕后,刚才创建的10G磁盘文件就出现了,选择该磁盘并点击"下一步"

Openstack window 2008 R2 镜像制作说明_Openstack window_05

f.等待系统安装,漫长的等待

Openstack window 2008 R2 镜像制作说明_Openstack window_06

g.系统初始化:选择网卡驱动

Openstack window 2008 R2 镜像制作说明_Openstack window_07

g.系统初始化:安装网卡驱动

Openstack window 2008 R2 镜像制作说明_Openstack window_08

Openstack window 2008 R2 镜像制作说明_Openstack window_09

g.系统初始化:设置网络为DHCP

Openstack window 2008 R2 镜像制作说明_Openstack window_10

g.系统初始化:配置系统与OpenStack整合;安装CloudbaseInitSetup_x64.msi;在services.msc去掉Cloud Initialization Service(服务默认开启自启动)身份认证

Openstack window 2008 R2 镜像制作说明_Openstack window_11

Openstack window 2008 R2 镜像制作说明_Openstack window_12

g.系统初始化:开启远程桌面

Openstack window 2008 R2 镜像制作说明_Openstack window_13

g.系统初始化:初始化至此完成,删除临时文件和下载文件;关闭虚拟机。


h.压缩磁盘文件

virt-sparsify --compress /tmp/win2008-work.qcow2 /opt/win2k8r2.qcow2

压缩对比

#之前
[root@compute tmp]# du -sh /tmp/win2008-work.qcow2 
7.3G    /tmp/win2008-work.qcow2
#之后
[root@compute tmp]# du -sh /opt/win2k8r2.qcow2 
3.3G    /opt/win2k8r2.qcow2

至此Openstack's window 2008 R2 镜像已经创建完成可以发布到环境中使用了!

备注:
需要初次创建镜像,请保留/tmp/win2008-work.qcow2
如需修改可以通过virsh start win2k8-work启动实例来修改,然后重复H步骤