March 2009 - Posts

Cuando lea estas líneas es probable que ya pueda descargar la versión final de Internet Explorer 8 desde su web oficial: http://www.microsoft.com/windows/internet-explorer/download-ie.aspx.

Una de las dudas que creo que mucha gente tendrá es sobre cómo integrar Internet Explorer en el DVD de Windows Vista/Windows Server 2008. Al integrarlo, cuando instale Windows Vista/Windows Server 2008 automáticamente ya tendrá instalada la versión 8 del navegador de Microsoft, con la comodidad que esto supone. Los pasos a seguir están disponibles en el blog oficial de IE (http://blogs.msdn.com/ie/archive/2008/06/20/slipstreaming-ie8.aspx), lo que sigue es una mera traducción de dicho contenido, con ligeras modificaciones para adaptarlo al idioma español.

Preparación

  1. Instalar el kit de instalación automática de Windows (WAIK)
  2. El kit de instalación automática de Windows (WAIK) es una herramienta disponible para Vista y Windows Server 2008 que administra y personaliza las imágenes del sistema operativo. Esta es la herramienta que va a usar para integrar IE8. Descargue una versión de WAIK que concuerde con la configuración de su máquina local (no la imagen en la que va a integrar IE8).

    Nota: No es posible usar una versión de 64 bits de WAIK para integrar IE sobre una imagen de Vista de 32 bits. Para más información, lea el fichero Readme.txt del WAIK.

  3. Crear el directorio de Windows Vista
  4. Cree en el sitio que quiera una carpeta de nombre Slipstream y, dentro de ella, un directorio VistaSP1x86es. Copie el contenido del DVD de Windows Vista en el directorio VistaSP1x86es.

  5. Crear tres carpetas temporales: Mount, Pkg, Sandbox
  6. Cree en la raíz del directorio Slipstream tres carpetas: Mount, Pkg y Sandbox.

  7. Descargar Internet Explorer 8
  8. Cree en el directorio Slipstream la carpeta IE8x86es y descargue en ese directorio Internet Explorer 8.

  9. Extraer y expandir el archivo MSU
  10. Abra una ventana de línea de comandos (Cmd.exe) y teclee este comando: <ruta del instalador de IE8> /x: <carpeta donde quiera alojar el fichero MSU>. Por ejemplo: C:\Slipstreaming\IE8x86es\IE8-WindowsVista-x86-esn.exe /x: C:\Slipstreaming\IE8x86es

    Para extraer el fichero MSU, desde la ventana de línea de comandos teclee lo siguiente: expand.exe <ruta del fichero MSU de IE8> -F:* <carpeta Pkg>. Por ejemplo: expand.exe C:\Slipstreaming\IE8x86es\IE8.MSU -F:* C:\Slipstreaming\Pkg

Integración

  1. Montar la imagen de instalación de Vista en el directorio temporal
  2. En la ventana de línea de comandos, ejecute lo siguiente: imagex.exe /mountrw install.wim <número_de_imagen> <carpeta Mount>

    Para este ejemplo estoy integrando IE8 en un Windows Vista Ultimate que tiene como número_de_imagen = 4. El comando que ejecuté fue "C:\Archivos de programa\Windows AIK\Tools\x86\imagex.exe" /mountrw C:\Slipstreaming\VistaSP1x86es\sources\install.wim 4 C:\Slipstreaming\Mount

    Si no sabe cuál es el número de imagen de su sistema operativo, puede usar un número grande al azar en lugar del 4 del comando anterior, tal que así: imagex.exe /dir C:\VistaRTM\sources\install.wim 20. Esto hace que se muestre la información de ayuda. Busque la versión de Vista/Server 2008 que esté usando y el valor IMAGE INDEX será el valor del parámetro número_de_imagen que está buscando. 

  3. Integrar IE8 en la imagen de Vista
  4. Si está usando la versión Gold de Windows Vista (es decir, sin ningún Service Pack instalado), es necesario que cambie el atributo de solo lectura de un fichero antes de ejecutar el comando de integración: attrib -R "<Carpeta Mount>\Windows\Offline Web Pages"

    Por ejemplo: attrib -R "C:\Slipstreaming\Mount\Windows\Offline Web Pages"

    Ahora ya está listo para integrar IE8. Ejecute lo siguiente en la ventana de línea de comandos: pkgmgr.exe /n:<Carpeta Pkg>\WindowsVista-KB#-NEUTRAL.xml /o:"<Carpeta Mount>;<Carpeta Mount>\windows" /s:<Sandbox> /l:<Sitio donde quiera que se genere el fichero de LOG>. Asegúrese de que el ejecutable Pkgmgr.exe que utilice sea el incluido en el WAIK.

    Por ejemplo: "C:\Archivos de programa\Windows AIK\Tools\x86\Servicing\pkgmgr.exe" /n:"C:\Slipstreaming\Pkg\Windows6.0-KB944036-x86.xml" /o:""C:\Slipstreaming\Mount";"C:\Slipstreaming\Mount\windows"" /s:"C:\Slipstreaming\Sandbox" /l:"C:\Slipstreaming\Slp.log"

    Una vez que el comando de integración finalice correctamente, el fichero Slp.log contendrá la línea "exit code 0x00".

    Recuerde establecer de nuevo el atributo de solo lectura una vez que haya finalizado la integración (solo si usa Windows Vista Gold, es decir, sin ningún Service Pack instalado): attrib +R "<Carpeta Mount>\Windows\Offline Web Pages"

    Por ejemplo: attrib +R "C:\Slipstreaming\Mount\Windows\Offline Web Pages"

  5. Guardar los cambios
  6. Use Imagex.exe para guardar los cambios: imagex /commit /unmount <Carpeta Mount>

    Para este ejemplo: "C:\Archivos de programa\Windows AIK\Tools\x86\imagex.exe" /commit /unmount c:\Slipstreaming\Mount

Y con esto ya habrá integrado IE8 en su imagen de Windows Vista. Ya solo tiene que crear un DVD con dicho contenido. Como IE8 es parte de la imagen de Vista, puede personalizarlo creando un fichero Answer.xml y ejecutando el programa de instalación de Vista con la opción desatendida, tal como: <Carpeta Vista>\setup.exe /unattend:<Carpeta del fichero Answer.xml>

Enlaces relacionados:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=728ab2c8-8000-4888-8f62-340223d01fe0

Posted by dmartin | 3 comment(s)
Filed under:

En este artículo se va a describir el arranque de los sistemas operativos Windows Vista y Windows 7. Antes de comenzar, es necesario que veamos unas pinceladas del arranque de sistemas operativos anteriores, para poner el nuevo sistema de arranque en contexto.

El proceso de arranque en Windows XP y anteriores

El proceso de arranque comienza cuando la BIOS de la máquina lee el primer sector del disco duro. Este sector (el sector de arranque), típicamente contiene una porción de código denominada MBR (Master Boot Record), pero podría contener cualquier otro código ejecutable. En sistemas Windows XP y anteriores sistemas NT, dicho código apunta al fichero Ntldr mediante una cadena de tipo Unicode situada en una posición fija de dicho primer sector del disco duro. El archivo Ntldr es el encargado de leer el fichero Boot.ini, que contiene información importante sobre los sistemas que están instalados y cómo se debe arrancar cada uno de ellos. Si procede, Ntldr muestra al usuario una lista de sistemas operativos para que elija alguno mediante las flechas de dirección.

La nueva arquitectura de arranque

El problema principal de este esquema primitivo de arranque es que se trata de un esquema enormemente dependiente del hardware. Este problema se hizo patente cuando Intel desarrolló, a mediados de los años 90, una nueva especificación para sus máquinas Itanium, con el objetivo de evitar las limitaciones impuestas por el ya vetusto sistema PC BIOS. Esta especificación se denominó EFI (Extended Firmware Interface) y básicamente consiste en una interfaz entre el sistema operativo y el firmware de la máquina. EFI soporta tanto el esquema clásico de particiones basado en MBR como el nuevo esquema GPT (Guid Partition Table). La principal ventaja de este nuevo esquema es que no se ve afectado por las limitaciones de MBR, tales como el límite de 4 particiones primarias por disco y los 2TB como máximo por partición.

Con la salida al mercado de Windows Vista, Microsoft introdujo un nuevo almacén de configuración de arranque denominado almacén BCD (Boot Configuration Data). Podríamos decir que este almacén realiza las mismas funciones que el fichero Boot.ini realiza en sistemas Windows XP o anteriores. La diferencia fundamental reside en que el almacén BCD es independiente del hardware y es capaz de arrancar tanto sistemas PC BIOS tradicionales como sistemas basados en EFI. En el futuro podría darse soporte a nuevos esquemas de arranque.

La arquitectura del BCD está formada por tres componentes bien diferenciados: almacén BCD, objeto BCD y elemento BCD.

Almacén BCD

El almacén BCD es un contenedor de objetos BCD, entidad que a su vez contiene elementos BCD. Físicamente es un fichero binario con una estructura similar a los ficheros binarios que representan ramas del Registro del sistema. Su nombre es BCD y está situado en el directorio \Boot (en un sistema PC BIOS) o \EFI\Microsoft\Boot (en un sistema EFI) de la partición activa del disco. 

Objetos BCD

Por defecto, el almacén BCD contiene los siguientes objetos BCD:

  • Administrador de arranque de Windows: Este objeto contiene entradas correspondientes a cada uno de los sistemas operativos instalados en la máquina. También existen parámetros adicionales, tales como el tiempo de espera hasta que se seleccione la entrada por defecto de dicho menú o la ordenación de la lista de sistemas operativos. Podríamos decir que este objeto BCD reemplaza la funcionalidad de la porción [boot loader] del fichero Boot.ini.
  • Cargador de arranque de Windows: Existe un objeto BCD de este tipo por cada sistema Windows Vista/Windows 7 que esté instalado en el equipo. Se podría decir que este objeto reemplaza la funcionalidad de la sección [operating systems] del fichero Boot.ini.
  • Ntldr: Este objeto BCD es opcional y contiene la información necesaria para arrancar sistemas Windows XP o anteriores. Nótese que el fichero Ntldr no sirve para nada en Windows Vista/Windows 7, excepto para arrancar sistemas anteriores.

Además de estos objetos BCD, las aplicaciones pueden crear sus propios objetos utilizando la interfaz de programación del almacén BCD. Por ejemplo, la utilidad de comprobación de memoria RAM incluida en el entorno de recuperación de Windows Vista/Windows 7 programa un análisis de RAM mediante el ejecutable Mdsched.exe, que crea un nuevo objeto BCD que apunta al ejecutable \Boot\Memtest.exe (en sistemas PC BIOS) o \EFI\Microsoft\Boot\Memtest.efi (en sistemas EFI). Otras aplicaciones de terceros podrían crear sus propios objetos en el BCD.

Elementos BCD

Los elementos BCD guardan los parámetros de configuración de cada uno de los objetos BCD. Estos parámetros, como ya se ha comentado, pueden ser la existencia de un depurador de kernel, el sistema operativo que iniciará por defecto, si se han activado las PAE (Physical Address Extensions), etc.

Este diagrama proporciona una visión global de la arquitectura del BCD:

Esquema de la arquitectura BCD

Cada uno de los objetos BCD anteriores enlaza con un ejecutable diferente. Como ya se comentó, el objeto BCD correspondiente al análisis de memoria RAM enlaza con el ejecutable Memtest.exe o Memtest.efi. La entrada correspondiente al arranque de un sistema Windows Vista/Windows 7 enlaza con el ejecutable Winload.exe o Winload.efi, encargado de inicializar el núcleo del sistema operativo mediante Ntoskrnl.exe y cargar algunos controladores de arranque. Si el sistema hibernó por última vez, un objeto BCD apuntará al ejecutable Winresume.exe o Winresume.efi, que es el encargado de reanudar el sistema operativo para dejarlo tal cual estaba antes de ser hibernado.

¿Qué hace la herramienta Reparación de inicio si se encuentra con algún problema?

Si alguna de las estructuras comentadas anteriormente se ha dañado, el sistema no podrá arrancar. La herramienta Reparación del inicio habrá obtenido toda la información mediante su conjunto inicial de pruebas. Si la tabla de particiones, sector de arranque o almacén BCD estuviera dañado, el ejecutable BCDMD (Boot Critical Disk Meta-data Repair) se encarga de regenerar toda esta información. Esta herramienta básicamente realiza un análisis en busca de sistemas operativos, a la vez que compara esta información con la residente en el almacén BCD. Si la información del BCD no fuera coherente, esta herramienta es capaz de modificarla para que lo sea. Si los ficheros Winload.exe o Bootmgr no estuvieran o estuvieran dañados, Reparación de inicio puede recuperarlos en ciertas circunstancias, como ya vimos, mediante el comando Bfsvc.exe /nosetupcheck.

Otro de los problemas que puede afectar al arranque del sistema, como ya vimos, es una corrupción de los ficheros de sistema o bien un problema de permisos sobre ciertos ficheros importantes. Para el primer caso, Reparación del inicio ejecuta el comando Sfc.exe, cuyo funcionamiento se describió en un anterior artículo. Para el segundo caso, la herramienta reconstruye los permisos correctos, teniendo en cuenta que los ficheros del sistema operativo tienen una serie de permisos por defecto, para evitar su accidental eliminación o sobreescritura.

Si el Registro resultara estar corrupto, se puede recuperar a partir de la copia de seguridad del directorio %windir%\system32\config\RegBack. Si dicha copia tampoco estuviera en buen estado, se recurre a la copia con extensión .old que hay en el mismo directorio. Sin embargo, ante una corrupción del Registro la restauración del sistema se intenta aplicar siempre en primer lugar. El motivo es claro, las ramas de Registro del punto de restauración probablemente serán más recientes que las que hay en la carpeta RegBack. Solo se recurre a esta carpeta si no hubiera puntos de restauración disponible o estos no hubieran solucionado el problema.

Haciendo referencia a los puntos de restauración, la herramienta elige el más reciente que sea anterior a la causa que ha producido el fallo. Por ejemplo, si el usuario instaló un controlador y el sistema dejó de iniciar, Reparación del inicio intentará usar el punto de restauración más reciente anterior a la instalación del controlador. Para el caso de un Registro corrupto, la herramienta prueba con el punto de restauración más reciente que haya disponible.

Espero que toda esta información sobre el arranque de Windows Vista/Windows 7 y la herramienta Reparación del inicio les sirva para comprender un poco mejor cómo arranca el sistema operativo, qué estructuras están asociadas al arranque, qué problemas pueden surgir y cómo los aborda la herramienta de Reparación del inicio.

(Esta entrada ha sido programada. Daniel está en estos momentos en Redmond, Washington).