Gola Bootlace : installer n’importe quel système sur le réseau, sans clé USB
Date de publication

Gola Bootlace est un programme gratuit et open source qui transforme un dossier de fichiers ISO en menu de démarrage pour tous les PC de votre réseau. Branchez le PC au câble réseau, choisissez « démarrer sur le réseau », sélectionnez Windows 11, Ubuntu ou un outil de dépannage dans le menu, et c’est parti. Pas de clé USB, et pas de tiroir rempli de clés. Il s’adresse aux techniciens, ateliers, bureaux et laboratoires personnels qui installent ou dépannent beaucoup de PC.
Gola utilise Bootlace en interne pour ses propres installations. Il est libre et open source, et encore jeune (avant la version 1.0) : nous cherchons des testeurs et des contributeurs. Vous trouverez comment nous aider à la fin de cet article.
Pourquoi nous l’avons créé
Installer et dépanner des ordinateurs, c’est notre travail quotidien : nous connaissons par cœur la routine des clés USB. Trouver la bonne clé, constater qu’elle contient le Windows de l’an dernier, la réécrire, attendre, la brancher, attendre encore. Multipliez par vingt PC et dix systèmes différents : vous obtenez un tiroir de clés, dont la moitié sont périmées.
Le démarrage par le réseau est la solution classique, et tous les PC récents le gèrent. Ce que nous voulions, c’était une version qu’un technicien d’atelier peut faire tourner sans être ingénieur réseau : déposer des ISO dans un dossier, les voir dans un menu, les lancer telles quelles. Nous n’avons pas trouvé de programme unique qui le fasse aussi bien pour Windows que pour Linux, alors nous l’avons écrit, et nous le publions en open source pour que tous ceux qui installent des PC puissent l’utiliser, le vérifier et l’améliorer.
D’où vient le nom
Un lacet ferme une chaussure, et un PC « boote » quand il démarre. Bootlace lace le démarrage d’un ordinateur par le réseau : le PC tire sur le lacet et le système se lève, sans clé USB.
Nos outils portent des noms de métiers du textile, le tissage et la couture, deux artisanats bien vivants en Tunisie. NTLoom est le métier à tisser, Shuttle (la navette) est la pièce du métier qui fait passer le fil d’un côté à l’autre, Stitch (le point de couture) assemble les morceaux en un seul vêtement, Bootlace (le lacet) lace le démarrage d’un ordinateur par le réseau, Bobbin (la bobine) retient plusieurs fils à la fois, de sorte qu’une seule clé USB porte plusieurs installations, et Kit est la trousse à outils du technicien.
Ce qui le distingue
• Un dossier plutôt qu’un tiroir. Pour ajouter un ISO, copiez le fichier ; pour le retirer, supprimez-le. Rien n’est décompressé, modifié ni écrit sur les disques du PC : l’ISO démarre tel quel.
• Windows et Linux dans le même menu. Windows 10, 11 et Server s’installent directement depuis le réseau ; la plupart des installateurs Linux, systèmes live et outils de dépannage démarrent depuis la même liste, en UEFI comme en BIOS ancien.
• Rien à changer sur le routeur. Bootlace ne répond qu’aux PC qui demandent un démarrage réseau et laisse le serveur DHCP du réseau tranquille. Arrêtez le programme et il ne reste rien sur les PC.
• Le Secure Boot est intégré. Les fichiers de démarrage signés voyagent dans le programme : rien à télécharger, aucune clé à enregistrer dans les PC. Windows et Ubuntu ont aussi une voie par le gestionnaire de démarrage du firmware.
• Installations sans surveillance. Gardez sur une page des fichiers de réponses pour Debian, Ubuntu, Red Hat, openSUSE et Windows, et attachez-en un à un ISO ou à un seul PC.
• Il reconnaît des ISO qu’il n’a jamais vus. Un ISO que Bootlace ne reconnaît pas par son nom n’est pas refusé : il lit les menus de démarrage de l’ISO pour deviner ce que c’est et, à défaut, le présente au PC comme un CD-ROM réseau.
• Vous vérifiez que ça marche avant d’aller au PC. Un auto-test en un clic demande au serveur ce que demande un PC, et une recherche trouve les autres serveurs qui répondraient eux aussi au PXE.
• Léger. Un seul fichier de 16 Mo (une image Docker de 42 Mo), environ 15 à 20 Mo de mémoire au repos, et un minimum mesuré de 256 Mo de mémoire et un cœur pour le conteneur. Pas de base de données, rien d’autre à installer.
• Open source, versions signées. GPL-3.0-or-later, avec des instructions pour vérifier la signature de chaque téléchargement.
Comment un PC démarre avec Bootlace
Bootlace tourne sur un ordinateur qui reste allumé : un petit serveur, un PC de récupération, un conteneur Proxmox. Un PC du même réseau demande à démarrer par le réseau (c’est ce qu’on appelle le PXE), et les étapes ci-dessous s’enchaînent.

