無論是winserver 還是win7,win10 其實制作思路都是一樣的,關(guān)鍵是需要完成virtio驅(qū)動的安裝,驅(qū)動程序安裝完成后,需要完成鏡像的初始化,之后就是保存鏡像了
以windows10 鏡像制作為例:
參照openstack官方示例
步驟如下:
需要準(zhǔn)備:windows10的官方鏡像(可以去msdn下載),virtio鏡像官方頁面
單機的kvm 虛擬機創(chuàng)建的環(huán)境
需要用到的指令:qemu-img,virt-install
操作如下:
#創(chuàng)建qcow2磁盤
qemu-img create -f qcow2 /tmp/ws10.qcow2 10G
#創(chuàng)建虛擬機并將創(chuàng)建的qcow2磁盤掛載
virt-install --name windows10 --accelerate --ram 8192 --vcpus=4 --cpu host \
--network network=default,model=virtio \
--disk /opt/iso/cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso,device=cdrom,bus=ide \
--disk /usr/share/virtio-win/[virtio-win-0.1.190.iso,device=cdrom,bus=ide](virtio-win-0.1.190.iso,device=cdrom,bus=ide) \
--disk path=/tmp/ws10.qcow2,format=qcow2,bus=virtio \
--graphics vnc,password="111111",port=5910,listen=[0.0.0.0](0.0.0.0) --noautoconsole --autostart --os-type='windows'
#創(chuàng)建成功后,使用vncviewer連接windows虛擬機,完成win10的初步安裝
在windows虛擬機中,找到掛載的virtio的鏡像,在搜索中輸入w10,安裝搜索到的所有目錄下的win10驅(qū)動

image.png
#使用pnputil命令行安裝
pnputil -i -a D:\Balloon\w10\amd64\balloon.inf
pnputil -i -a D:\NetKVM\w10\amd64\netkvm.inf
pnputil -i -a D:\pvpanic\w10\amd64\pvpanic.inf
pnputil -i -a D:\qemupciserial\w10\qemupciserial.inf
pnputil -i -a D:\qxldod\w10\amd64\qxldod.inf
pnputil -i -a D:\vioinput\w10\amd64\vioinput.inf
pnputil -i -a D:\viorng\w10\amd64\viorng.inf
pnputil -i -a D:\vioscsi\w10\amd64\vioscsi.inf
pnputil -i -a D:\vioserial\w10\amd64\vioser.inf
pnputil -i -a D:\viostor\w10\amd64\viostor.inf
安裝完成后,將windows的防火墻等關(guān)閉,以及windows defender
之后對設(shè)備進行初始化
C:\Set-ExecutionPolicy Unrestricted ##允許系統(tǒng)安裝可執(zhí)行腳本
C:\Invoke-WebRequest -UseBasicParsing https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi
C:\.\cloudbaseinit.msi
執(zhí)行完成之后,會彈窗
選擇對應(yīng)的用戶名,默認為Administrator(可以設(shè)置為別的)

image.png

image.png
最后的頁面一定要都勾選

image.png
等待該虛擬機停機之后,/tmp/ws10.qcow2就是我們做好的鏡像了