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. 當(dāng)你使用winpe抓取一個(gè)非英文版的windows鏡像時(shí),相關(guān)電腦并沒(méi)有啟動(dòng)PE,而是啟動(dòng)了一個(gè)最小安裝進(jìn)程(通常就是Sysprep后的設(shè)定)
Note This problem also occurs when you try to update a non-U.S. English version of a Windows operating system. 注意,這個(gè)問(wèn)題也出現(xiàn)在試圖升級(jí)一個(gè)非英文版本的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. 這個(gè)問(wèn)題出現(xiàn)是因?yàn)閆tibcdutility.vbs腳本運(yùn)行Bcdedit.exe工具來(lái)升級(jí)啟動(dòng)配置數(shù)據(jù)庫(kù)。ZtiBcdutility.vbs腳本期望Bcdedit.exe執(zhí)行后回應(yīng)一個(gè)“Successfully”.如果操作系統(tǒng)不是英文版的,回應(yīng)里并不包括“successfully”(比如回應(yīng)“成功”)。因此,啟動(dòng)配置數(shù)據(jù)庫(kù)并沒(méi)有得到正常更新。
RESOLUTION
To resolve this problem, follow these steps:
1.
On the distribution share, double-click the Scripts folder.打開(kāi)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重現(xiàn)步驟
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.部署一個(gè)非英文版的windows,Sysprep后重啟系統(tǒng)
Method 2
1.
Start a Lite Touch Installation from an existing non-U.S. English version of a Windows operating system.在一個(gè)非英文版的系統(tǒng)里啟動(dòng)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”步驟發(fā)生,電腦沒(méi)有重啟PE,卻重啟了原來(lái)的操作系統(tǒng)