Black Screen al instalar Windows 7 Service Pack 1 con el error "0xc0000034" {HowTo}

Windows7SP1RC02[1]Hace poco vimos que hacer para solucionar un problema en la instalación del Service Pack en: Falla la Instalación de Service Pack 1 en Windows 7 y Windows Server 2008 R2 con el error "Service pack installation cant continue"

Hoy vamos a ver que hacer cuando, después de instalar el Service Pack, al reiniciar el equipo nos aparece una pantalla negra con el siguiente mensaje de error:
!! 0xc0000034 !! 142/53007 (_0000000000000000.cdf-ms)

Esto puede ocurrir cuando al instalar el Service Pack, la maquina no reinicia para completar la instalación, instala otros updates y reinicia la maquina. Este issue también puede ocurrir si el Service Pack es instalado simultáneamente con otro update vía WSUS.

Durante la instalación del Service Pack, el servicio de Windows mantiene una lista de las operaciones que realiza. Algunas son ejecutadas inmediatamente y otras solo pueden ser ejecutadas cuando el equipo es reiniciado.

Por esta causa, siempre es recomendado, ejecutar el Service Pack por separado de otros updates; y cuando la instalación indica que necesita reiniciar el equipo hacerlo lo antes posible.

Para resolver este inconveniente con Windows 7 debemos crear y ejecutar un script .vbs para después ejecutar la instalación de Windows 7 Service Pack 1 correctamente.

Para tener en cuenta:

  • Este script .vbs se aplica solo para el código de error 0xc0000034; no debemos usar este script para solucionar problemas de otro tipo de código.
  • Se recomienda seguir este método si es un usuario experto.
  • Para poder seguir este método, se recomienda tener acceso a otro equipo y a un dispositivo de medios extraíble, como una unidad USB.

Utilizamos el otro equipo para crear el archivo de script (.vbs) y copiarlo a la maquina con el problema.

Si no disponemos de otro equipo ni de un dispositivo de medios extraíble, podeos crear el archivo de script (.vbs) en el equipo que tiene el problema. Para ello, tenemos que ejecutar las Opciones de recuperación del sistema, abrimos un símbolo del sistema y, a continuación, iniciamos el Bloc de notas desde el símbolo del sistema. A continuación, tendremos que crear de forma manual el script (.vbs) escribiendo el siguiente texto que mostramos a continuación y después, tendremos que guardar el archivo de script (.vbs) en la unidad de disco duro local.

Para crear el script (.vbs) copiamos y pegamos el texto siguiente en el Bloc de notas:

Dim xmlDoc, node, nodeList, fileName, backupFileName, numberOfPOQNodes
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
If Wscript.Arguments.Count = 0 Then
WScript.echo("Error! No XML file specified.")
Wscript.quit
End If
fileName = WScript.Arguments(0)
backupFileName = Left(fileName, InStrRev(fileName, ".") – 1) & "_backup.xml"
If Not xmlDoc.load(fileName) Then
WScript.echo("Failure loading XML file " & fileName & ".")
Wscript.quit
End If
xmlDoc.save(backupFileName)
Set nodeList = xmlDoc.documentElement.selectNodes("POQ")
numberOfPOQNodes = nodeList.Length
For Each node in nodeList
xmlDoc.documentElement.removeChild(node)
Next
xmlDoc.save(fileName)
Set xmlDoc = Nothing
WScript.echo(numberOfPOQNodes & " POQ nodes removed. Script completed.")

Luego, guardamos como Script.vbs en el dispositivo extraíble, como una unidad USB.

Ahora, reiniciamos el equipo presionando la tecla F8 antes de que aparezca el logotipo de Windows. Si el logotipo de Windows aparece, debemos intentarlo de nuevo esperando hasta que el indicador de inicio de sesión de Windows aparezca, y a continuación cerrar y reiniciar el equipo.

Seleccionamos Reparar el equipo en el área Opciones de arranque avanzadas y, a continuación, presionamos Entrar. Si se nos solicita, seleccionamos la instalación de Windows 7 que se vamos a reparar y, a continuación, hacemos clic en Siguiente.

