Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Bonjour à tous!

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

Ceux. Les instructions de cet article partent du principe que vous disposez déjà de la configuration suivante :

1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu

De plus, voici des actions décrites qui ne m'ont pas apporté le bon résultat.
Je les ai décrites pour faciliter la recherche et vous faire gagner du temps.

Avant-propos

J'ai fait un WDS au travail avec plein de goodies, tk. fatigué de courir constamment avec un tas de clés USB et de les écraser.

Ces articles m'ont d'ailleurs aidé :
Ajout de la polyvalence WDS
Menu de démarrage PXE avec System Center Configuration Manager


Ça ressemble à ça

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Et tout allait bien, de nouvelles images ont été ajoutées pour le chargement, l'image winPE était envahie par de nouvelles fonctionnalités et tout fonctionnait.

Mais, loin de tous les appareils prennent en charge le mode de démarrage BIOS / Legacy, ou s'ils le font, son inclusion peut être dans un endroit très non évident.

Oui, et installer windows en mode legacy, alors qu'il est possible d'installer en UEFI, ce n'est pas cool.

En conséquence, j'ai décidé d'ajouter la possibilité de démarrer dans UEFI et je suis allé sur Google.

Mais je n'ai pas trouvé d'informations structurées sur la façon d'obtenir un WDS + UEFI fonctionnel.
En fait, c'est 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 d'UEFI à WDS, la situation suivante, plutôt non évidente, est possible :

Si vous ajoutez un fichier de démarrage à WDS et lorsque vous essayez de démarrer sur le périphérique
dans UEFI, vous voyez le texte suivant :
The selected boot device failed. Press <Enter> to Continue.
Ou Boot Device Not Found
Mais le chargement dans l'héritage fonctionne pour vous.
Ensuite l'une des options possibles est l'absence de fichier wdsmgfw.efi,
de la manière suivante: %WDSpath%Bootx64wdsmgfw.efi

Tu peux le prendre ici : C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Ou, si pour une raison quelconque ce fichier vous manque, je l'ai posté sur google.
Pour cette solution, merci les gars de reddit.

Avec ce problème, j'ai tué le plus de temps, parce que. Je pensais que le problème était quelque part dans la configuration WDS ou DHCP.

Politiques configurées en ajoutant des classes de fournisseurs pour diverses architectures et en définissant les options DHCP 060, 066, 067. Instruction pour configurer les politiques DHCP.

Architectures en ASCII pour configurer DHCP

PXEClient:Arch:00000 - BIOS/hérité
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64

De plus, j'ai essayé diverses options pour les fichiers de démarrage. .efi

  • syslinux
  • grub 2

J'ai également essayé de trouver le problème dans le journal des événements.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Mais, comme je l'ai dit plus haut, le problème résidait dans le fichier wdsmgfw.efi.
Soit je l'ai supprimé accidentellement moi-même, soit il n'a pas été copié lors de l'installation
et configurer WDS.

Eh bien, commençons !

Instruction

Étape 1 - Vérifiez que WDS fonctionne

Prenez n'importe quel appareil ou machine virtuelle prenant en charge le démarrage en mode UEFI sur le réseau et essayez de démarrer.

Vous devriez avoir l'image suivante :

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Si c'est le cas, super, vous pouvez continuer.
Sinon, voyez ce que j'ai écrit dans la préface.

Étape 2 - Création du fichier de démarrage iPXE

Nous lançons Ubuntu pré-préparé, ouvrons un terminal et collons cette ligne :

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

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Ici, je voudrais faire une petite remarque sur le fait que vous devrez peut-être ajouter des packages à Ubuntu qui sont nécessaires pour compiler C et C ++.
Je viens de les installer.

Téléchargé ? - Super!
Vous devez maintenant créer un fichier de configuration pour l'assemblage.
Dans le terminal, on écrit :

cd ipxe/src
gedit chain.ipxe

Et collez le code suivant dans ce fichier, puis enregistrez :

#!ipxe

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

On retourne au terminal et on lance la compilation :

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

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Si tout est en ordre, vous devriez obtenir la sortie suivante dans le terminal :

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Et fichier ipxe.efi, le long du chemin: ipxe/src/bin-x86_64-efi/ipxe.efi
Si pour une raison quelconque vous ne pouvez pas compiler vous-même,
j'ai joint le mien файл.
Il est compilé pour démarrer à partir de http://192.168.0.100/install.ipxe

C'est tout pour Ubuntu.

Étape 3 - Ajout de ipxe.efi à WDS

Nous prenons le fichier que nous avons reçu à la deuxième étape et le copions en cours de route :
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Après l'avoir renommé BOOTX64.EFI.
Ce n'est pas nécessaire, c'est juste plus pratique.

Puis nous lançons cmd au nom de l'administrateur, et écrivez les commandes suivantes :

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

Cela définira le fichier résultant à télécharger via WDS.

Vérifions la configuration :

wdsutil /get-server /Show:Config

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

J'ai également copié le fichier ipxe.efi, l'ai renommé BOOTIA32.EFI et configuré le démarrage, juste au cas où. architecture:x86uefi
Mais dans l'ensemble, cela n'a aucun sens, parce que. Le fichier Bootmgfw.efi ne prend pas en charge x86

Vérifions ce qui s'est passé.
Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI
Génial, WDS envoie notre fichier en téléchargement et celui-ci, à son tour, recherche la configuration le long du chemin : http://192.168.0.100/install.ipxe

Étape 4 - Configuration des menus

Accédez au dossier racine de votre site.
La valeur par défaut est : C:inetpubwwwroot

Créer un fichier texte installer.ipxe.

et configurez-le selon Documentation et vos besoins.
Il y a aussi une langue russe description commandes.
j'ai aimé cette instructions lors de la configuration de votre WDS.

exemple de configuration 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

Vous pouvez lire sur la configuration pour le chargement de winPE ici.

Étape 5 - Types MIME

Après avoir créé le menu et ajouté tous les fichiers nécessaires au dossier racine IIS,
vous devez leur donner accès.

Parce que même si vous essayez de télécharger un fichier depuis le navigateur, vous obtiendrez une erreur à son adresse : HTTP 404.3 - Not Found.
Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Pour ce faire, vous devez ajouter des types MIME dans le panneau de configuration IIS, conformément
avec des extensions de fichiers que vous téléchargerez via http.

Je n'ai pas cherché quel type MIME convient le mieux à cette fin et j'ai demandé application/octet-stream, après quoi tout a fonctionné.

Pour les fichiers qui n'ont pas d'extension, utilisez un point.

La voici:

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Conclusion

En fin de compte, nous avons la possibilité de démarrer sur un réseau local via UEFI.

Si nous avons tout fait correctement, alors il y aura quelque chose comme ce menu de sélection de démarrage :

Extension de la fonctionnalité WDS : ajout de la capacité de démarrage UEFI

Si vous avez préparé les outils de base et que vous ne vous souciez pas de la configuration, la mise en œuvre de cette fonctionnalité prend environ 10 à 20 minutes.
Cela m'a pris 2 jours ouvrables, parce que. J'ai dû beaucoup googler.

Mise en œuvre réussie !

Merci pour votre attention et un grand merci aux personnes dont les articles m'ont aidé !
Sur Habré c'est : Ingtar и Ville profonde.

Source: habr.com

Ajouter un commentaire