Le boot PXE et le boot iPXE pour les débutants

I. Présentation

Dans cet article, nous allons parler de boot PXE ainsi que de boot iPXE puisque ce sont deux notions à connaître en tant qu'administrateur système et réseau et qui sont directement liées à un processus qui concerne toutes les entreprises : le déploiement de postes de travail.

Traditionnellement, lorsque l'on veut installer un système d'exploitation sur un poste de travail, on va prendre une clé USB et déployer l'ISO du système dessus. Une fois que c'est fait, on va connecter physiquement la clé USB à l'ordinateur pour qu'il charge le contenu de la clé USB afin que l'on puisse procédé à l'installation du système d'exploitation. Dans le même esprit, et même si maintenant c'est plus rare, on peut utiliser un CD ou DVD d'installation, mais là encore il faut avoir les sources sur un support physique.

Grâce au boot PXE ou iPXE, on va pouvoir s'affranchir de l'utilisation d'une clé USB, d'un CD ou d'un DVD puisque l'on va démarrer sur le réseau. Si vous êtes débutant en informatique et que vous souhaitez en savoir plus sur le boot PXE (et l'iPXE), alors cet article est fait pour vous !

Schéma - Déploiement par clé USB

II. Le boot PXE

Le boot PXE pour Preboot Execution Environment est un protocole de démarrage réseau qui permet à un ordinateur local de démarrer à partir de données situées sur un serveur distant, plutôt que de démarrer à partir du disque local, ou du contenu de la clé USB, si l'on veut faire référence à l'exemple précédent.

Cette méthode de démarrage est souvent utilisée pour le déploiement de postes de travail puisqu'elle va permettre de distribuer le système d'exploitation à installer (Windows 10, Windows 11, Windows Server, Linux, etc.) à partir du réseau. Ainsi, cette méthode permet de gagner énormément de temps et d'automatiser le processus de configuration des postes de travail. On peut affirmer que le boot PXE joue un rôle essentiel pour industrialiser le déploiement de machines en entreprise.

En fait, si l'on a besoin d'installer Windows 11 sur 20 machines différentes, plutôt que d'utiliser 20 clés USB ou de faire les machines une par une si l'on a qu'une seule clé USB, on va effectuer un boot PXE sur chaque machine et elles vont récupérer les sources d'installation depuis notre serveur.

Schéma - Déploiement par boot PXE

Dans la pratique, comment cela se traduit d'un point de vue réseau et infrastructure à mettre en place ? Le boot PXE repose sur deux protocoles importants : le protocole DHCP (Dynamic Host Configuration Protocol) pour fournir une configuration IP au client PXE, ainsi que l'adresse IP du serveur qui héberge les sources, ainsi que le protocole TFTP (Trivial File Transfer Protocol) pour accéder au serveur PXE et commencer à transférer l'image de démarrage via le réseau. Aujourd'hui, toutes les cartes réseau RJ45 Ethernet supportent le boot PXE, mais sur du matériel ancien, ce ne sera pas forcément une évidence !

On peut résumer ce processus en quelques étapes :

  1. Le client PXE, à savoir l'ordinateur, démarre et envoie une requête DHCP sur le réseau pour obtenir une adresse IP.
  2. Le serveur DHCP répond à la demande en fournissant une adresse IP au client, ainsi que les informations nécessaires pour accéder au serveur PXE (adresse IP ou nom).
  3. Le client PXE peut accéder au réseau donc il envoie une demande de boot PXE sur le réseau, en utilisant le protocole TFTP  pour accéder au serveur PXE.
  4. Le serveur PXE répond à la demande de l'ordinateur en fournissant les fichiers nécessaires pour le démarrage du système.
  5. Le client PXE télécharge ces fichiers à partir du serveur PXE (via le protocole TFTP) et les utilise pour démarrer sur l'image fournie.

L'image envoyée par le serveur PXE peut correspondre à un système d'exploitation ou à un environnement de démarrage tel que WinPE qui est l'environnement de pré-installation de Windows. Le boot PXE est souvent utilisé pour déployer un système d'exploitation mais on peut aussi l'utiliser pour charger un environnement de dépannage / récupération.

Puisque l'image du système d'exploitation est envoyée via le réseau, il y a une forte dépendance avec le réseau avec ce mode de fonctionnement (latence, bande passante, etc.).

III. Le boot iPXE

Sur le même principe que le boot PXE, le boot iPXE est une méthode plus récente qui permet à un ordinateur de démarrer sur le réseau. Le protocole iPXE est une extension du protocole PXE qui offre des fonctionnalités supplémentaires telles que:

  • le démarrage à partir d'un serveur web via HTTP
  • le démarrage à partir d'un SAN iSCSI, FCoE ou AoE
  • le démarrage à partir d'un réseau sans fil ou d'un réseau Infiniband
  • le support des scripts et des menus de démarrage personnalisés

Puisque l'on peut effectuer le téléchargement à partir d'un serveur Web via HTTP plutôt qu'en TFTP, on va bénéficier d'un protocole plus performant. Ce qui est intéressant aussi, c'est le fait de pouvoir récupérer les sources à partir d'Internet !

Le boot iPXE nécessite qu'un firmware iPXE soit installé sur la carte réseau de la machine. De plus en plus de fabricants intègrent la prise en charge de l'iPXE, en complément du PXE. Sur les machines où le PXE standard est supporté, il est possible d'appliquer la technique du PXE chainloading pour bénéficier de l'iPXE. Ainsi, on stocke l'iPXE sur un serveur TFTP et on démarre via le mode PXE classique et l'iPXE sera récupéré sur le serveur TFTP.

En résumé, on peut dire que l'iPXE va plus loin car il supporte de nombreux protocoles et va plus loin dans la personnalisation, même si les grands principes restent les mêmes. De ce fait, l'iPXE est utilisé aussi pour effectuer du déploiement de postes de travail via le réseau.

Des détails supplémentaires sont disponibles sur le site de ce firmware de démarrage open source : ipxe.org.

IV. Conclusion

Dans de prochains articles, nous verrons comment mettre en oeuvre le boot PXE et le boot iPXE. Sur Windows Server, nous pourrons utiliser les rôles DHCP et WDS (Windows Deployment Services) pour mettre ce principe en pratique, et ajouter MDT pour aller plus loin. Pour en savoir plus sur l'iPXE et voir un cas pratique, vous pouvez lire cet article déjà en ligne.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian BURNEL

Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

Nombre de posts de cet auteur : 5573.Voir tous les posts

5 thoughts on “Le boot PXE et le boot iPXE pour les débutants

  • Salut et merci pour le tuto !

    Mais j’aurais une question, je commence en wds et j’aurais aimé savoir comment faire quand le role DHCP et wds n’est pas sur le même serveur et sur le même réseau que mon serveur DHCP

    Merci !

    Répondre
  • Je serais preneur d’une méthode IPXE supportant le Secure Boot, hors solution Microsoft bien sûr 😉
    J’avais entendu parler de iPXE Anywhere de chez 2pintsoftware, j’ai jamais pu tester.
    L’idée serait de pouvoir utiliser le IPXE avec le Secure Boot pour n’importe quel solution de deploiement d’OS

    Répondre
  • bonjour
    j’ai vu votre Lab Tuto sur le déploiement PXE débutant, j’ai essayé de le reprendre mais je me suis confronté à deux problèmes: la configuration de la machine vierge sur Virtualbox, et la mise en réseau des deux machines, le serveur PXE et la machine vierge. J’ai essayé avec le Réseau Nat mais ça n’a pas marché. et aussi pour la machine vierge, comment peut-on la configurer sans système d’exploitation?
    merci.

    Répondre
  • Bonjour,
    merci pour ce tuto facile a suivre 🙂

    j’ai cependant un souci.

    J’ai l’erreur « Le téléchargement TFTP du client suivant ne s’est pas effectué correctement :  » sur tous les postes physiques testés + 1 VM (sur Hyper-V).

    Avez-vous des pistes à me conseiller, car etant novice dans le domaine, je sèche un peu …

    J’ai testé avec plusieurs isos de W10 différentes, mais toujours le meme souci.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.