Windows Vista

Preparación para Windows PE 2.0

Wes Miller

 

Resumen:

  • Tecnología de imágenes de Microsoft Windows
  • Servicio y actualizaciones de controladores
  • Personalización desatendida de la configuración

En las dos últimas entregas de TechNet Magazine, he hablado de la historia de Windows Preinstallation Environment (o Windows PE); cubría varias decisiones de diseño y cómo usar Windows® PE hoy en día. En este artículo, me centraré en Windows PE 2.0, que es la versión lanzada de forma simultánea a Windows Vista™. No se trata de un análisis exhaustivo del uso de características individuales, sino que este artículo intenta ofrecer una introducción a las nuevas características y capacidades que se encuentran en Windows PE 2.0. Al mismo tiempo que les facilitaré información práctica, el uso de Windows PE 2.0 se tratará de forma detallada en próximos artículos.

Al comenzar a trabajar en Windows Vista, el equipo de configuración de Windows (del que formaba parte en ese momento) estaba centrado principalmente en construir una arquitectura de configuración completamente nueva, con la creación de una nueva herramienta de imagen para ayudar en la implementación, y el diseño de un sustituto para los Servicios de instalación remota (RIS, Remote Installation Services). Pero entonces nuestra atención se desvió a Windows PE y Windows XP Service Pack 2 (SP2) provisionales, y luego a Windows Server® 2003 SP1. Esto significaba pasar nuestros esfuerzos de desarrollo de Windows PE a Windows Vista durante algún tiempo. Pero la actualización provisional de Windows PE nos permitió ofrecer algunas funcionalidades que en un principio planeamos incluir en la versión de Windows PE 2.0, de modo que nuestros esfuerzos no se habían desviado completamente.

El equipo de Windows PE se centró intensamente en la sostenibilidad y los casos de uso típicos del usuario de Windows PE al definir las nuevas características que queríamos incluir (consulte la barra lateral "Novedades en Windows PE 2.0"). Adentrémonos en las nuevas características clave.

Trabajo con imágenes

Existen ciertos conceptos básicos que se deben entender con respecto a la tecnología de imágenes de Windows (WIM, Microsoft® Windows Imaging) y los servicios de implementación de Windows. WIM se ha diseñado desde cero para su uso en la implementación de Windows como imágenes (denominadas históricamente "imágenes Sysprep"). En lugar de estar basada en los sectores como la mayoría de las herramientas de imágenes, WIM está basada en archivos. Esto significa que WIM no replica cada sector de un disco duro, sino que elige los archivos y metadatos asociados con ellos (listas de control de acceso, nombres de archivo cortos y largos, etc.) y almacena los datos en un único archivo.

Una de las ventajas clave de las imágenes WIM es que un solo archivo WIM puede almacenar una copia de más de un volumen (se hace referencia a cada uno como imagen de volumen). Independientemente de la cantidad capturada, cada archivo se almacena sólo una vez. Este hecho se conoce como "instancia única". En la práctica, la técnica es similar a la usada por los Servicios de instalación remota, aunque la tecnología empleada es muy distinta. La herramienta para crear imágenes WIM se llama ImageX. (Hay que tener en cuenta que en un punto se la denominó XImage, pero el nombre ha cambiado desde entonces.)

Durante el desarrollo de Windows Vista y de su nuevo motor de configuración basado en imágenes (que haría uso de Windows PE para implementar el sistema operativo), observamos que podíamos utilizar algunos trucos para ahorrar espacio en los medios. En ese momento, no estábamos seguros de si Windows Vista se lanzaría en CD o DVD y, por tanto, intentábamos minimizar el espacio en disco para la propia configuración. Como la versión de todos los archivos de Windows PE en el CD era idéntica a la de los archivos del archivo WIM que había a su lado, empezamos a pensar en incluir Windows PE en el propio archivo WIM y realizar el inicio desde él. Gracias al impresionante trabajo realizado por un arquitecto del equipo del sistema operativo Windows Core, nuestra idea se convirtió en una serie de prototipos y se integró en el producto antes de la versión previa para desarrolladores de "Longhorn" (ahora conocido como Windows Vista) lanzada en la conferencia sobre desarrollo Professional Developers Conference de 2003. Hoy en día, Windows PE se ubica en un archivo WIM de los medios (boot.wim), y los medios de instalación se encuentran en otro (install.wim). A pesar de que la instancia única entre Windows PE y Windows que habíamos previsto originalmente ya no forma parte de los medios de instalación, Windows PE aún se beneficia del espacio reducido que gana con la compresión en disco. Con la integración de la funcionalidad de inicio RAMDisk de Windows PE 1.6, la capacidad para intercambiar medios (para eliminar el CD/DVD de inicio una vez completado el proceso) también se agregó, ya que el trabajo de inicio de WIM ha finalizado.

