kvm镜像制作Windows篇
virto驱动下载
-
在宿主机新增yum仓库并下载驱动
wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo yum install virtio-win -y
-
查看下载的驱动文件
ll /usr/share/virtio-win/
,安装windows server2016需要的virtio驱动为virtio-win_servers_amd64.vfd,vfd为软驱镜像对应的格式。
安装虚拟机
-
新建磁盘文件
qemu-img create -f qcow2 ws16.qcow2 20G
-
确定网络方案,选择桥接或NAT方案后,在宿主机预先配置好相应的网卡和网络配置。配置方法和其他文档中相同。
-
按照下面命令模板新建并启动虚拟机,准备开始安装操作系统。
命令中的以下选项按照实际情况做相应修改
- n、vcpus、ram:虚拟机名称、cpu数量、内存容量
- c:OS的安装镜像路径
- --disk path=/home/vms/ws16.img:该path为第一步新建的qcow2镜像路径
- --network bridge=br0,model=virtio:如果宿主机桥接的网络接口不叫br0,需要做相应修改
- --disk path=/usr/share/virtio-win/virtio-win_servers_amd64.vfd,device=floppy:该参数为虚拟机增加了软驱,即本文刚开始下载的virto的驱动镜像路径,一般不需要修改
virt-install \ -n ws16 \ --vcpus=4 \ --ram=4048 \ --os-type=windows \ --os-variant=win2k16 \ -c /mnt/hgfs/文稿/cn_windows_server_2016_updated_feb_2018_x64_dvd_11636703.iso \ --disk path=/usr/share/virtio-win/virtio-win_servers_amd64.vfd,device=floppy \ --disk path=/home/vms/ws16.qcow2,format=qcow2,bus=virtio \ --graphics vnc,listen=0.0.0.0 \ --network bridge=br0,model=virtio \ --noautoconsole
-
连接vnc开始安装。vnc连接的IP为宿主机IP,端口可以用
ss -tlnp|grep kvm
命令在宿主机上查看监听情况,一般从5900开始,如果已经被占用则向后递增。注意:客户端的视频清晰度需要从自动改为高,否则客户端连接时可能报错。 -
进入图形安装界面后,和常规安装过程只有一处需要注意,在选择安装磁盘时,默认看不到磁盘,需要点击加载virto驱动,然后浏览,选择软驱(盘符A),从中选择对应的操作系统驱动。然后即可看到磁盘。
选择SCSI驱动,另一个是网卡驱动
-
iso安装完成后,虚拟机会关闭,此时vnc会断开。用
virsh list --all
命令确认如果虚拟机关了,需要手动开启virsh start 虚拟机名称
,并重新连接vnc,完成安装。 -
完成安装后,可以看到磁盘已经正常使用了virtio控制器,但网卡驱动还需要手动安装。
安装网卡驱动
设备管理器-以太网控制器-右键-更新驱动程序-浏览-浏览-选择和刚才安系统时一样的软盘路径
安装即可
安装成功后网络正常通信
安装cloudbase-init
官网安装包下载地址,在虚拟机运行安装。
外部参考
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。