Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Bonjour à tous !

Cet article décrit les étapes à suivre pour ajouter la possibilité de démarrage en mode UEFI à votre WDS.

C'est-à-dire que les instructions dans cet article supposent que vous avez déjà une configuration approximativement suivante :

1. Windows Server 2012R2 (ou plus récent) 2. DHCP complètement configuré pour travailler avec WDS 3. Le WDS lui-même 4. IIS 5. Une machine virtuelle ou un PC avec Ubuntu

De plus, ici sont décrites des actions qui ne m'ont pas donné de résultats satisfaisants.
Je les ai décrites pour faciliter la recherche et économiser votre temps.

Préface

J'ai mis en place un WDS au travail avec plein de fonctionnalités, car j'en avais marre de courir avec une panoplie de clés USB et de les réécrire.

Ces articles m'ont été très utiles à l'époque :
Ajout de la polyvalence de WDS
Menu de démarrage PXE avec System Center Configuration Manager


Cela ressemble à ceci

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Et tout allait bien, de nouvelles images de démarrage étaient ajoutées, l'image winPE se remplissait de nouvelles fonctionnalités et tout fonctionnait.

Cependant, peu de dispositifs prennent en charge le mode de démarrage BIOS/Legacy, ou si oui, son activation peut se trouver dans un endroit très peu évident.

De plus, installer Windows en mode Legacy, alors qu'il est possible de l'installer en UEFI, n'est pas idéal.

Finalement, j'ai décidé d'ajouter la possibilité de démarrer en UEFI et je me suis tourné vers Google.

Mais je n'ai pas trouvé d'informations structurées sur comment obtenir un WDS + UEFI fonctionnel.
C'est donc pourquoi j'ai décidé d'écrire cet article.

Avant de commencer, je vais décrire le problème qui a pris le plus de temps.

Lors de l'ajout de l'UEFI à WDS, une situation plutôt inattendue peut se présenter :

Si vous ajoutez un fichier de démarrage à WDS et que lors de la tentative de démarrage sur l'appareil
en UEFI, vous voyez le texte suivant :
Le périphérique de démarrage sélectionné a échoué. Appuyez sur pour continuer.
Ou Périphérique de démarrage introuvable
Mais le démarrage en legacy fonctionne.
Alors, l'une des options possibles est l'absence du fichier wdsmgfw.efi,
au chemin suivant : %WDSpath%Bootx64wdsmgfw.efi

Vous pouvez l'obtenir ici : C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Ou, si vous n'avez pas ce fichier pour une raison quelconque, je l'ai mis à disposition sur google.
Merci pour cette solution aux gars de reddit.

J'ai passé le plus de temps sur ce problème, car je pensais que le problème venait de la configuration de WDS ou DHCP.

J'ai configuré des politiques en ajoutant des classes de fournisseurs pour différentes architectures et en ajustant les options DHCP 060, 066, 067. Instruction concernant la configuration des politiques DHCP.

Architectures en ASCII pour la configuration DHCP

PXEClient:Arch:00000 — BIOS/Legacy
PXEClient:Arch:00006 — UEFI x86
PXEClient:Arch:00007 — UEFI x64

J'ai également essayé différentes options de fichiers de démarrage .efi

  • syslinux
  • grub 2

J'ai aussi essayé de trouver le problème dans le Journal des événements.
win + r -> eventvwr -> Journaux des applications et services -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Mais, comme je l'ai dit précédemment, le problème se trouvait dans le fichier wdsmgfw.efi.
Soit je l'ai accidentellement supprimé, soit il n'a pas été copié lors de l'installation
et la configuration de WDS.

Eh bien, commençons !

Instruction

Étape 1 — Vérifier le bon fonctionnement de WDS

Prenez n'importe quel appareil ou machine virtuelle compatible avec le démarrage UEFI par le réseau et essayez de démarrer.

Vous devriez avoir l'image suivante :

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Si c'est le cas, parfait, vous pouvez continuer.
Sinon, regardez ce que j'ai écrit dans l'introduction.

Étape 2 — Assemblage du fichier de démarrage iPXE

Lancez Ubuntu préparé à l'avance, ouvrez le terminal et insérez cette ligne :