El hecho de incluir una imagen de Windows PE en un WIM es tan fácil como usar ImageX para elegir los archivos (trataré el tema en detalle en un artículo próximo) y denotar la imagen como iniciable al proporcionar el indicador /boot a ImageX. Debe considerarse como sector de inicio. Cuando el Administrador de arranque de Windows carga el archivo WIM, el marcador incluido con el indicador /boot especifica qué imágenes en el archivo WIM pueden iniciarse. Hay que tener en cuenta que sólo Windows PE se puede iniciar desde un archivo WIM. No es posible iniciar todo en Windows Vista desde un WIM. El archivo WIM también es sólo de lectura, como en el caso de un CD o DVD. Por ello, no se puede iniciar desde una imagen WIM de Windows PE y modificar archivos. Para implementar cambios en Windows PE, se debe modificar el propio WIM.

Los controladores

Con Windows PE, siempre hemos prestado atención al almacenamiento en masa y a la compatibilidad de dispositivos de red. Sin embargo, existían ocasiones en las que Windows PE carecía de compatibilidad con ciertos dispositivos en los nuevos sistemas. Windows PE 1.5 incluía compatibilidad mejorada para agregar controladores de dispositivos, pero Windows PE 2.0 racionaliza aún más esta capacidad. Ahora todos los tipos de dispositivo son compatibles y funcionan desde el inicio, no es necesaria la magia de factory.exe o drvinst.exe. Para agregar un nuevo controlador de dispositivo en Windows PE 2.0, simplemente hay que ejecutar la nueva herramienta peimg.exe, que agregará los controladores. La sintaxis, que se muestra aquí, es muy simple:

peimg.exe /inf drivername.inf builddirectory\Windows

Tan sólo hay que sustituir drivername por el nombre del .inf (los comodines, como net*.inf, se aceptan) y sustituir builddirectory por el nombre del directorio donde se va a crear la imagen de Windows PE.

Espacio de desecho

Un problema frecuente en las aplicaciones que se ejecutan en Windows PE es que muchas aplicaciones de Windows (e incluso muchos componentes del propio Windows) esperan ejecutarse en espacio de almacenamiento que admite escritura. Muchas reaccionan de maneras inconvenientes cuando se ejecutan en medios de sólo lectura, como un CD-R. Por ejemplo, cuando en un principio intenté ejecutar Microsoft Internet Explorer® en Windows PE (y, finalmente, cuando probé sólo con MSHTA, o Microsoft HTML Application, componentes de Windows), las DLL clave no aceptaron el registro. Esto se debe a que requieren espacio de almacenamiento que admite escritura para algunas tareas necesarias del proceso de registro.

En Windows PE 2.0, esto no representa un problema porque ahora existen hasta 32 MB de espacio de desecho disponible para la escritura de sistemas de archivos. Como resultado, los componentes que antes no funcionaban dada la naturaleza de sólo lectura de Windows PE, ahora funcionarán sin problemas, ya que pueden escribir en el disco lo que necesiten. Esto es diferente a una RAMDrive para espacio de desecho (como la han venido usando los usuarios de Windows PE) en que el espacio de desecho está en el mismo volumen que el volumen de inicio (en lugar de tratarse de otra unidad temporal).

Componentes opcionales

