https://docs.openstack.org/image-guide/windows-image.html

这里以 windows 2008为例:

准备工作:

1准备好windows 2008 r2 ISO镜像文件

2 下载VirtIO网卡驱动 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

官网地址:https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

创建KVM虚拟机

qemu-img create -f qcow2 /vm/win2008.qcow2 15G

virt-install --connect qemu:///system  --name win2008 --ram 4096 --vcpus 2 --network network=default,model=virtio --disk path=/vm/win2008.qcow2,format=qcow2,device=disk,bus=virtio --cdrom /usr/local/src/cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso --disk path=/usr/local/src/virtio-win-0.1.141.iso,device=cdrom, --vnc --vncport=5993 --vnclisten=0.0.0.0 --os-type windows --os-variant win2k8 --boot cdrom

引导失败:

处理方法:  思路选择确定boot的类型,再查看光盘的盘符顺序

把硬盘与安装镜像的dev盘符调换下

virsh destroy ws2008

vi /etc/libvirt/qemu/ws2008.xml

virsh define /etc/libvirt/qemu/ws2008.xml

virsh start s2008

再重新安装

把virtio-win-0.1.141-2.iso 与 cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_vl_build_x64_dvd_617396.iso  dev盘符调换下

<boot dev='hd'/>  改成  <boot dev='cdrom'/>   ,安装好后,再把这个参数改回来

重启时从CDROM启动,即不要按任何键

安装网卡驱动

然后用vnc连接   KVM_IP:5992

手动安装相关软件

安装Cloudbase-Init

下载 安装cloudbase-init安装 https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi

双击CloudbaseInitSetup_Stable_x64.msi

  • Username: Administrator
  • Network adapter to configure: Red Hat VirtIO Ethernet Adapter
  • Serial port for logging: COM1

清理完成后,系统自动关机

如果sysprep标准化关机有问题,也可以手动执行以下命令进行sysprep标准化。

c:\windows\system32\sysprep\sysprep  /oobe  /generalize  /quiet  /shutdown

配置Cloudbase-init工具

  1. 在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”的最后一行,增加配置项“netbios_host_name_compatibility=false”,使Windows系统的hostname长度支持到63个字符。

     说明:

    NetBIOS长度受Windows系统本身的限制还只支持小于等于15个字符。

  2. 在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”中增加配置项“metadata_services=cloudbaseinit.metadata.services.httpservice.HttpService”,配置agent访问openstack数据源。
  3. (可选)当cloudbase-init为0.9.12及以上版本时,用户可以自定义配置密码长度。在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”里修改配置项“user_password_length”的值,完成密码长度的自定义配置。
  4. (可选)选择密码注入方式首次登录时,系统默认强制用户修改登录密码,若用户根据个人意愿,不需要修改首次登陆使用的登录密码时,可关闭此功能。在cloudbase-init安装路径的配置文件“C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf”配置里增加配置项“first_logon_behaviour=no”。
  5. 为了防止镜像中DHCP租期过长导致创建的云服务器无法正确的获取地址,用户需要释放当前的DHCP地址。

    在windows命令行中,执行以下命令释放当前的DHCP地址。

    ipconfig /release

上传镜像:

. /etc/kolla/admin-openrc.sh

openstack image create --disk-format qcow2 --file /vm/ws2008.qcow2 WS2008 --public

virsh destroy vm_name     #强制关闭虚拟机

virsh undefine vm_name     #删除虚拟机

qemu虚拟机配置文件目录:

/etc/libvirt/qemu/

应用修改后的xml文件

virsh define /etc/libvirt/qemu/centos7.xml

查看容器的启动参数:

在容器外部,物理机上,可以用docker inspect查看或者,docker inspect container

建虚拟机实例:

指定密码,用户即上面设置的Username

元数据项,添加一个

admin_pass   值为你的密码,密码要符合复杂性要求

第一次登录系统会要求你更改密码

手动制作openstack windows镜像的更多相关文章

  1. 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

    这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...

  2. 手动制作openstack CentOS 镜像

    https://docs.openstack.org/image-guide/centos-image.html This example shows you how to install a Cen ...

  3. ubuntu openstack windows 镜像制作

    openstack  windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...

  4. 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)

    这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...

  5. openstack windows 2008镜像 制作

    openstack windows 2008镜像 制作 openstack centos6 centos7 kvm 镜像制作 http://www.cnblogs.com/elvi/p/7922421 ...

  6. 使用ISO文件制作openstack使用的coreOS镜像

    OpenStack源码交流群: 538850354 本篇文章是使用coreOS ISO文件手动制作openstack使用的qcow2镜像文件,关于coreOS的介绍,可以看这里 使用服务器:cento ...

  7. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

  8. 用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos7.2镜像,放到/iso目录下 然后用OZ工具制作openstack的镜像 1.安装l ...

  9. openstack导入镜像

    本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...

随机推荐

  1. 实现简单的shell sed替换功能

    通过脚本传参数可以实现替换 # -*-coding:utf-8-*- # Author:sunhao import sys f = open('yesterday','r',encoding='utf ...

  2. day 46 前端基础 基本框架

    注意一点 使用绝对路径的时候 在pxm里 打开显示不了图片 可以直接找到那个实际的网页去打开 还可能是图片的格式尽量用jpg一 详细解释 <!DOCTYPE html>声明为HTML5文档 ...

  3. Python 基础day4

    整体大纲关于占位符 tpl = "i am %s" % "alex"   tpl = "i am %s age %d" % ("a ...

  4. python点滴:判断字符串是否为合法json格式

    在一些情况下,我们需要判断字符串是否为合法json格式. 思路很简单:尝试对字符串使用json.loads(),如果不是合法json格式,则会抛出ValueError异常. 示例如下: import ...

  5. 2.3 xpath定位

    2.3 xpath定位 前言    在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详 ...

  6. idea 中新建Servlet

    本文转载自 :itellij idea创建javaWeb以及Servlet简单实现  一.创建并设置javaweb工程 1.创建javaweb工程File --> New --> Proj ...

  7. 【转载】 火爆的996.ICU项目正在酝酿开源许可证 禁止996公司使用

    原文地址: https://www.cnbeta.com/articles/tech/832449.htm ---------------------------------------------- ...

  8. 复杂的动态布尔表达式性能评估(2)--Groovy实现

    前言: 规则引擎中, 往往涉及到多个条件构成了复杂布尔表达式的计算. 对于这类布尔表达式, 一是动态可变的(取决于运营人员的设定), 二是其表达式往往很复杂. 如何快速的计算其表达式的值, 该系列文章 ...

  9. qt 内置图标使用

    QToolButton *button = new QToolButton(this); button->resize(100,30); button->setToolButtonStyl ...

  10. 测试那些事儿—浅谈TCP/IP协议

    TCP/IP协议是一系列网络协议的总和,是构成网络通信的核心骨架. TCP/IP的工作原理通俗的讲就是一个主机的数据要经过哪些过程才能发送到对方的主机上. TCP/IP协议采用四层结构,分别为应用层, ...