Seleccionaos el idioma y un método de entrada de teclado y, a continuación, hacemos clic en Siguiente.

Seleccionamos un nombre de usuario, escribimos la contraseña y, a continuación, hacemos clic en Aceptar.

En Opciones de recuperación del sistema, anotamos la letra de la unidad de Windows 7 que aparece en la línea situada debajo de Elija una herramienta de recuperación. Por ejemplo, podemos ver un texto similar al siguiente.
Sistema operativo: Windows 7 en (C:) <VolumeName>
En nuestro ejemplo, la letra de unidad de Windows 7 sería C; entonces en Opciones de recuperación del sistema, hacemos clic en Símbolo del sistema. Insertamos el medio extraíble que contiene el archivo de script (.vbs) que creamos anteriormente en el equipo.

En el símbolo del sistema, buscamos la unidad y el directorio que contiene el archivo de script (.vbs) que creamos anteriormente. Por ejemplo, si hemos guardado anteriormente el archivo script.vbs que creamos en la raíz de una unidad USB y la letra de unidad asociada con la unidad USB debería ser "E", tendremos que escribir el siguiente símbolo del sistema y, a continuación, presionar Entrar.

En el símbolo del sistema, escribimos el comando siguiente y presione Entrar:
Cscript Script.vbs <Letra_unidad_Windows _7>:\Windows\winsxs\pending.xml

De esta forma, el script se ejecutará en el archivo Script.vbs. Una vez finalizada la ejecución del script, puede que aparezca un mensaje similar al siguiente: 2 POQ nodes removed. Script Completed

Ahora ya podemos salir del símbolo del sistema, escribimos Exit y, a continuación, presionamos Entrar. Reiniciamos el equipo. En este momento, la instalación del Service Pack 1 debe realizarse correctamente.

Si con dicho método no resuelve el problema o no se siente seguro con los pasos que hay que seguir, se recomienda realizar lo siguiente: Restaurar el equipo a un estado anterior mediante la opción Restaurar sistema.

Debemos usar este método para restaurar el equipo a un estado de arranque sin el Service Pack instalado. Cuando haya conseguido devolver al equipo a un estado en que se pueda iniciar, deberíamos intentar instalar el Service Pack de nuevo.

Dicha opción restaurará el equipo a un estado anterior en que el problema no se producía y, a continuación, reiniciará el equipo. Para restaurar el sistema, debemos seguir estos pasos:

  • Reiniciar el equipo e iniciar presionando la tecla F8 en nuestro teclado. Debemos presionar F8 antes de que aparezca el logotipo de Windows. Si el logotipo de Windows aparece, debemos intentarlo de nuevo esperando hasta que el indicador de inicio de sesión de Windows aparezca, y a continuación cerrar y reiniciar el equipo.
  • Utilizamos las teclas de dirección para seleccionar Reparar el equipo en el área Opciones de arranque avanzadas y, a continuación, presionamos Entrar. Si se nos solicita, seleccionamos la instalación de Windows 7 que se va a reparar y, a continuación, hacemos clic en Siguiente.
  • Seleccionamos el idioma y un método de entrada de teclado y, a continuación, hacemos clic en Siguiente.
  • Seleccionamos un nombre de usuario, escribimos la contraseña y, a continuación, hacemos clic en Aceptar.
  • En Opciones de recuperación del sistema, hacemos clic en Restauración del sistema.
  • En la ventana Restaurar sistema, hacemos clic en Siguiente.
  • Seleccionamos el punto de restauración de Windows 7 Service Pack 1 si hay alguno disponible. Si no hay ninguno disponible, seleccionamos un punto de restauración que consideremos anterior al problema y, a continuación, hacemos clic en Siguiente.
    Si no aparece ningún punto de restauración, hacemos clic para activar la casilla de verificación Mostrar más puntos de restauración.
  • En la ventana Confirmar punto de restauración, hacemos clic en Finalizar y, a continuación, hacemos clic en .
  • Cuando se nos indique que la operación de Restaurar sistema se ha completado correctamente, hacemos clic en Reiniciar. Tengamos en cuenta que si aparece la pantalla en negro y el mismo mensaje de error, o uno similar, es posible que tengamos que repetir estos pasos y restaurar el equipo a un estado anterior.