Como en versiones anteriores de Windows PE, la nueva versión ofrece componentes opcionales que se pueden usar para obtener más funcionalidad. (Por supuesto, esto incrementa el tamaño, motivo por el que son opcionales.) Todavía existe la compatibilidad con Windows Script Host (WSH), Windows Management Instrumentation (WMI) y MSHTA. Ahora se puede agregar la compatibilidad con MSXML, Windows Vista Recovery Environment, fuentes de Windows adicionales y Microsoft Data Access Components (MDAC), que sustituye al ADO anterior para compatibilidad con SQL (que incluía cierta compatibilidad con MDAC). El cambio más importante, sin embargo, es la facilidad con que se pueden agregar estos componentes. En lugar de implementarlos mediante una complicada secuencia de comandos WSH, los componentes se pueden agregar o eliminar fácilmente con peimg.exe, la misma herramienta de la que hablé anteriormente para añadir controladores.

Paquetes de idioma

Uno de los principios clave originales de Windows Vista era abordar el concepto de interfaz de usuario multilingüe (MUI, Multilanguage User Interface), introducido ya en Windows 2000 y mejorado en Windows XP, e implementarlo en todo el sistema operativo. En Windows 2000 y Windows XP, se puede especificar otro idioma que no sea el inglés pero, para empezar, la MUI se basa en la versión inglesa del sistema operativo. Es decir, se puede elegir cualquier idioma siempre y cuando el inglés esté igualmente presente.

Esto ha cambiado en Windows Vista. Aunque no voy a tratar todos los detalles, debo resaltar que este cambio es significativo para Windows PE. No existía compatibilidad formal para la MUI en las versiones anteriores de Windows PE. Era necesario basar el proceso de creación en el idioma localizado de Windows para el que se quería contar con compatibilidad. Ahora, agregar o cambiar la compatibilidad de idioma funciona del mismo modo que con cualquier componente opcional: peimg.exe permite agregar o eliminar paquetes de idioma para cubrir las necesidades específicas en Windows PE.

Mejor servicio

Las versiones anteriores de Windows PE también carecían de compatibilidad para el servicio. Para agregar un service pack, se debía volver a crear Windows PE por completo. Para agregar un hotfix, se debía improvisar manualmente (si alguien se atrevía). Dado que Windows PE era pequeño, incluía una funcionalidad limitada de Windows y no se ejecutaba durante largos períodos de tiempo, no lo consideramos un problema. Es decir, no hasta la aparición de la infame vulnerabilidad Blaster. Ya que Windows PE incluía la llamada a procedimientos remotos, la vulnerabilidad podía afectar a Windows PE y causar un continuo reinicio bajo ciertas circunstancias.

Esto es lo que nos llevó a incluir Firewall de Windows en Windows PE 1.5. Y después de eso, el equipo intentó garantizar el servicio de las futuras versiones de Windows PE como si se tratara de una versión completa de Windows. Una zona clave en la que centrarse para Windows Vista era la capacidad de servicio mejorada. Windows PE la hereda. Y, como en el caso de los componentes opcionales e idiomas, Windows PE usa peimg.exe para llevar a cabo las actualizaciones. Las actualizaciones estarán disponibles en el Centro de descargas de Windows.

Compatibilidad desatendida de archivos

Puede que esté familiarizado con winbom.ini, que se usaba en versiones anteriores de Windows PE para controlar una pequeña aplicación llamada factory.exe. Se ha sustituido en la nueva versión. Ahora existe una nueva infraestructura XML que se usa para personalizar Windows PE (se trata del mismo mecanismo XML utilizado para la configuración desatendida en Windows Vista) y una nueva aplicación llamada wpeinit.exe.

Wpeinit.exe usa el formato estándar unattend.xml de Windows Vista para especificar las acciones y personalizaciones de Windows PE. En la figura 1 se muestra un ejemplo de archivo unattend.xml que puede servir para personalizar Windows PE. El formato para el archivo unattend.xml está documentado como parte del kit de preinstalación OEM de Windows (OPK, OEM Preinstallation Kit) y el kit de instalación automatizada de Windows (WAIK, Windows Automated Installation Kit), del que hablaré enseguida.

Figure 1 Arquitectura de un archivo unattend.xml

Archivo XML Comentarios
<ComputerName>MyWinPEMachine</ComputerName>
Configura el nombre del equipo con Windows PE como MyWindowsPEMachine.
<Reinicio>Cierre</Reinicio>
Cierra el sistema en el reinicio (en lugar de reiniciar, como hacen las versiones anteriores de Windows PE).
<RunSynchronous>
 
<RunSynchronousCommand> <Order>1</Order> <Path>notepad.exe</Path> </RunSynchronousCommand>
Ejecuta notepad.exe.
<RunSynchronousCommand> <Order>2</Order> <Path>cmd.exe</Path> </RunSynchronousCommand>
Cuando notepad.exe ha terminado, se ejecuta cmd.exe.
</RunSynchronous>
 
<EnableFirewall>true</EnableFirewall>
Habilita Firewall de Windows al inicio.
<PageFile> <Size>1000</Size> <Path>C:\pagefile.sys</Path> </PageFile>
Configura un pagefile de 1 GB en la unidad C:.
<LogPath>C:\mylog.txt</LogPath>
Registra el resultado de wpeinit.exe y esta secuencia de comandos en C:\mylog.txt.

Servicios de implementación de Windows

Como mencioné anteriormente, uno de nuestros objetivos principales era mejorar la configuración basada en redes mediante el cambio a una infraestructura unificada, ya se iniciara la configuración desde un CD, un DVD o desde la red. Desafortunadamente, hay bastante más trabajo que hacer durante la configuración si se realiza una instalación de Windows basada en RIS. Queríamos eliminar la complejidad y la redundancia en la medida de lo posible y, para ello, creamos los Servicios de implementación de Windows (WDS, Windows Deployment Services).

Como RIS, WDS es una instalación basada en PXE. Pero a diferencia de RIS, WDS inicia Windows PE sobre la red y usa la misma infraestructura de configuración basada en imágenes que una configuración basada en CD o en DVD, a la vez que proporciona el mismo tipo de infraestructura de instalación empresarial centralizada que RIS ha ofrecido desde Windows 2000. Hay mucho de qué hablar acerca de WIM y WDS y no tenemos suficiente espacio en este artículo. Pero no se preocupe, trataré este tema en profundidad en un artículo próximo... así que siga al tanto.

Uso de WAIK

En este punto, puede que esté preguntándose cómo puede empezar a usar Windows PE 2.0. El primer paso es conseguir el WAIK. Las versiones anteriores de Windows PE se proporcionaban como parte de Windows OPK o de los medios de Software Assurance. Ya que Windows PE 2.0 está programado para todos los clientes de Windows con licencia, Microsoft ha creado WAIK para aquellos que no son clientes de OEM.

WAIK ofrece todas las herramientas de Windows PE necesarias para crear su propia copia de Windows PE 2.0. Actualmente, se puede obtener WAIK como parte de Windows Business Desktop Deployment (BDD) 2007 beta. Además de WAIK, BDD ofrece una guía de uso de WAIK y sus herramientas. Por supuesto, no hace falta decir que la mejor manera de familiarizarse con Windows PE 2.0 y las nuevas tecnologías de configuración e implementación incluidas en Windows Vista es empezar a experimentar con ellas lo antes posible.

Novedades en Windows PE 2.0

Windows PE 2.0 incluye todas las características de Windows PE 1.6 y cuenta con nuevos componentes y capacidades como los siguientes:

  • Inicio desde una imagen Microsoft Windows Imaging (WIM)
  • Inyección de controladores y compatibilidad de Plug and Play en tiempo real
  • Espacio de desecho que admite escritura (incluso cuando se inicia desde un CD)
  • Componentes opcionales fáciles de agregar: Microsoft Core Extensible Markup Language Services, Windows Recovery Environment, Microsoft Data Access Components
  • Paquetes de idiomas
  • Compatibilidad desatendida de archivos
  • Herramientas mejoradas para la creación y actualización de Windows PE

Wes Miller es administrador de desarrollo de Pluck (www.pluck.com), en Austin, Texas. Anteriormente, Wes trabajó en Winternals Software en Austin, y en Microsoft como administrador de programas y administrador de producto para Windows. Si lo desea, puede ponerse en contacto con Wes en la dirección technet@getwired.com.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.