本文主要介紹ECS執行個體使用的Windows系統啟用失敗的原因以及解決方案。
可能原因
Windows系統ECS執行個體預設配置啟用指令碼,正常情況下,執行個體能夠與KMS伺服器通訊來啟用系統。但是可能因為以下原因導致啟用失敗:
Software Protection異常導致啟用失敗
問題現象
使用slmgr -ato
命令啟用Windows系統時,系統出現以下錯誤。
運行“slui.exe 0x2a 0x80070002”以顯示錯誤文本。
系統顯示類似如下。
問題原因
檢測發現Software Protection未啟動,Software Protection未開啟會影響系統啟用。
解決方案
修改註冊表需要對Windows作業系統有一定瞭解,為了避免註冊表誤操作帶來的系統問題或資料丟失,修改註冊表前,建議您務必對系統硬碟和資料盤建立快照。具體操作,請參見建立一個雲端硬碟快照。
遠程登入到Windows系統的ECS執行個體。
具體操作,請參見串連Windows執行個體。
單擊左下角伺服器管理員表徵圖,在頁面右上方選擇工具>服務,找到並雙擊Software Protection。
在彈出的視窗選擇啟動。
說明如果Software Protection服務啟動異常或者啟動時服務丟失,按照以下方法來重建Software Protection服務。
運行
regedit
命令,開啟註冊表,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvc
,右鍵選擇匯出,備份當前檔案到C:\sppsvc_bak.reg
。在相同版本的正常ECS執行個體上採用上述方法,將
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvc
匯出為“sppsvc_good.reg”。將上一步驟中得到的“sppsvc_good.reg”檔案拷貝到問題機器,然後雙擊此檔案。當系統提示您是否確認匯入註冊表時,單擊是。之後會有提示說明已經成功匯入註冊表。啟動服務後再次嘗試啟用。
如果失敗,請將雙擊之前備份的
C:\sppsvc_bak.reg
檔案重新導回到系統。
網路異常導致啟用失敗
問題現象
系統案頭右下角出現“Windows 不是正版”的提示。根據如何使用KMS網域名稱啟用VPC網路中的Windows執行個體進行手動啟用時,出現以下錯誤提示。
0xC004F074 軟體授權服務報告無法啟用電腦,Key Management Service(KMS)不可用。
系統顯示類似如下。
問題原因
出現這個報錯一般都是由於伺服器到KMS之間的網路存在問題,導致伺服器無法跟KMS進行通訊。網路存在問題可能是由於Windows系統的ECS執行個體中系統防火牆、IP安全性原則或者其他網路安全管理軟體阻斷了伺服器與ECS啟用伺服器之間的通訊導致的。
ECS啟用伺服器使用kms.cloud.aliyuncs.com網域名稱、TCP協議以及1688連接埠。
解決方案
在C:\Windows\System32\drivers\etc\hosts檔案中添加<ECS啟用伺服器IP地址> kms.cloud.aliyuncs.com,確保ECS啟用伺服器的IP地址能夠解析。
說明可以通過
ping kms.cloud.aliyuncs.com
命令擷取ECS啟用伺服器IP地址。查看系統防火牆是否對kms.cloud.aliyuncs.com的1688 TCP連接埠做了攔截。如果您的防火牆內設定了攔截1688 TCP連接埠的出入站規則,您需要右鍵選擇刪除該規則。
查看出入站規則,請參見設定Windows執行個體遠端連線防火牆中的添加連接埠規則章節。
查看是否配置了IP安全性原則,阻斷了對kms.cloud.aliyuncs.com解析出的IP的訪問。如果有相關策略,對該策略進行刪除。
查看IP安全性原則,請參見伺服器ping外網提示一般故障處理方法中查看是否設定了IP安全性原則章節。
查看是否有其他安全軟體對kms.cloud.aliyuncs.com的1688 TCP連接埠的訪問做了攔截。
執行
route print
命令查看伺服器內部的路由是否正常,如果缺失內網路由需要手動加上。完成上面的排查後,在執行個體中執行
telnet kms.cloud.aliyuncs.com
命令,完成以後再嘗試重新啟用執行個體。
伺服器時鐘不同步導致啟用失敗
問題現象
使用slmgr -ato
命令啟用Windows系統時,提示啟用失敗。
問題原因
伺服器時鐘需要跟KMS伺服器的時鐘一致,如果時鐘出現偏差也會導致啟用失敗。
解決方案
您可以在系統案頭右下角確認當前系統時間是否正常。如果確認系統時間明顯有很大偏差,您可以在系統案頭右下角手工修改系統時間配置,也可以通過以下命令同步時鐘,同步完成以後再重新啟用。
net start W32Time
w32tm /resync
系統返回類似如下。
磁碟空間滿了導致啟用失敗
問題現象
嘗試啟用的時候,提示“找不到產品”。
問題原因
出現這個報錯可能是伺服器的系統硬碟空間滿了,導致沒有足夠的空間用於啟用。
解決方案
清理C盤釋放磁碟空間,再次重新手動啟用即可。
啟用碼不正確導致啟用失敗
問題現象
啟用的時候報錯,錯誤碼為“C004F015”。
問題原因
這種情況可能是由於系統使用的啟用碼跟系統的版本不匹配,一般都是人為啟用修改導致的。
解決方案
參見微軟官方資訊,根據作業系統的實際版本來查詢啟用碼。
執行
slmgr /ipk <$Setup_Key>
替換匹配的啟用碼,然後執行slmgr -ato
命令啟用系統。說明<$Setup_Key>為系統啟用碼。