When you use Windows Preinstallation Environment (Windows PE) to perform an p_w_picpath capture operation of a non-U.S. English version of a Microsoft Windows operating system, the reference computer does not start Windows PE. Instead, the system starts the operating system mini-setup process. 當你使用winpe抓取一個非英文版的windows鏡像時,相關電腦并沒有啟動PE,而是啟動了一個最小安裝進程(通常就是Sysprep后的設定)
Note This problem also occurs when you try to update a non-U.S. English version of a Windows operating system. 注意,這個問題也出現在試圖升級一個非英文版本的windows ?
CAUSE
This problem occurs because the Ztibcdutility.vbs script file runs the Bcdedit.exe tool to update the boot configuration database. The Ztibcdutility.vbs script file expects a response of "Successfully" after the Bcdedit.exe operation. If the primary operating system language is not U.S. English, the returned response does not contain the English word “Successfully." Therefore, the boot configuration database is not appropriately updated. 這個問題出現是因為Ztibcdutility.vbs腳本運行Bcdedit.exe工具來升級啟動配置數據庫。ZtiBcdutility.vbs腳本期望Bcdedit.exe執行后回應一個“Successfully”.如果操作系統不是英文版的,回應里并不包括“successfully”(比如回應“成功”)。因此,啟動配置數據庫并沒有得到正常更新。
RESOLUTION
To resolve this problem, follow these steps:
1.
On the distribution share, double-click the Scripts folder.打開Distribution目錄里的Scripts目錄
2.
Right-click the Ztibcdutility.vbs script file, and then click Edit編輯Ztibcdutility.vbs.
3.
Locate the following code that contains the CreateNewRamDiskEntry function.If iRetVal <> Failure ThenarrTemp = split(iRetVal, " ")sNewGuid = arrTemp(2)ElseCreateNewRamDiskEntry = iRetVal Exit FunctionEnd If
Delete the original code, and then use the following code to replace it.If iRetVal <> Failure ThenDim aGuidTemp
arrTemp = split(iRetVal, "{")aGuidTemp = split(arrTemp(1), "}")sNewGuid = "{" & aGuidTemp(0) & "}"ElseCreateNewRamDiskEntry = iRetVal Exit FunctionEnd If
4.
Locate the RunBCDEdit function.
5.
Use the following code to replace the original RunBCDEdit function. Function RunBcdEdit (sCommand, bCapture)Dim iRetVal, oExec, sLine,oExec1, sLine1,arrTemp1Dim resBcdEdit = oEnv.Item("SystemRoot") & "\system32\bcdedit.exe" If not oFSO.FileExists(sBcdEdit) ThenSetBcdError ("Unable to locate bcdedit.exe")RunBcdEdit = FailureExit FunctionEnd IfsCommand = sBcdEdit & " " & sCommandSet oExec = oShell.Exec(sCommand)sLine = oExec.StdOut.ReadLineif bCapture = True TheniRetVal = sLineElseiRetVal = SuccessEnd IfRunBcdEdit = iRetVal
End Function
?
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. ?
MORE INFORMATION
Steps to reproduce the problem重現步驟
Method 1
1.
In Windows PE, configure a Task Sequence to capture an operating system.使用TS配置抓取鏡像
2.
Deploy a non-U.S. English version of a Windows operating system.
After the System Preparation (Sysprep) step occurs, the computer should restart Windows PE. Instead, the computer starts the operating system mini-setup process.部署一個非英文版的windows,Sysprep后重啟系統
Method 2
1.
Start a Lite Touch Installation from an existing non-U.S. English version of a Windows operating system.在一個非英文版的系統里啟動LTI
2.
After the "Apply Windows PE" step occurs, the computer should restart Windows PE. However, the computer restarts the current operating system.“Apply windows pe”步驟發生,電腦沒有重啟PE,卻重啟了原來的操作系統