这个例子将使用 virt-install 命令和 KVM hypervisor程序创建一个 Windows Server 2012 qcow2
镜像。
按照以下步骤准备安装:
从微软网站(需要注册)下载 Windows Server 2012 ISO 安装文件。
从Fedora网站下载已签名的 VirtIO驱动ISO 文件。
创建一个 30GB 的 qcow2 镜像:
$ qemu-img create -f qcow2 ws2012.qcow2 30G
使用 virt-install 命令安装 Windows Server 2012
# virt-install \
--name ws2012 --ram 4096 --vcpus 2 \
--network network=default,model=virtio \
--disk path=ws2012.qcow2,format=qcow2,device=disk,bus=virtio \
--cdrom /path/to/en_windows_server_2012_x64_dvd.iso \
--disk path=/path/to/virtio-win-0.1-XX.iso,device=cdrom \
--graphics vnc,listen=0.0.0.0,port=5900
使用 virt-manager 或 virt-viewer 连接到 VM 并开始 Windows 安装。
启用 VirtIO 驱动。默认情况下,Windows安装程序是无法检测到磁盘。
在提示选择安装目标时,加载VirtIO SCSI
驱动和网络驱动
。单击Load driver(加载驱动程序)
并浏览文件系统。
选择 E:\virtio-win-0.1XX\viostor\2k12\amd64
文件夹。Windows安装程序会显示要安装的驱动程序列表。
选择 VirtIO SCSI 驱动程序。
单击Load driver
并浏览文件系统,选择 E:\NETKVM\2k12\amd64
文件夹。
选择网络驱动程序,并继续安装。安装完成后,VM(虚拟机)将重新启动。
在提示时为管理员定义密码。
以管理员身份登录并启动命令窗口。
通过运行以下命令完成 VirtIO 驱动的安装:
C:\pnputil -i -a E:\virtio-win-0.1XX\viostor\2k12\amd64\*.INF
为了允许 Cloudbase-Init 在实例启动期间运行脚本,请将 PowerShell执行策略设置为无限制:
C:\powershell
C:\Set-ExecutionPolicy Unrestricted
下载和安装 Cloudbase-Init:
C:\Invoke-WebRequest -UseBasicParsing https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi
C:\.\cloudbaseinit.msi
在configuration options(配置选项)
窗口中,更改以下设置:
Username: Administrator
要配置的网络适配器:Red Hat VirtIO Ethernet Adapter
Serial port for logging: COM1
安装完成后,在 Complete the Cloudbase-Init Setup Wizard
窗口中,选择 Run Sysprep
和 Shutdown
复选框,然后单击Finish
。
等待虚拟机关闭。
你的镜像已准备好了,上传到镜像服务:
$ openstack image create --disk-format qcow2 --file ws2012.qcow2 WS2012