Welcome to TechNet Blogs Sign in | Join | Help

News

  • Locations of visitors to this page Todos los mensajes publicados en este blog son proporcionados "como están" sin garantías de ninguna clase, y no otorgan ningún derecho. Scripts de ejemplo eventualmente publicados en este blog están sujetos a las condiciones especificadas en http://www.microsoft.com/info/cpyright.htm. Disclaimer: All postings are provided "AS IS" with no warranties, and confer no rights. This weblog does not represent the thoughts, intentions, plans or strategies of Microsoft. Because a weblog is intended to provide a semi-permanent point-in-time snapshot, you should not consider out of date posts to reflect current thoughts and opinions.
La máquina de referencia no es capaz de arrancar Windows PE cuando se intenta realizar una captura de imagen en un sistema operativo Windows con un idioma diferente a la versión US.English

Dado que muchos de nuestros sistemas están en otros idiomas diferentes al inglés (español fundamentalmente) este es una situación que se nos puede presentar con facilidad.

Para solventar esta situación se ha publicado el artículo referente a MDT 2008 al que se puede acceder desde http://support.microsoft.com/?id=952573

En resumen, este error se debe a que el script Ztibcdutility.vbs se queda esperando un “Successfully” tras la ejecución de BcdEdit y si el sistema no esta en US.English esto no ocurre, por lo que la fase de edición del arranque no es correctamente actualizada.

Para solucionarlo habrá que modificar el script Ztibcdutility.vbs del siguiente modo:

1.     En MDT 2008 en la carpeta de distribución abrir la carpeta "scripts".

2.     Editar el script Ztibcdutility.vbs

3.     Localizar el código que contiene la función CreateNewRamDiskEntry

If iRetVal <> Failure Then

            arrTemp = split(iRetVal, " ")

             sNewGuid = arrTemp(2)

      Else

            CreateNewRamDiskEntry = iRetVal     

              Exit Function

      End If     

 

Borrar el código original y cambiarlo por el siguiente:

 

If iRetVal <> Failure Then

            Dim aGuidTemp

arrTemp = split(iRetVal, "{")

            aGuidTemp = split(arrTemp(1), "}")

            sNewGuid = "{" & aGuidTemp(0) & "}"

      Else

            CreateNewRamDiskEntry = iRetVal     

              Exit Function

      End If     

4.     Localizar la function RunBCDEdit

5.     Utilizar el siguiente código para reemplazar la función original de RunBCDEdit

 

Function RunBcdEdit (sCommand, bCapture)

 Dim iRetVal, oExec, sLine,oExec1, sLine1,arrTemp1

 Dim re

       sBcdEdit = oEnv.Item("SystemRoot") & "\system32\bcdedit.exe"

       If not oFSO.FileExists(sBcdEdit) Then

            SetBcdError ("Unable to locate bcdedit.exe")

            RunBcdEdit = Failure

            Exit Function

      End If

      sCommand = sBcdEdit & " " & sCommand

      Set oExec = oShell.Exec(sCommand)

      sLine = oExec.StdOut.ReadLine

      if bCapture = True Then

          iRetVal = sLine

      Else

          iRetVal = Success

      End If

       RunBcdEdit = iRetVal

End Function

 

Espero que esta información ayuda a solucionar algunas situaciones comprometidas a la hora de preparar una instalación distribuida de nuestros sistemas en otros idiomas.

 

Raúl del Moral Guirado

Tecnico de Soporte Premier España

 

Posted: Tuesday, August 19, 2008 8:20 AM by esplat

Comments

No Comments

Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker