準備工作
-
windows原版鏡像,可以在msdn下載。
-
DISM++,用于DIY以及優化wim鏡像。
-
虛擬化驅動:VirtIO(KVM驅動),Xen驅動。
-
下載gunzip for windows,備用下載點?;蛘吣阋部梢灾苯尤グ惭bCmder(官網),其自帶有
gzip(順便安利一下這個可以在Win下執行大多數linux命令的超好用的命令行程序)。 -
在計算機上安裝Hyper-V(Win8/10開啟Hyper-V教程),準備用于對制作好的vhd映像進行測試。
開始制作
1、制作可用的鏡像文件
提取準備好的Windows原版鏡像中的sourcesinstall.wim文件,解壓或直接掛載虛擬光驅都行,提取該文件到E:install.wim。
創建一個vhd虛擬磁盤,示例:盤符為V,路徑為D:win.vhd,大小為5120M。
首先以管理員身份運行命令提示符或者PowerShell,然后執行以下命令:
diskpart# 以下命令實際上可以復制粘貼一次性執行,無需分條CREATE VDISK FILE=”D:win.vhd” TYPE=FIXED MAXIMUM=5120SELECT VDISK FILE=”D:win.vhd”ATTACH VDISKCLEANCREATE PARTITION PRIMARYFORMAT FS=NTFS QUICKASSIGN LETTER=V
在D盤創建一個文件夾D:MOUNT,打開DISM++,點擊:文件–>掛載映像–>點第一個瀏覽,找到E:install.wim–>點第二個瀏覽,找到D:MOUNT–>不選中只讀模式–>確定。
在DISM++里進行系統設置優化(建議關閉UAC)、安裝語言包、添加先前下載好的虛擬化驅動等。
完成后,點文件–>另存為映像–>保存在D:install.wim,等待任務完成。
點擊:文件–>釋放映像–>點第一個瀏覽,找到D:install.wim–>點第二個瀏覽,找到V:–>只選中添加引導和格式化–>確定–>在彈出的“引導修復-BIOS”對話框中點擊“更多”–>找到盤符為V的磁盤分區–>確定。
最后等待完成!
2、設置系統的注冊表
在自己的電腦上打開注冊表編輯器regedit,選中HKEY_LOCAL_MACHINE分支,點擊:文件->加載配置單元。
在文件瀏覽器中選擇V:WindowsSystem32configSYSTEM,項名稱填一個好找又不和目前項相同的,例如A_SYSTEM,然后更改如下鍵值以開啟遠程桌面服務。
繼續按照先前步驟加載配置單元V:WindowsSystem32configSOFTWARE,項為A_SOFTWARE,然后更改如下鍵值以關閉 Ctrl+Alt+Del登陸。
選中我們加載的配置單元,點擊:文件->卸載配置單元,將A_SYSTEM和A_SOFTWARE卸載。
3、制作預應答文件
下載Microsoft Windows AIK,建議安裝在剩余空間較大的磁盤分區,因為創建編錄文件的時候會自動掛載鏡像。
貌似僅適用于制作Windows 7以及Server 2008 R2的,如果是其他系統不知能不能制作,也可以嘗試直接照搬我提供的預應答文件。
安裝完成后,打開“Windows系統映像管理器”,點擊:文件->選擇Windows映像,然后選擇我們已經在前面的步驟中優化好的 wim文件,然后會提示你需要創建編錄文件,選是即可。
等待加載完成,然后仿照【這個預應答文件】進行制作(文件內容見附錄),這個預應答文件將會設置用戶名Administrator的密碼為lolico.moe123。軟件的具體使用方法可以百度一下有很多范例,講起來比較復雜,理解能力強的人看一看就會用,因此此處不再贅述。如果你要制作的是Win7或者Server2008R2的64位系統,也可以使用此軟件打開,然后在這個文件的基礎上進行修改。
制作完成之后保存預應答文件為unattend.xml,然后放在V:WindowsPanther目錄下(如果沒有目錄就自行新建)。
在我的電腦中右擊V盤,彈出。
4、對制作好的 dd 包進行測試
先將你制作好的vhd復制一份,用復制的這份來測試,這樣的話如果出現了錯誤就不用再重新制作,可以繼續修改。
打開Hyper-V,點擊:操作->新建->虛擬機。
名稱和位置隨便選,指定代數選擇“第一代”,內存分配你覺得足以啟動系統即可,配置網絡不用管;連接虛擬硬盤選擇“使用現有虛擬磁盤”,接著指定我們剛才制作的vhd虛擬磁盤,之后的設置都維持默認即可。
啟動虛擬機,觀察是否有進行自動安裝等操作,成功的話就可以關掉虛擬機并刪掉使用過的vhd了。
4、將dd包部署在服務器上
使用gunzip工具壓縮打包壓縮D:win.vhd,這里提供兩種方法:
-
#使用gunzip for windows
-
將 gunzip 程序目錄中的bin目錄里的所有文件復制到%WINDIR%/SYSTEM32,接著在命令提示符內進入vhd所在目錄,執行gzip.exe -k9 win.vhd。
-
#使用cmder自帶gunzip
-
在cmder中進入vhd所在目錄,執行gzip -k9 win.vhd。