Hola a todos!
Este artículo describe los pasos que debe seguir para agregar la capacidad de arranque UEFI a su WDS.
Aquellos. Las instrucciones de este artículo asumen que ya tiene la siguiente configuración:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Además, aquí se describen acciones que no me dieron el resultado adecuado.
Los describí para facilitar la búsqueda y ahorrarle tiempo.
prefacio
Hice un WDS en el trabajo con muchas cosas buenas, tk. cansado de andar constantemente con un montón de unidades flash y sobrescribirlas.
Estos artículos me ayudaron por cierto:
Y todo estuvo bien, se agregaron nuevas imágenes para cargar, la imagen winPE adquirió nuevas funciones y todo funcionó.
Pero, lejos de todos los dispositivos compatibles con el modo de arranque BIOS / Legacy, o si lo hacen, entonces su inclusión puede estar en un lugar muy poco obvio.
Sí, y la instalación de Windows en modo heredado, cuando es posible instalar en UEFI, no es genial.
Como resultado, decidí agregar la capacidad de iniciar en UEFI y fui a Google.
Pero no encontré información estructurada sobre cómo obtener un WDS + UEFI que funcione.
En realidad, es por eso que decidí escribir este artículo.
Antes de comenzar, describiré el problema que tomó más tiempo.
Al agregar UEFI a WDS, es posible la siguiente situación, bastante no obvia:
Si agrega un archivo de arranque a WDS y cuando intenta arrancar en el dispositivo
en UEFI verá el siguiente texto:
The selected boot device failed. Press <Enter> to Continue.
O Boot Device Not Found
Pero cargar en legado funciona para ti.
Entonces una de las opciones posibles es la ausencia de un archivo wdsmgfw.efi,
de la siguiente manera: %WDSpath%Bootx64wdsmgfw.efi
Puedes tomarlo aquí: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
O, si por alguna razón le falta este archivo, lo publiqué en
Por esta solución, gracias chicos de
Con este problema, maté la mayor parte del tiempo, porque. Pensé que el problema estaba en algún lugar de la configuración de WDS o DHCP.
Políticas configuradas agregando clases de proveedores para varias arquitecturas y configurando las opciones de DHCP 060, 066, 067.
Arquitecturas en ASCII para configurar DHCP
PXEClient:Arch:00000 - BIOS/heredado
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
Además, probé varias opciones para archivos de arranque. .efi
- syslinux
- grub 2
También traté de encontrar el problema en el registro de eventos.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Pero, como dije anteriormente, el problema estaba en el archivo wdsmgfw.efi.
O lo eliminé yo mismo por accidente o no se copió durante la instalación
y configurar WDS.
Bueno, ¡comencemos!
instrucciones
Etapa 1: verificar que WDS esté funcionando
Tome cualquier dispositivo o máquina virtual con soporte para arrancar en modo UEFI a través de la red e intente arrancar.
Deberías tener la siguiente imagen:
Si es así, genial, puedes continuar.
Si no, entonces mira lo que escribí en el prefacio.
Etapa 2: creación del archivo de arranque iPXE
Lanzamos Ubuntu pre-preparado, abrimos una terminal y pegamos esta línea:
git clone https://git.ipxe.org/ipxe.git ipxe
Aquí me gustaría hacer un pequeño comentario de que es posible que deba agregar paquetes a Ubuntu que son necesarios para compilar C y C ++.
Recién los tengo instalados.
¿Descargado? - ¡Excelente!
Ahora necesita crear un archivo de configuración para el ensamblaje.
En la terminal, escribimos:
cd ipxe/src
gedit chain.ipxe
Y pegue el siguiente código en este archivo y luego guárdelo:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
Volvemos a la terminal y comenzamos la compilación:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Si todo está en orden, debería obtener el siguiente resultado en la terminal:
y archivo ipxe.efi, por el camino: ipxe/src/bin-x86_64-efi/ipxe.efi
Si por alguna razón no puede compilar por su cuenta,
he adjuntado el mio
Está compilado para arrancar desde http://192.168.0.100/install.ipxe
Eso es todo para Ubuntu.
Paso 3: agregar ipxe.efi a WDS
Tomamos el archivo que recibimos en la segunda etapa y lo copiamos en el camino:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Después lo renombramos a BOOTX64.EFI.
No es necesario, simplemente es más conveniente.
Luego lanzamos cmd en nombre del administrador, y escriba los siguientes comandos:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
и
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
Esto establecerá que el archivo resultante se descargue a través de WDS.
Comprobemos la configuración:
wdsutil /get-server /Show:Config
También copié el archivo ipxe.efi, lo renombré BOOTIA32.EFI y configuré el arranque, por si acaso. architecture:x86uefi
Pero en general, esto no tiene sentido, porque. El archivo Bootmgfw.efi no es compatible con x86
Vamos a comprobar lo que pasó.
Genial, WDS envía nuestro archivo para descargar y este, a su vez, busca la configuración en la ruta: http://192.168.0.100/install.ipxe
Paso 4 - Configuración del menú
Vaya a la carpeta raíz de su sitio.
El valor predeterminado es: C:inetpubwwwroot
Crear un archivo de texto instalar.ipxe.
y configurarlo según
También hay un idioma ruso.
lo disfruté
Ejemplo de configuración de install.ipxe
#!ipxe
:start
menu Please choose an operating system to start/install
item --gap Start Win PE
item WinPE-x64 WinPE x64
item --gap ipxe shell
item shell Drop to iPXE shell
choose target && goto ${target}
:failed
echo Booting failed, dropping to shell
goto shell
:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start
:WinPE-x64
kernel http://192.168.0.100/wimboot
initrd http://192.168.0.100/peSE/Boot/bcd
initrd http://192.168.0.100/peSE/Boot/boot.sdi
initrd http://192.168.0.100/peSE/Boot/peSE64.wim
boot || goto failed
Puede leer sobre la configuración para cargar winPE
Etapa 5 - Tipos MIME
Después de crear el menú y agregar todos los archivos necesarios a la carpeta raíz de IIS,
necesitas darles acceso.
Porque incluso si intenta descargar un archivo desde el navegador, obtendrá un error en su dirección: HTTP 404.3 - Not Found
.
Para hacer esto, debe agregar tipos MIME en el panel de control de IIS, de acuerdo
con extensiones de archivo que descargarás a través de http.
No busqué qué tipo de MIME es mejor para este propósito y pregunté application/octet-stream
, después de lo cual todo funcionó.
Para archivos que no tienen extensión, use un punto.
Aquí, así que:
Conclusión
En última instancia, tenemos la capacidad de arrancar a través de una red local a través de UEFI.
Si hicimos todo correctamente, habrá algo como este menú de selección de arranque:
Si ha preparado las herramientas básicas y no se molestará con la configuración, le llevará entre 10 y 20 minutos implementar esta función.
Me tomó 2 días hábiles, porque. Tuve que googlear mucho.
¡Implementación exitosa!
¡Gracias por su atención y muchas gracias a aquellas personas cuyos artículos me ayudaron!
En Habré es:
Fuente: habr.com