Le même menu atteint tous les types de PC, quel que soit leur firmware :

Toutes les fonctions
Les systèmes qu’il démarre
• Windows 10, Windows 11 et Windows Server. L’installation lit ses fichiers sur un petit partage en lecture seule que le serveur fournit lui-même ; le PC s’installe donc directement depuis le réseau.
• La plupart des installateurs et systèmes live Linux : Ubuntu, Debian, Fedora, Arch, Alpine, Kali, Proxmox VE, TrueNAS et bien d’autres, ainsi que des outils de dépannage et de maintenance comme SystemRescue, Clonezilla, GParted, Rescuezilla et les tests de mémoire.
• Les systèmes live lisent l’ISO sur le serveur au fur et à mesure (comme un disque réseau, ou un CD iSCSI) au lieu de la copier dans la mémoire du PC : le PC n’a donc pas besoin de place pour l’ISO entier.
• Les installateurs Debian et Kali s’installent par le réseau : Bootlace donne à l’installateur un CD qu’il sait trouver, et un ISO netinst va jusqu’au bout de l’installation.
• Les ISO inconnus sont reconnus d’après leurs propres menus de démarrage ; à défaut, le PC reçoit l’ISO comme un CD-ROM réseau.
• Images disque et fichiers compressés : .iso, .img, .raw, et les fichiers .xz, .gz, .zst, .bz2 et .zip (décompressés une fois, à la demande, avec contrôle de l’espace disque libre).
• FreeBSD démarre aussi, à titre expérimental.


Nous ne marquons un ISO comme fonctionnel qu’après l’avoir vu arriver jusqu’à son installateur ou son bureau dans notre laboratoire de test. La liste de ce que nous avons essayé, avec les résultats, est publique : la liste de compatibilité. Certains ne fonctionnent pas encore (pfSense en UEFI, par exemple) et la liste le dit.
Installations de Windows
• Ignorer les contrôles de l’installation de Windows 11 que vous choisissez : TPM 2.0, Secure Boot, 4 Go de mémoire, processeur pris en charge, 64 Go de stockage. Rien n’est ignoré sans case cochée, et la page rappelle que Windows fonctionne alors sans promesse de mises à jour ni d’assistance de Microsoft.
• Compte local au premier démarrage pour Windows 11, qui n’offre plus de moyen de passer sa page réseau.
• Pilotes pour l’installation de Windows. Placez des paquets de pilotes dans un dossier de la bibliothèque : ils sont ajoutés à la copie de l’image de démarrage de Windows fournie au PC, et l’installation voit un disque ou une carte réseau qu’elle ne connaissait pas. L’ISO lui-même n’est jamais modifié.
• Un écran d’échec clair. Si l’installation ne joint pas le partage parce que la carte réseau du PC n’a pas de pilote, l’écran liste les périphériques sans pilote et dit où placer un paquet de pilotes.
• Fichiers de réponses Windows (autounattend.xml) par PC ou par ISO, avec le nom du PC renseigné.

Installations sans surveillance
La page Unattended garde des fichiers de réponses, ceux qu’un installateur lit pour ne rien demander : preseed Debian, autoinstall Ubuntu, kickstart Red Hat, AutoYaST openSUSE et autounattend.xml Windows. Chaque modèle indique en tête qu’il efface le disque.
• Attachez un fichier à un ISO ou à un seul PC (le choix du PC l’emporte) ; l’attachement demande une confirmation, car chaque PC qui lance ensuite cet ISO s’installe sans rien demander.
• Un seul fichier sert plusieurs PC : le nom, l’adresse, le numéro de série du PC, etc. sont renseignés pour le PC qui le demande.
• Les mots de passe d’un fichier sont affichés en étoiles, et la page avertit quand une ligne contient un mot de passe en clair. Les modèles demandent des empreintes de mot de passe.
• Un fichier n’est remis qu’à un PC qui a demandé le menu dans les deux dernières heures, et un nombre limité de fois. Un installateur ne peut pas s’identifier : la page dit clairement que le fichier n’est pas secret pour le réseau local.

Secure Boot
Le Secure Boot (un réglage du firmware) bloque normalement les programmes lancés par un démarrage réseau. Bootlace a trois réponses. Intégré : le shim et iPXE signés du projet iPXE font partie du programme, c’est le réglage par défaut d’une nouvelle installation, sans rien à enregistrer. Votre propre clé : un dossier avec un shim et un iPXE que vous avez signé vous-même, pour ceux qui veulent gérer leur clé. Désactivé. Le choix des PC concernés (tous les PC UEFI 64 bits, ou seulement ceux que vous marquez) se fait sur la page Server et s’applique au démarrage suivant, sans redémarrage. Une règle peut aussi lancer Windows ou Ubuntu avec le gestionnaire de démarrage du firmware. Le programme vérifie ses fichiers intégrés par rapport à un manifeste à chaque démarrage.

Le menu que voit un PC
• Un menu en image sur les PC UEFI, avec le logo Gola Bootlace ; un menu en texte sur les PC BIOS. Les longues listes s’affichent page par page.
• Autres façons de démarrer un ISO : les entrées du menu de démarrage propre à un ISO (graphismes sûrs, installation OEM, mode de secours, vérification du disque) sont proposées à côté du démarrage habituel. Sur la page ISOs, vous pouvez masquer ou renommer une entrée, lui ajouter des arguments ou choisir celle qui démarre par défaut.
• Ce qui démarre tout seul : rien, un ISO ou le disque du PC, après un délai que vous réglez. Quand une installation redémarre un PC, « Boot from this PC’s own disk » le ramène sur son nouveau système.
• Un mot de passe de démarrage par ISO, pour qu’un menu utilisable par quiconque devant le PC ne lance pas un effacement de disque par accident.
• Un démarrage raté ne laisse pas le PC bloqué : il revient au menu avec un message, au lieu de filer en silence vers son disque.
• Répond aux PC qui ne savent démarrer qu’en HTTP (UEFI HTTP boot).
• La couleur de la ligne sélectionnée, et des motifs pour garder certains fichiers hors du menu.

Vos PC
• La liste de chaque PC qui a demandé un menu, avec son modèle, son adresse et sa dernière action, avec recherche et pagination. Un PC qui n’a fait que demander un fichier de démarrage est signalé comme tel, ce qui indique quand le Secure Boot refuse peut-être iPXE.
• Des noms que vous donnez aux PC (un PC peut en suggérer un avec son nom d’hôte ou son numéro d’inventaire), et un historique de ce que le serveur a vu pour chaque PC, téléchargeable pour tous les PC en CSV.
• Wake-on-LAN depuis la liste.
• Des règles par PC : afficher le menu, démarrer sur son propre disque, ou lancer un ISO sans rien demander.
• Des règles par type de PC, selon le modèle, le fabricant ou la plateforme (« tous les HP démarrent sur leur propre disque »).
• Options du noyau par PC : arguments supplémentaires, démarrage détaillé et console série, pour un seul PC.
• Oublier un PC dont vous n’avez plus besoin. Les PC non vus depuis 90 jours (réglable) sont oubliés d’eux-mêmes.

Vos ISO
• Renommer un ISO dans le menu, le masquer, choisir ce qui démarre tout seul et voir les commandes exactes que reçoit un PC.
• Commutateurs de débogage : démarrage détaillé, console série et shell de débogage qui arrête le démarrage pour que vous puissiez regarder autour de vous.

La bibliothèque
• Dossiers : rangez les ISO dans des sous-dossiers et créez-en depuis la page.
• Ajouter des fichiers de trois façons : envoi depuis le navigateur (un envoi interrompu reprend là où il s’était arrêté), téléchargement par le serveur depuis une adresse web avec contrôle de l’empreinte, ou simple copie dans le dossier.
• Renommer, déplacer, nouveau dossier, supprimer. Un ISO garde son nom de menu, son état masqué et ses règles quand on le renomme ou le déplace ; rien n’est jamais remplacé, et la suppression n’est jamais récursive.
• Il protège le disque et le serveur : un fichier dont les premiers octets ne correspondent pas à son nom est refusé dès leur arrivée, une réserve d’espace libre est conservée, et un doublon de nom, d’adresse, de taille ou de contenu est signalé.
• Un cache qui se nettoie tout seul : les images décompressées et les fichiers de démarrage Windows préparés sont gardés une fois, et les moins récemment utilisés sont supprimés quand la place manque ; les restes sont nettoyés automatiquement.

Vérifier que ça marche avant d’aller au PC
• Auto-test : en un clic, le serveur demande ce que demande un PC, étape par étape : le menu, le téléchargement de l’ISO, le TFTP, le partage Windows et le disque réseau.
• Recherche d’autres serveurs PXE ou DHCP-boot sur le réseau, première cause d’échec d’un démarrage réseau.
• Test de vitesse de la bibliothèque, qui dit la vitesse de lecture et d’écriture du disque de la bibliothèque.
• Sauvegarde et restauration des réglages, avec une copie gardée dans la bibliothèque : un nouveau conteneur qui reçoit la même bibliothèque peut les reprendre.
• Des services que l’on démarre et arrête depuis la page, chacun avec son état et son éventuelle erreur.

La page de gestion
Tout se gère depuis une page web sur le serveur (Dashboard, Server, Library, ISOs, PCs, Menu, Unattended, Log et Account) ; une fois le programme lancé, il n’y a plus de ligne de commande à utiliser.
• Un guide de premier démarrage en quatre étapes (votre mot de passe, la bibliothèque, qui peut utiliser le serveur, les vérifications).
• Un journal en direct avec filtre et bouton de téléchargement, et une option pour le garder aussi dans un fichier.
• Un mot de passe inventé au premier lancement ; cinq mots de passe erronés bloquent l’adresse pendant cinq minutes.


Sûr par conception
• Lecture seule : le serveur web, le disque réseau, la cible iSCSI et le partage Windows n’écrivent jamais dans un ISO.
• Réseau local uniquement : chaque service refuse les adresses non privées ; les autres réseaux, comme celui d’un VPN, s’ajoutent à la main.
• Lecteurs renforcés : les lecteurs d’ISO et de menus de démarrage et le script de menu ont été testés par fuzzing, qui a permis de trouver et corriger plusieurs plantages, et les noms issus de fichiers sont nettoyés avant d’arriver dans un menu.
Le lancer en quelques minutes
Le plus rapide, si vous avez Proxmox : lancez cette commande sur l’hôte Proxmox. Elle crée un petit conteneur Debian, y installe Bootlace et affiche son adresse et son mot de passe. Plus tard, tapez update dans le conteneur pour le mettre à jour : la commande liste les nouveautés et revient à l’ancienne version si la nouvelle ne répond pas.
1bash -c "$(curl -fsSL https://raw.githubusercontent.com/ghazichaieb/gola-bootlace/main/tools/proxmox/bootlace-lxc.sh)"
Pas de Proxmox ? Choisissez ce qui convient à l’ordinateur dont vous disposez : toutes les options donnent le même programme et la même page web.
• Docker (sur un hôte Linux) : l’image ghazichaieb/gola-bootlace avec le réseau de l’hôte, pour amd64 et arm64. Le README contient un fichier compose prêt à l’emploi.
• Un paquet Linux (amd64 ou arm64, Raspberry Pi compris) : téléchargez le .deb ou le .rpm sur la page des versions et lancez apt install ./bootlace-*.deb (dnf install pour le .rpm) ; il installe un service systemd.
• Windows : décompressez l’archive et lancez bootlace.exe serve -iso-dir D:\isos pour un dépannage rapide. Il ne tourne que tant que sa fenêtre est ouverte.
Le programme a trois commandes : bootlace serve lance le serveur, bootlace inspect dit comment le serveur démarrerait un fichier ISO, et bootlace health sert de contrôle de santé. Chaque option peut aussi être donnée par une variable d’environnement BOOTLACE_<NOM>.
Redémarrez ensuite un PC et choisissez le démarrage par le réseau (en général F12, F11 ou Échap à l’allumage) : le menu apparaît. Au premier lancement, Bootlace invente un mot de passe pour la page web et l’affiche une seule fois dans son journal.
Comment l’obtenir
Bootlace est gratuit et open source (GPL-3.0-or-later). Téléchargez la version 0.5.1 pour Linux ou Windows sur la page des versions, récupérez l’image Docker sur Docker Hub ou utilisez la commande Proxmox ci-dessus. Chaque version est signée, avec des instructions pour vérifier la signature.
• Code source et tickets : github.com/ghazichaieb/gola-bootlace
• Documentation : l’interface web, son fonctionnement, ce qu’il demande, Secure Boot
À savoir
• C’est encore jeune. Il a été testé dans un laboratoire de machines virtuelles (Proxmox et Hyper-V) et sur quelques PC réels, et certains PC réels ne fonctionnent pas encore : deux PC avec une puce réseau Realtek n’acceptent jamais l’offre de démarrage en mode UEFI (la même carte mère ASUS fonctionne en BIOS ancien), et un portable récent dont le firmware ne fait confiance qu’au code de démarrage de Windows refuse le shim du Secure Boot. C’est justement pour cela que nous avons besoin de testeurs.
• Le PC doit être relié par un câble. Le démarrage réseau ne fonctionne pas en Wi-Fi.
• Secure Boot : la voie intégrée fonctionne pour les ISO dont le noyau est signé, et sur les firmwares qui font confiance au certificat tiers de Microsoft. Les PC ARM64 ne sont pas encore pris en charge.
• Les ISO Windows utilisent le port 445. Un serveur Windows l’utilise déjà pour son propre partage de fichiers : utilisez un autre port ou lancez Bootlace sur Linux, dans un conteneur ou sur Proxmox.
• Certaines choses sont expérimentales : FreeBSD, pfSense et OPNsense ne sont pas confirmés sur de vrais PC en UEFI, et l’UEFI HTTP boot a été vérifié sur le réseau mais pas encore sur un vrai firmware. L’installation de Windows affiche sa boîte de dialogue classique lorsqu’elle est lancée ainsi.
• Non couvert : la persistance des systèmes live, le démarrage réseau en IPv6, et le clonage ou la diffusion multicast d’images. Bootlace n’héberge ni ne télécharge d’ISO pour vous.
• Une installation par le réseau va aussi vite que le réseau et le disque de la bibliothèque. Le gigabit suffit ; le minimum est de 256 Mo de mémoire et un cœur.
• Le dossier de la bibliothèque doit être accessible en écriture : Bootlace y garde un dossier caché .bootlace.
• Il est conçu pour un réseau local. Ses services de disque réseau et d’iSCSI n’ont pas d’identification et la page web n’est pas chiffrée : n’ouvrez jamais ses ports vers Internet, et utilisez un VPN.
• L’interface web est en anglais uniquement.
• Un système lancé depuis le réseau ne se comporte pas exactement comme s’il démarrait d’un disque : le réseau doit rester actif, et quelques fonctions qui demandent la clé elle-même (le stockage persistant de Tails, par exemple) sont absentes. Cette page les énumère.
Open source : essayez-le, cassez-le, améliorez-le
Nous serions ravis de recevoir votre aide, quel que soit votre niveau :
• Testez-le sur votre propre matériel et dites-nous ce qui s’est passé, en bien ou en mal : quel PC ou quelle carte mère, UEFI ou BIOS, quel ISO.
• Signalez les ISO qui ne démarrent pas, ou qui démarrent autrement que prévu : ouvrez un ticket avec le nom de l’ISO et ce que vous avez vu.
• Contribuez : corrections, prise en charge d’un autre système, documentation, traductions de l’interface web. Les pull requests sont les bienvenues, et le guide de contribution explique comment faire.
• Faites passer le mot à tous ceux qui installent des PC, par métier ou par passion.
Vous voulez qu’on l’installe pour votre bureau ou votre atelier, ou qu’on s’occupe des installations à votre place ? Contactez-nous.