git clone https://git.ipxe.org/ipxe.git ipxe

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Je voudrais faire une petite remarque, vous pourriez avoir besoin d'ajouter les paquets nécessaires pour compiler C et C++ dans Ubuntu.
Pour ma part, ils étaient déjà installés.

Téléchargé ? — Super !
Maintenant, il faut créer le fichier de configuration pour la compilation.
Dans le terminal, tapez :

cd ipxe/src
gedit chain.ipxe

Et insérez dans ce fichier le code suivant, puis enregistrer :

#!ipxe

dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe

Allons de nouveau dans le terminal et lançons la compilation :

make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Si tout va bien, vous devriez obtenir le résultat suivant dans le terminal :

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Et le fichier ipxe.efi, au chemin : ipxe/src/bin-x86_64-efi/ipxe.efi
Si, pour une raison quelconque, vous n'avez pas pu le compiler vous-même,
j'ai joint le mien fichier.
Il est compilé pour démarrer avec http://192.168.0.100/install.ipxe

C'est tout pour Ubuntu.

Étape 3 — Ajout de ipxe.efi à WDS

Prenez le fichier que nous avons obtenu à la deuxième étape et copiez-le au chemin :
%WDSpath%Bootx64%your-boot-folderIBOOT
Après, renommez-le en BOOTX64.EFI.
Ce n'est pas obligatoire, mais c'est plus pratique.

Ensuite, lancez cmd en tant qu'administrateur, et tapez les commandes suivantes :

wdsutil /set-server /bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi
et
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi

Cela installera le fichier obtenu pour le démarrage via WDS.

Vérifions la configuration :

wdsutil /get-server /Show:Config

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

J'ai également copié le fichier ipxe.efi, l'ai renommé en BOOTIA32.EFI et configuré le démarrage pour lui, juste au cas où. architecture:x86uefi
Mais en réalité, cela n'a pas beaucoup de sens, car le fichier Bootmgfw.efi ne prend pas en charge x86

Vérifions ce que nous avons obtenu.
Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI
Excellent, WDS transmits our file for loading and it in turn looks for the configuration at the path: http://192.168.0.100/install.ipxe

Étape 4 — Configuration du menu

Allons dans le dossier racine de votre site.
Par défaut, c'est : C:inetpubwwwroot

Créons un fichier texte install.ipxe.

et configurons-le en fonction de de la documentation et de vos besoins.
Il existe également une description en russe des commandes. J'ai utilisé
le guide lors de la configuration de mon WDS. celui-ci Exemple de configuration install.ipxe

Vous pouvez lire sur la configuration pour le chargement de winPE

#!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

Étape 5 — Types MIME ici.

Après avoir créé le menu et ajouté tous les fichiers nécessaires dans le dossier racine d'IIS,

il est nécessaire d'y donner accès.
Car même si vous essayez de télécharger un fichier depuis le navigateur, à son adresse, vous obtiendrez une erreur :

HTTP 404.3 - Not Found Pour ce faire, il est nécessaire d'ajouter des types MIME dans le panneau de configuration IIS, en fonction.
Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

des extensions de fichiers qui seront téléchargés via http.
Je n'ai pas cherché quel type MIME convient le mieux à cet usage, et j'ai défini

application/octet-stream , après quoi tout a fonctionné.Pour les fichiers sans extension, utilisez un point.

En fin de compte, nous permettons le chargement sur le réseau local via UEFI.

Voici comment :

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Conclusion

Si nous avons tout fait correctement, nous aurons à peu près ce menu de sélection de démarrage :

Si vous avez préparé les outils principaux et que vous ne vous embêtez pas avec la configuration, cela prend environ 10 à 20 minutes à réaliser.

Élargir les fonctionnalités de WDS : ajout de la possibilité de démarrer en UEFI

Pour moi, cela a pris 2 jours de travail, car j'ai dû faire beaucoup de recherches.
Bonne mise en œuvre !

Merci pour votre attention et un grand merci à ceux dont les articles m'ont aidé !

Sur Habr, c'est :
Ingtar Deeptown et Bonjour à tous ! Dans cet article, les étapes à suivre pour ajouter la possibilité de démarrage en mode UEFI à votre WDS sont décrites. C'est-à-dire..

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster