# 制作OpenStack Windows镜像 ## 前言 因为win默认不支持virtio驱动,而通过openstack管理虚拟机是需要virtio驱动的。需要两个virtio驱动,一个是硬盘的,一个是网卡 本文所用镜像:centos7、windows7 ## 使用VMware制作 使用vmware,注意开启硬件虚拟化  ### 检查系统是否支持kvm ```shell egrep "(vmx|svm)" /proc/cpuinfo ``` 正常有回显  PS:如果CentOS7安装的不是桌面版的,需要安装以下包,安装完成后执行startx命令启动桌面 ```shell yum –y install xorg* gnome* glx* reboot startx ``` ### 安装所需软件包 ```shell yum install tigervnc vnc* -y #安装vnc yum install qemu-kvm qemu-img -y #安装qemu ``` ### 创建软链 ```shell ln -s /usr/libexec/qemu-kvm /usr/bin/kvm ln -s /usr/bin/qemu-img /usr/bin/kvm-img ``` ### 安装virtio驱动 ```shell wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo yum install virtio-win ``` 下载后驱动文件存在于`/usr/share/virtio-win/`下 ### 制作磁盘文件(.qcow2) ### 磁盘大小根据系统需求调整 ```shell qemu-img create -f qcow2 windows7.qcow2 20G ``` ### 启动基于windows7的kvm虚拟机,映射驱动器到vfd软盘 ```shell kvm -m 1024 -cdrom windows7.iso -drive file=windows7.qcow2,if=virtio,boot=on -fda virtio.vfd -boot d -nographic -vnc :3 #这一步如果开机vnc连接后一直黑屏将-nographic删掉 ``` ### 进行vnc连接 终端输入`vncviewer`调出vnc,输入`127.0.0.1:3`进行连接   ### 安装系统 选择自定义安装  默认是识别不了硬盘的,选择加载驱动程序  从软盘中选择相应的硬盘驱动   接下来就是正常的安装系统操作,安装完成后关闭kvm虚拟机 ### 安装网卡驱动 加载网卡驱动并再次启动kvm虚拟机 ```shell kvm -m 1024 -drive file=windows7.qcow2,if=virtio,boot=on -cdrom virtio.iso -net nic,model=virtio -net user -boot c -nographic -vnc :3 ```  右键选择更新驱动并选择浏览计算机查找  选择光驱中的网络驱动(NetKvm)    至此已经完成了硬盘驱动(viostor)和网卡驱动(NetKvm)的安装,接下来就是将qcow2转换为raw文件,上传至openstack上 ### 上传至openstack ```shell openstack image create "your_name" --file Windows7.raw --disk-format raw --container-format bare –public ``` 最后修改:2021 年 09 月 02 日 © 允许规范转载 赞 1 如果觉得我的文章对你有用,请随意赞赏