製做HYPER-V的鏡像仍是很簡單的,基本自動化。ios
參考資料看Cloudbase網站的blog文章(https://cloudbase.it/create-windows-openstack-p_w_picpaths/)基本沒用。真正有用的在這裏:https://github.com/cloudbase/windows-openstack-imaging-tools。git
基本步驟彙總以下(製做鏡像的主機是windows server 2012 r2,安裝完HYPER-V的,全是在powershell中運行):github
git clone https://github.com/cloudbase/windows-openstack-imaging-tools.git pushd windows-openstack-imaging-tools Import-Module .\WinImageBuilder.psm1 # The Windows p_w_picpath file path that will be generated $windowsImagePath = "C:\p_w_picpaths\my-windows-p_w_picpath.vhdx" # The wim file path is the installation p_w_picpath on the Windows ISO # 這一步須要把windows iso文件展開,把其中sources目錄下的install.wim文件拷出來 $wimFilePath = "D:\Sources\install.wim" # Every Windows ISO can contain multiple Windows flavors like Core, Standard, Datacenter # Usually, the first p_w_picpath version is the Core one $p_w_picpath = (Get-WimFileImagesInfo -WimFilePath $wimFilePath)[0] #這個文件仍是從國內下吧,沒有×××很慢 $virtIOISOPath = "C:\p_w_picpaths\virtio.iso" # Note(avladu): Do not use stable 0.1.126 version because of this bug https://github.com/crobinso/virtio-win-pkg-scripts/issues/10$virtIODownloadLink = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.133-2/virtio-win.iso" # Download the VirtIO drivers ISO from Fedora # 若是單獨下載完了,這一步能夠省略 (New-Object System.Net.WebClient).DownloadFile($virtIODownloadLink, $VirtIOISOPath) New-WindowsOnlineImage -WimFilePath $wimFilePath -ImageName $p_w_picpath.ImageName ` -WindowsImagePath $windowsImagePath -Type 'HYPER-V' -VirtioISOPath $virtIOISOPath ` -SizeBytes 30GB -CpuCores 4 -Memory 4GB -SwitchName 'external' 執行上一條命令後,製做程序開始,可能比較漫長,等待自動啓動的虛擬機自動關閉便可 Powershell基本輸出以下: Windows online p_w_picpath generation started at: 2017/9/20 14:25:21 Image generation started at: 2017/9/20 14:25:31 Copying: C:\Users\Administrator\windows-openstack-imaging-tools\UnattendResources G:\ Downloading Cloudbase-Init... Applying Windows p_w_picpath "E:\Sources\install.wim" in "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 正在應用映像 #這個階段比較漫長 [==========================100.0%==========================] 操做成功完成。 已成功建立啓動文件。 按規定設備無效。 運行 "bcdedit /?" 得到命令行幫助。 參數錯誤。 警告: BCDEdit failed: bootmgr device locate 按規定設備無效。 運行 "bcdedit /?" 得到命令行幫助。 參數錯誤。 警告: BCDEdit failed: default device locate 按規定設備無效。 運行 "bcdedit /?" 得到命令行幫助。 參數錯誤。 警告: BCDEdit failed: default osdevice locate Adding drivers from H: Adding drivers from "H:\balloon\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\balloon\2k8r2\AMD64\balloon.inf: 驅動程序包已成功安裝 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\netkvm\2k8r2\AMD64\netkvm.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\pvpanic\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\pvpanic\2k8r2\AMD64\pvpanic.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\qxl\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\qxl\2k8r2\AMD64\qxl.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\vioinput\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\vioinput\2k8r2\AMD64\vioinput.inf: 驅動程序包已成功安裝。 操做成功完成。 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\viorng\2k8r2\AMD64\viorng.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\vioscsi\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\vioscsi\2k8r2\AMD64\vioscsi.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\vioserial\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\vioserial\2k8r2\AMD64\vioser.inf: 驅動程序包已成功安裝。 操做成功完成。 Adding drivers from "H:\viostor\2k8r2\AMD64" to p_w_picpath "G:\" 部署映像服務和管理工具 版本: 6.3.9600.16384 映像版本: 6.1.7600.16385 正在搜索要安裝的驅動程序包... 找到 1 個要安裝的驅動程序包。 正在安裝第 1 個,共有 1 個 - H:\viostor\2k8r2\AMD64\viostor.inf: 驅動程序包已成功安裝。 操做成功完成。 Image generation finished at: 2017/9/20 15:12:01