¿Alguna vez ha deseado poder ejecutar la «Consola de recuperación de Windows» para el procedimiento de mantenimiento o el programa que desea utilizar, sin tener que recordar dónde olvidó el CD? HTG explica cómo arrancar WinPE desde PXE.
Autor de la foto: Alfred Hermida pasando por Compfight CC
El entorno de preejecución de Windows (WinPE) es la versión de Windows que la mayoría de la gente conoce como la que arranca desde el CD de instalación. A lo largo de los años se han ido creando proyectos completos para dar la posibilidad de tener una especie de «ventanas viven«Entorno como muchas distribuciones de Linux». En esta guía, haremos que Windows PE inicie el CD de instalación desde PXE para que podamos usarlo para ejecutar la utilidad de actualización del BIOS de Dell. Te animamos a que sigas explorando este pozo sin fondo de bondad geek …
Visión general
Le mostramos qué es PXE y cómo puede configurar fácilmente un servidor para él (y mucho más) con FOG, hoy vamos a agregar otra extensión a FOG. Por lo general, el procedimiento de hoy será:
- Actualice PXElinux a v5.01 o superior, si aún no está instalado.
- Agregue el módulo wimboot.
- Copie la imagen WIM y los archivos auxiliares del CD de instalación de Windows.
- Agregue la entrada del menú.
- Utilice el WinPE iniciado para obtener una «Consola de recuperación de Windows» que funcione.
Vamos a hacer lo anterior porque seguir el método «normal» del Kit de instalación automatizada de Windows (WAIK) requiere que, en el mejor de los casos, lo instale en su máquina y siga un proceso no tan simple para modificar el archivo WIM. Y su apoyo. en su forma WDS / RIS. Aunque existen alternativas de Linux, como el el del proyecto UDA (que es el servidor PXE que estaba usando antes de que apareciera FOG), de esa manera simplemente sobrescribe algunos archivos en el servidor PXE una vez (que probablemente eventualmente lo haría de todos modos) y copia el archivo WIM no modificado y los archivos de soporte directamente desde el CD de Windows en el servidor PXE.
Lo único que debe tener en cuenta es que, si bien parece que puede iniciar el procedimiento de instalación de Windows de esta manera, en realidad no puede completarlo, y hacerlo posible está más allá del alcance de esta guía.
Hagamos locuras 🙂
Actualice PXElinux a V5.01
En el momento de escribir este artículo, la versión de Syslinux en el repositorio de Ubuntu todavía es 4.05. Supongo que es porque el equipo de Syslinux decidió cambiar las cosas con la rama V5 y tener cambió el camino sus módulos COM32 están funcionando (ahora basados en ELF) y han modificado el «kernel» para requerir una biblioteca (ldlinux.c32) para cualquier cosa más allá del «arranque puro». Esto hace que la rotura sea muy posible, para cualquiera que esté acostumbrado a la «forma antigua». No se preocupe, descargaremos los archivos necesarios manualmente y nos aseguraremos de que su instalación de FOG no pierda tiempo.
Usaremos la versión 5.01 porque es la última versión estable de la rama V5 en el momento de escribir este artículo y es en la que El equipo de Syslinux trabajó con el equipo de Wimboot para hacer este procedimiento específico funciona.
Notar: Otra razón por la que la última versión aún no forma parte del repositorio de Ubuntu (en mi humilde opinión) es que al menos en Citrix-Xen, los invitados HVM no pueden arrancar nada más allá de los menús PXE. Otros hipervisores como VMware, Hyper-V y VirtualBox, así como máquinas físicas son ideales para la nueva versión.
Si la nota anterior no se aplica a usted, continúe.
Obtenga PXElinux versión 5.01 directamente de Kernel.org y extraerlo en el servidor FOG mediante:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2
tar xvhf syslinux-5.01.tar.bz2
Cree el directorio que contendrá las nuevas bibliotecas necesarias:
mkdir -p /tftpboot/howtogeek/libs
Copie los archivos de biblioteca necesarios en este directorio, para que estén disponibles para los clientes en tiempo de ejecución:
cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/
cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/
cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/
Agregue la «ruta» a este directorio, al archivo de configuración «predeterminado» ya existente, ya sea modificándolo o ejecutando el siguiente comando:
echo "PATH howtogeek/libs" >> /tftpboot/pxelinux.cfg/default
Copie el ldlinux.c32 recién requerido en la raíz del servidor TFTP emitiendo:
cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/
Actualice el motor gráfico (vesamenu.c32) para que coincida con esta nueva versión:
cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/
Felicitaciones, su servidor PXE ahora está actualizado a v5.01 y todo lo que ya estaba funcionando (a menos que esté preocupado por la «nota» al comienzo de este segmento) debería continuar haciéndolo.
WIMboot
Este gestor de arranque es parte del Proyecto IPXE y lo describen así:
wimboot
es un cargador de arranque para Windows Imaging Format (.wim
) archivos. Te permite iniciar un Windows PE (WinPE) entorno desde un disco RAM, sin desperdiciar la memoria utilizada para la imagen del disco RAM.
Descargue la última versión de su sitio:
wget https://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Instale unzip en su servidor FOG si falta:
aptitude install unzip
Descomprime el paquete wimboot:
unzip wimboot-latest.zip
Copie el módulo wimboot en el directorio «libs» que creamos en el segmento anterior:
cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/
Es todo. El gestor de arranque wimboot está listo para ser llamado.
Archivos de CD de Windows
Cree un nuevo directorio en el servidor FOG para contener los archivos que vamos a copiar:
mkdir -p /tftpboot/howtogeek/WinPE/
Inserte el CD de instalación original de Windows 7 en su unidad de CD-ROM y copie los archivos que se enumeran a continuación en este directorio:
bootmgr
boot bcd
boot boot.sdi
fuentes boot.wim
Sí, es así de simple y no necesita mantener la estructura de directorios en el CD para que funcione.
Nota: Para que las actualizaciones del BIOS de Dell funcionen, he considerado necesario utilizar una versión de Windows de 32 bits.
Agregar entrada de menú
Cree la entrada del menú PXE modificando el menú «Utils»:
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Agregue lo siguiente:
label WinPE
com32 linux.c32 howtogeek/libs/wimboot
APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek/WinPE/boot.wim
Felicitaciones, ahora tiene WindowsPE en su servidor PXE. 🙂
Nota: puede parecer que se engancha al archivo «wim», pero no es así. En realidad, está transfiriendo los 140 MB de un archivo al cliente a través de TFTP, lo que lleva más tiempo que los archivos pequeños normalmente transferidos de esta manera.
Aquí está la captura de pantalla para demostrar que sucedió.
La máquina virtual anterior se ejecutó con VMware-player, tenía Ubuntu instalado en su disco duro y se inició PXE en WinPE.
Consola de recuperación de Windows
Nuevamente, como se mencionó en la vista previa, si bien parece que puede iniciar el proceso de instalación de Windows de esta manera, en realidad no puede completarlo, y hacerlo posible está más allá del alcance de esta guía.
Dicho esto, solo para dar un ejemplo de por qué esto sería útil, usaremos este entorno para realizar una actualización del BIOS de Dell.
Obtenga la actualización que necesita del sitio web de Dell y colóquela en un Disk-On-Key. Coloque el disco en la clave e inicie el cliente en PXE.
Para acceder a la Consola de recuperación, en la ventana principal como en la captura de pantalla anterior, haga clic en «Siguiente».
Haga clic en «Reparar su computadora».
Elija «Usar herramientas de recuperación» y haga clic en «Siguiente».
Haga clic en «Símbolo del sistema».
Una vez en el símbolo del sistema, deberá averiguar qué «letra de unidad» WinPE ha decidido designar para su Disk-on-Key. Para hacer esto, tenga el lista del sistema todas las letras de unidad asignadas actualmente al emitir:
wmic logicaldisk get name
Ahora, excluyendo las letras A: y X: y tal vez incluso C: (aunque eso no es un hecho), busque las letras de la unidad y encuentre el Disk-on-Key emitiendo:
Driveletter:
dir
Una vez que encuentre la unidad correcta, ejecute el archivo y debería ver algo como a continuación:
Felicitaciones, está listo para actualizar 🙂