Introducción:
Hola
He decidido iniciar este tutorial que escribiré en varios volumenes para daros a conocer y que puedan poner en práctica los métodos que yo utilizo para la edición/personalización de una instalación de Windows y también de una imagen de Windows (Un archivo WIM de un DVD de Windows), así como de una post-instalación de Windows, ¡veremos muchas cosas!.
¿Para que sirve esto?, en pocas palabras sirve para tomar un Windows original y personalizar todas y cada una de sus caracteristicas a nuestro antojo (dentro de los limites permitidos).
Esta guía estará orientada y basada en la personalización de Windows 8.1, concretamente de una imagen correspondiente a la ISO 9600.16384.130821-1623_x64fre_Client_ES-ES-IRM_CCSA_DV5.ISO ya que todo el trabajo que tengo ahora mismo realizado es para este sistema operativo en específico, no he guardado nada de los sistemas operativos anteriores, pero por otro lado debo aclarar que todo el proceso es basicamente el mismo, lo único que cambiará son los nombres/versiones de los archivos y carpetas así como otros detalles que deberían ser igual de obvios.
Intentaré empezar por cosas básicas para ir subiendo el nivel de dificultad, e intentaré explicar los detalles y pasos de forma sencilla para que los usuarios con cualquier nivel de conocimiento y experiencia puedan entender, pero no prometo hacer un buen tutorial, ni tampoco puedo asegurar que lo entiendan a la primera, es posible que algunos detalles muy básicos yo los acabe omitiendo.
No espero llegar a escribir un tutorial excelente, pero intentaré abordar varios temas relacionados (no todos) y aportar conocimiento en cada uno de ellos, desde la edición y personalización del procedimiento de la instalación de Windows, como la manipulación de un registro ajeno (Hive), o la creación, edición y personalización de un tema visual (.Theme), hasta la reducción (no destructiva) del tamaño del sistema de archivos (File System) del sistema operativo, pero donde más profundizaré será en la edición de una imagen Windows Imaging Format (WIM), concretamente la imagen Install.wim, es decir, la personalización (casi) completa del sistema de archivos (File System), y además aportaré todas mis herramientas y mis creaciones, pero vayamos paso a paso... aún queda mucho por enseñar.
0.1
Decisiones:
· ¿Realmente necesitas leer este tutorial?
¡¡ Saber elegir es importante !!
Si te gusta la personalización y quieres descubrir cosas nuevas e interesantes que quizás no conocias, o si simplemente quieres experimentar lo que puedes llegar a hacer con el SO de Windows y necesitas un punto de referencia... pues este es tu lugar.
Este tema abarca varios otros temas que están relacionados entre si, todo requiere tiempo, dedicación, y un mínimo de conocimiento y comprensión sobre el sistema operativo y la informática en general.
Si crees que un "Byte" es una nota musical, que "ISO" es el novio de la "ISA", o que un "Bat" es la mascota de "Batman" ...entonces no sigas leyendo, ¡no estás preparado para hacerlo!.
Deben tener en cuenta que lo que a mi me puede llevar unos días o unas semanas en escribir este tutorial para ustedes, me ha costado años de práctica y aprendizaje (y muchas cagadas), y aún así no soy ningún gurú del tema y mi humildad jamás me dejaría considerarme como tal, pero si que he invertido el tiempo suficiente como para poder enseñarles ciertas cosas interesantes.
Les recomiendo saber e investigar un poquito por su cuenta acerca del tema antes de seguir leyendo esta guía... este es un tema delicado y puede resultar peligroso si eres un manazas que tiendes a estropear el PC cuando tocas cualquier cosa, esto no es un tema apto para newbies.
¡ Estás avisado !
0.2
Definiciones:
Estas son las definiciones de algunos terminos que usaré ...y otros que quizás no, pero intenten aprenderlos todos para saber de lo que se les está hablando en cada momento, ¡ánimo!.
· Sistema operativo (SO) / Operating System (OS)
An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is an essential component of the system software in a computer system. Application programs usually require an operating system to function.
· Windows
Microsoft Windows is a series of graphical interface operating systems developed, marketed, and sold by Microsoft.
· Sysprep (System Preparation)
La herramienta de preparación del sistema (Sysprep) prepara una instalación de Windows para la duplicación, auditoría y entrega al cliente. La duplicación, llamada también creación de imágenes, permite capturar una imagen de Windows personalizada que se puede usar varias veces en una organización. El modo auditoría permite agregar controladores de dispositivos o aplicaciones adicionales a una instalación de Windows. Una vez instalados los controladores y las aplicaciones adicionales, puede probar la integridad de la instalación de Windows. Sysprep también permite preparar una imagen para entregarla al cliente. Cuando el cliente arranca Windows, se inicia la Bienvenida de Windows.
Sysprep sólo se puede usar para configurar instalaciones de Windows nuevas. Puede ejecutar Sysprep tantas veces como sea necesario para crear y configurar la instalación de Windows. Sin embargo, sólo puede restablecer tres veces la activación de Windows. No puede usar Sysprep para volver a configurar una instalación existente de Windows ya implementada. Use Sysprep sólo para configurar instalaciones de Windows nuevas.
· WIM (Windows Imaging Format )
Windows Imaging Format (WIM) es un archivo basado en formato de imagen de disco. Fue desarrollado por Microsoft para la distribución e instalación de sus más recientes sistemas operativos: Windows Vista, Windows 7 y Windows Server 2008, los cuales la utilizan como parte de su procedimiento de instalación estándar. Funciona de igual forma con versiones anteriores de Windows, especialmente Windows XP, por ejemplo, es utilizada como parte de la instalación de Windows Fundamentals for Legacy PCs el cual es una versión reducida de Windows XP diseñada para ser ejecutada en computadas heredadas con pocos recursos de sistema.
· Windows AIK (Windows Automated Installation Kit)
Windows Automated Installation Kit (Windows AIK or WAIK) is a collection of tools and technologies produced by Microsoft designed to help deploy Microsoft Windows operating system images to target computers or to a VHD (Virtual Hard Disk). It was first introduced with Windows Vista. The WAIK is a required component of the Microsoft Deployment Toolkit.[1]
· Windows ADK (Windows Assessment and Deployment Kit )
Esto se puede decir que es exactamente lo mismo que el 'WAIK' solo que con las mejoras de ser un paquete más actual, y se le otorga este cambio de nombre estético para versiones superiores a Windows 7.
· Windows PE (Windows Preinstallation Environment)
Windows Preinstallation Environment (AKA Windows PE and WinPE) is a lightweight version of Windows used for the deployment of PCs, workstations, and servers, or troubleshooting an operating system while it is offline. It is intended to replace MS-DOS boot disks and can be booted via USB flash drive, PXE, iPXE,[1] CD-ROM, or hard disk. Traditionally used by large corporations and OEMs (to preinstall Windows client operating systems on PCs during manufacturing), it is now widely available free of charge via the Windows Automated Installation Kit (WAIK).
· Windows SIM (Windows System Image Manager )
El Administrador de imágenes de sistema (Windows SIM) crea y administra archivos de respuesta para la instalación de Windows desatendida en una interfaz gráfica de usuario (GUI).
Los archivos de respuesta son archivos basados en XML que se usan durante la instalación de Windows para configurar y personalizar la instalación predeterminada de Windows.
Por ejemplo, puede usar Windows SIM para crear un archivo de respuesta que crea particiones y formatea un disco antes de instalar Windows, cambia la configuración predeterminada de la página principal de Internet Explorer y configura Windows para que arranque en modo auditoría tras la instalación. Al modificar la configuración del archivo de respuesta, Windows SIM puede instalar además aplicaciones de terceros, controladores de dispositivos, paquetes de idiomas y otras actualizaciones.
· Archivo de respuesta (AutoUnattend.xml)
Un archivo de respuesta es un archivo basado en XML que contiene definiciones de configuración y valores para su uso durante la instalación de Windows. En un archivo de respuesta, puede especificar varias opciones de instalación, entre las que se incluyen el modo de partición de los discos, la ubicación de la imagen de Windows que se va a instalar y la clave de producto que se va a aplicar. Además, puede especificar los valores que se van a aplicar a la instalación de Windows, como los nombres de las cuentas de usuario, la configuración de la pantalla y los favoritos de Internet Explorer. El archivo de respuesta para el programa de instalación generalmente se llama Unattend.xml.
El archivo de respuesta almacena la configuración personalizada que se aplica durante la instalación de Windows.
La herramienta principal para crear un archivo de respuesta es el Administrador de imágenes de sistema (Windows SIM).
· Sistema de archivos (File System)
In computing, a file system (or filesystem) is used to control how data is stored and retrieved. Without a file system, information placed in a storage area would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into individual pieces, and giving each piece a name, the information is easily separated and identified.
· Windows Package Manager (pkgmgr)
El Administrador de paquetes (Pkgmgr.exe) es una nueva herramienta de línea de comandos de Windows Vista que puede usarse sin conexión para instalar, quitar o actualizar paquetes de Windows. Es posible agregar un paquete (que se proporciona como un archivo .cab) a una imagen de Windows sin conexión. Los archivos .cab pueden expandirse mediante Expand.exe. Para obtener más información acerca de la forma de expandir archivos .cab, consulte Opciones de línea de comandos de Expand. El Administrador de paquetes también sirve para habilitar o deshabilitar una característica de Windows, ya sea sin conexión o en una instalación de Windows en ejecución.
El Administrador de paquetes puede usar como entrada un archivo de respuesta de instalación desatendida y configurar los valores incluidos en la fase de configuración offlineServicing.
· DISM (Deployment Image Servicing and Management)
Administración y mantenimiento de imágenes de implementación (DISM) es una herramienta de línea de comandos que se usa para montar e instalar imágenes de Windows(R) sin conexión antes de su implementación. Puedes usar los comandos de administración de imágenes de DISM para montar y obtener información de archivos de imagen de Windows (.wim) o discos duros virtuales (VHD). También puedes usar DISM para capturar, dividir y, en general, administrar archivos .wim.
También puedes usar DISM para instalar, desinstalar y actualizar características, paquetes, controladores y configuraciones internacionales de DISM en un archivo .wim o VHD mediante los comandos de mantenimiento de DISM.
Los comandos de DISM se usan en imágenes sin conexión, pero los subconjuntos de comandos de DISM también están disponibles para el mantenimiento de un sistema operativo en ejecución.
· ImageX
ImageX es una herramienta de línea de comandos que permite a los fabricantes de equipos originales (OEM) y a las empresas capturar, modificar y aplicar imágenes de disco basadas en archivos para una implementación rápida. ImageX funciona con los archivos de imagen de Windows (.wim) para realizar copias en una red; también funciona con otras tecnologías que usan imágenes .wim, como el programa de instalación de Windows, los Servicios de implementación de Windows (Windows DS) y el paquete de implementación de características del sistema operativo SMS.
· Carpeta WinSXS (Side-by-side assembly)
Side-by-side technology is a standard for executable files in Windows 98 Second Edition, Windows 2000, and later versions of Windows that attempts to alleviate problems that arise from the use of dynamic-link libraries in Microsoft Windows. Such problems include version conflicts, missing DLLs, duplicate DLLs, and incorrect or missing registration. In side-by-side, Windows stores multiple versions of a DLL in the WinSXS subdirectory of the Windows directory, and loads them on demand. This reduces dependency problems for applications that include a side-by-side manifest.
Side-by-side technology is also known as WinSxS or SxS, although technically WinSxS refers only to the global side-by-side store (officially called the "Windows component store"), which is conceptually the native equivalent of the .NET Global Assembly Cache. Executables that include an SxS manifest are designated SxS assemblies.
· Booting
In computing, booting (or booting up) is the initialization of a computerized system. The system can be a computer or a computer appliance. The booting process can be "hard", after electrical power to the CPU is switched from off to on (in order to diagnose particular hardware errors), or "soft", when those power-on self-tests (POST) can be avoided. Soft booting can be initiated by hardware such as a button press, or by software command. Booting is complete when the normal, operative, runtime environment is attained
· Boot Loader
A boot loader is a computer program that loads an operating system or some other software for the computer after completion of the self-tests. Within the hard reboot process, it runs after completion of the self-tests, then loads and runs the software. A boot loader is loaded into main memory from persistent memory, such as a hard disk drive or, in some older computers, from a medium such as punched cards, punched tape, or magnetic tape. The boot loader then loads and executes the processes that finalize the boot.
· Kernel
In computing, the kernel is a computer program that manages input/output requests from software and translates them into data processing instructions for the central processing unit and other electronic components of a computer. The kernel is a fundamental part of a modern computer's operating system.[1]
When a computer program (in this case called a process) makes requests of the kernel, the request is called a system call.
· Imagen ISO (International Standards Organization)
An ISO image is an archive file of an optical disc, a type of disk image composed of the data contents of every written sector of an optical disc, including the optical disc file system.[1] ISO image files usually have a file extension of .iso. The name ISO is taken from the ISO 9660 file system used with CD-ROM media, but what is known as an ISO image might also contain a UDF (ISO/IEC 13346) file system (commonly used by DVDs and Blu-ray Discs).
· Imagen BMP (Bitmap)
In computer graphics, when the domain is a rectangle (indexed by two coordinates) a bitmap gives a way to store a binary image, that is, an image in which each pixel is either black or white (or any two colors).
A bitmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to the similar concept of a spatially mapped array of pixels. Raster images in general may be referred to as bitmaps or pixmaps, whether synthetic or photographic, in files or memory.
· Imagen PNG (Portable Network Graphics)
Portable Network Graphics[2] or PNG's Not GIF,[3] is a raster graphics file format that supports lossless data compression. PNG was created as an improved, non-patented replacement for Graphics Interchange Format (GIF), and is the most used lossless image compression format on the Internet.[4]
PNG supports palette-based images (with palettes of 24-bit RGB or 32-bit RGBA colors), grayscale images (with or without alpha channel), and full-color non-palette-based RGB[A] images (with or without alpha channel). PNG was designed for transferring images on the Internet, not for professional-quality print graphics, and therefore does not support non-RGB color spaces such as CMYK.
· Tema visual (Theme)
In computing, a theme is a preset package containing graphical appearance details, used to customize the look and feel of an operating system or a piece of computer software.
· Windows Aero
Windows Aero (a backronym for Authentic, Energetic, Reflective, and Open) is a set of interface and design guidelines that were introduced by the Windows Vista operating system. The changes made in the Aero interface affected many elements of the Windows interface and how it functions, including the incorporation of a new visual look, along with changes in interface guidelines reflecting appearance, layout, and the phrasing and tone of instructions and other text in applications.
1.0
· Instalando WAIK/WADK
Lo primero que recomiendo hacer para disponer de (casi) todas las herramientas de este tutorial (y también para evitar ciertos conflictos de montaje de imagenes en el futuro) es instalar la versión del paquete WAIK/WADK correspondiente a la versión de Windows que vayamos a modificar (no del Windows que tengamos instalado).
En mi caso voy a manipular un DVD de Windows 8.1, así que debo instalar este paquete WADK: http://www.microsoft.com/en-us/download/details.aspx?id=39982
Otras versiones de WADK: http://www.microsoft.com/en-us/search/DownloadResults.aspx?q=Windows+Assessment+and+Deployment+Kit
Otras versiones de WAIK: http://www.microsoft.com/en-us/search/DownloadResults.aspx?q=Windows+Automated+Installation+Kit
Una vez descargado, ejecutamos el instalador, elegimos una instalación local obviamente y configuramos la ruta de instalación (la que queramos), maldecimos la dichosa subscripción de Microsoft y omitimos (o leemos) los términos de uso,
al final llegaremos a una parte de la instalación en donde debemos elegir los componentes que deseamos instalar en nuestro equipo, aquí debemos marcar unicamente el componente "Herramientas de implementación":
Nota: También pueden instalar opcionalmente el componente de "Windows PE", es una caracteristica muy util por ejemplo para crear un LiveCD, pero no estoy muy seguro de si llegaré a explicar detalladamente y abordar el tema relacionado con el WinPE en este tutorial.
La ruta de instalación por defecto de mi paquete WADK es: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit y esa es la ruta que utilizaré en este tutorial cuando deba referirme a alguna de las aplicaciones que vayams a usar.
Al finalizar la instalación tendremos nuevas herramientas muy utiles, pero por el momento solo debemos aprendernos la ubicación de estas herramientas:
WSIM...........................: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\WSIM\imgmgr.exe
DISM (para 32 Bits)............: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\x86\DISM\Dism.exe
DISM (para 64 Bits)............: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\Dism.exe
ImageX (para 32 Bits)..........: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\x86\DISM\ImageX.exe
ImageX (para 64 Bits)..........: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\ImageX.exe
Package Manager: (para 32 Bits): C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\x86\DISM\pkgmgr.exe
Package Manager: (para 64 Bits): C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\pkgmgr.exe
Nota: Si van a manipular una imagen de Windows x64, entonces deberán utilizar las herramientas de arquitectura de 64 Bit, creo que no hace falta ni decirlo.
Enhorabuena, ¡¡ primer paso del tutorial conseguido !!, bah, era demasiado facil .
1.1
· Post-Configurando WAIK/WADK
Para simplificar el echo de tener que escribir la ubicación absoluta del WADK/WAIK, sugiero crear una variable de entorno en el sistema.
Una variable de entorno digamos que es una palabra que hace referencia a un valor estático (en este caso una ruta muy larga) el cual podremos usar para expandir dicho valor de forma global usando la Shell de Windows (En la CMD, en la barra del Explorer, en el menú "Ejecutar" del menú inicio, etc...).
En la consola de Windows (CMD), debes escribir el siguiente comando (especifica la ruta correcta para su versión instalada):
Código:
SETX "WinKit" "C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools"
A partir de este momento, me referiré a la ruta absoluta del directorio WADK/WAIK por el nombre %WinKit% de nuestra nueva variable de entorno.
Nota: Para eliminar la variable si lo necesitan:
Código:
SETX "WinKit" ""
1.2
· Entendiendo WIM
( Espero que hayan leido la definición de 'WIM', porque no explicaré lo que ya deben conocer. )
Un DVD de instalación de Windows (sin modificar, se entiende) contiene dos archivos 'WIM', dichos archivos están ubicados en el directorio X:\Sources (donde X es la letra de unidad o la carpeta ), una imagen se llama Boot.wim y la otra Install.wim.
Boot.wim contiene un entorno bootable de WinPE, es decir, esto es lo que sucede al bootear el DVD de Windows y no hay que confundirlo con el Boot Loader, esta la pantalla negra que nos pide que presionemos cualquier tecla para arrancar el DVD, y también la pantalla que al reiniciar, nos permite continuar una instalación de Windows en proceso, y también es el SO que ejecuta la instalación de Windows.
Install.wim contiene todo el sistema de archivos (FileSystem) de Windows que será expandido a nuestro PC, los programas, los perfiles de usuario, las claves de registro, TODO, son imágenes preparadas (sysprepped), es decir, que cuando instalamos Windows, lo que contiene esta imagen es exactamente lo que se instala, WYSIWYG (What You See Is What You Get).
¿Que puedo llegar a hacer con una imagen Boot.wim?
Inyectar Drivers, integrar un entorno WinPe, añadir componentes opcionales (disponibles solamente durante el booteo) como un memtest (test de memoria) y cualquier Software bootable como las herramientas del archiconocido "Hiren's BootCD", etc...
¿Que puedo llegar a hacer con una imagen Install.wim?
Inyectar Drivers, añadir o reemplazar cualquier tipo de archivos y carpetas, así como Software, Wallpapers y Música, modificar las claves de registro por defecto,
instalar o eliminar actualizaciones de Windows Update, instalar o eliminar caracteristicas de Windows,
Eliminar archivos y carpetas para reducir el tamaño de la instalación del sistema,
en resumen... ¡manipular todo lo referente a Windows!.
Nota: Una imagen WIM puede contener varios índices de imagen, por ejemplo en un típico DVD de Windows AIO (All In One) existen varias ediciones que podemos instalar (Home, Professional, Ultimate, etc...) pues cada una de las ediciones corresponde a un índice, son sub-imágenes distintas con sus pequeñas diferencias en el sistema de archivos (las ediciones más complejas de Windows como la "Ultimate" instalan más caracteristicas que las versiones más básicas, lo cual no siempre es una ventaja).
Nota: Una imagen WIM es un archivo empaquetado/comprimido y por ende el contenido de un archivo WIM se puede examinar, manipular y/o extraer con herramientas de terceros como el compresor 7Zip, pero esto no lo necesitaremos para nada, ¡solo es un dato por si son curiosos!.
Nota: Otro dato de interés público, este es el recorrido que realiza un DVD de Windows donde se aprecia las operaciones del Boot.wim hasta inicializar el Kernel, el cual controla la respuesta del Software del Setup (el instalador de Windows):
Citar
1. System is powered on
2. The MBR is located on the system drive.
3. The Boot Sector is located, BOOTMGR is loaded
4. BOOTMGR looks for an active partition on sector 0.
5. BOOTMGR then reads the BCD file
6. BOOTMGR transfers control to WINLOAD.EXE contained in Boot.wim (In the case of a resume operation, WINRESUME.EXE)
7. WINLOAD.EXE initializes memory and loads drivers set to start at boot, and then transfers control to the kernel.