Este problema podría ocurrir también en Windows Vista, en cuyo caso los procedimientos que mencionamos anteriormente quedan sin efecto; ya que el workaround es distinto.

Espero que esta información les sea de utilidad. Saludos, Roberto Di Lello.

Roberto Di Lello

Acerca del autor: Roberto Di Lello

Hola, soy Roberto Di Lello trabajo como Consultor Senior en Infraestructura, especializado en Tecnologias Microsoft con mas de 25 años en la industria. He sido galardonado como MS-MVP en Active Directory-Enterprise Mobility por 10 años, y actualmente soy MVP Windows Insider, ademas de poseer otras certificaciones de Microsoft. He trabajado en distintos projectos que involucran Migraciones, Implementaciones, y soporte de Active Directory y Microsoft Exchange, y en los ultimos años me he desempeñado armando equipos de trabajo para diferentes paises y areas de sistemas, he planificado a distintas migraciones a datacenters (ambiente cloud y mixtos). He tenido la oportunidad de participar como miembro del staff de Microsoft en eventos internacionales como ser TechEd NorteAmerica y MS Ignite (NA) al ser Trainer Certificado por Microsoft (MCT).

You May Also Like

6 Comments

  1. Hola.
    Tengo una consulta, tengo un dominio en el cual ya migramos casi todos las DC´s a WS2K8 y si lo falta migrar el DC principal, además tengo algunos dominios childs los cuales dependen del dominio principal. La pregunta es: ¿debo migrar también los DCs de los childs antes de migrar el ultimo DC que tengo con WS2K3 en el dominio root o puedo realizar la migración sin que sean afectados los dominios child?, ¿como afectaría a los dominios child el que suba el nivel de funcionalidad del Forest y del dominio a 2008 en el dominio root?

    Saludos y quedo en espera de tu respuesta.

  2. Gustavo,

    Te paso un link con información que te puede ayudar: Active Directory Functional Levels Technical Reference http://technet.microsoft.com/en-us/library/cc757019(WS.10).aspx

    Ahí te explica bien cada caso de los Functional Level; el tema es que el forest va a impactar en todos los childs, entonces si tenes algun servicio que no funciona con un nivel de 2008 y lo subis vas a tener problemas. Pegale una mirada al link, y cualquier cosa avisame.

    Aprovecho la oportunidad para agradecerte por participar del blog y ayudar a que siga creciendo! Te cuento que hay mucho material en el. Puntualmente estoy desarrollando unos vids sobre migraciones.

    Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitás ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Saludos!

  3. Muchas gracias por la información, la voy a revisar y te aviso cualquier cosa.
    Saludos.

  4. Buenas,

    He seguido tu post paso a paso sobre el problema c0000034 y el unico inconveniente que no acabo de solucionar es porque al escribir el comando ” Cscript Script.vbs :\Windows\winsxs\pending.xml ” me deniega el acceso. Me gustaria saber si podrias solucionarme este problema.

    Muchas gracias de antemano

  5. Fran, disculpa mi demora en contestar pero estuve medio complicado con los tiempos, ya que estuve de viaje.

    Por lo que veo en tu mensaje te esta faltando la letra de la unidad, y asegurate de que estes ejecutandola ventana linea de comando como administrador (boton derecho run as administrator).

    Muchas gracias por participar del blog y ayudar a que siga creciendo! Te cuento que hay mucho material en el.

    Te invito a que veas los labs, videos, tutoriales, notas. Si querés buscar un tema o necesitas ayuda, tenés la solapa AYUDA donde explico un poco como hacerlo, sino también tenés el buscador de google.

    Espero te sean de utilidad. Saludos!

Comments are closed.