目录

  1. 单一ISO文件方式
    1. 创建独立的ISO文件
    2. 创建Windows实例
    3. 创建卷
    4. 安装系统
  2. 卷挂载方式
  3. 制作Windows镜像
  4. 问题
  5. 其他
    1. Windows11的安装

OpenStack中利用IOS镜像,创建Windows实例的方法分为两种。一种是将virtio-win驱动和Windows镜像文件利用工具结合成一个IOS文件;另一种是利用Ustack中的卷挂载,预先将virtio-win创建成镜像,然后再利用镜像创建卷,最后将卷挂载到创建好的Windows实例上。

单一ISO文件方式

创建独立的ISO文件

首先下载好Windows 10的ISO镜像【地址】;再下载virtio-win的ISO镜像【地址】。利用解压软件将virtio-win驱动和Windows镜像解压到当前目录,如下图所示。

将virtio-win的文件夹复制到Windows镜像的文件夹中,并改名Drivers。

利用软件将Windows镜像文件夹刻录成ISO文件,这里用的是WinCDEmu【地址】。选中文件夹右键->Build an ISO Image,输入文件名,这样就得到了将Windows和virio-win驱动集成起来的Windows镜像。将此镜像上传,制作成Ustack中的镜像。

创建Windows实例

通过界面也好利用命令行工具也可以,新建一个Windows实例。这里我使用界面,进行演示。

选择镜像时,不要创建新的卷

为实例选择一个合适的规格,这里的Root磁盘选择为0GB,原因是下面将另外挂载卷将系统安装到新的卷上。

选择合适的网络,注意如果有访问外网的需求,子网的DNS需要设置成8.8.8.8或者114.114.114.114。

选择安全组,默认的安全组中ICMP未被启用,所以新建一个安全组里面加入ICMP协议,也更好为了之后的网络测试。

点击创建。等待创建完成,打开VNC界面可以看到如下图。

创建卷

这时先将实例关机(避免安装virtio-win驱动后找不到卷的情况),然后创建一个卷。

编辑卷,使其可以作为启动盘。

然后将卷挂载到之前创建好的实例上。

安装系统

将实例开机,期间过程可能比较长。打开VNC后又进入下图的画面。

点击下一步,进行安装工作。

选择Windows版本,选择Windows 10专业版安装。点击下一步。

选择自定义。

这时因为未加载好驱动程序,会出现下图情况。

选择加载驱动程序。

选择Drivers\NetKVM\w10\amd64,点击确定。

加载驱动程序。

再选择Drivers\viostor\w10\amd64,点击确定。

加载好两个驱动后就如下图所示。如果还是看不到磁盘的话,可以将实例重启。

直接点击下一步,进行Windows的安装。

最后等待系统安装完成。

卷挂载方式

卷挂载的方式和上面的类似,只是需要多创建一个virtio-win镜像。由于缺少界面的支持,所以创建实例的部分要用命令行操作。

1
2
3
4
5
nova boot --flavor 8-8-0 \
--image 41b86403-93e4-4a5a-9e1f-bc81f5ad04cc \
--block-device id=eb2006ba-6416-4b68-b8bf-b358589fba34,source=image,dest=volume,bus=ide,type=cdrom,size=1 \
--nic net-id=7b6c69b5-bfa5-4145-901c-26979103da77 \
wkt-test-win10

其中41b86403-93e4-4a5a-9e1f-bc81f5ad04cc是windows的镜像ID。
eb2006ba-6416-4b68-b8bf-b358589fba34是virtio-win镜像的ID。
7b6c69b5-bfa5-4145-901c-26979103da77是网络的ID。

实例创建成功后,关机。接下来和第一种方式一样,新建一块磁盘,编辑使其可以启动。

然后将新建的卷挂载在实例上。启动实例。进行Windows的安装。

接下来和上面的步骤一致,分别加载两个驱动,然后就可以看到磁盘进行安装。

制作Windows镜像

最后安装完Windows系统的卷,可以将其制作成镜像,这样可以免于下一次的安装。

问题

Windows安装完成后,如果出现下面的情况。

首先在终端中查看是否有IP,如果有IP可以去修改网络连接的DNS,如果没有IP,需要打开设备管理器查看网卡驱动是否正常。

修改DNS。

查看设备管理器中网卡驱动是否正常。

异常的话就手动更新一下。

选择Drivers\NetKVM\w10\amd64文件下,更新驱动。

其他

Windows11的安装

Windows11的安装和Windows10基本一致,可以按照上面的两种方法任意一种进行安装。会出现下图的情况,这是由于Windows 11需要机器支持TPM2.0以及UEFI启动。我们可以通过修改注册表的方式跳过检查。

1.在VNC中按住快捷键Shift+F10打开终端界面。

2.输入regedit打开注册表。

3.找到目录HKEY_LOCAL_MACHINE\SYSTEM\Setup。

4.右击新建一个项,命名为LabConfig。

5.右击新建三个DWORD (32位) 值,分别命名:BypassTPMCheck、BypassRAMCheck、BypassSecureBootCheck,并将这三个值都设置为1。

6.关闭注册表和终端,返回上一级后,重新选择安装版,后续就和上面Windows 10的安装一样,加载上virtio-win的驱动后,就可以安装Windows 11了。注意:选择virtio-win的驱动时,要选择w11目录下的和Windows 11相对应。