Crédit photo: Alfred Hermida via Compfight cc
L'environnement de pré-exécution de Windows (WinPE) est la version de Windows que la plupart des gens connaissent comme étant celle qui démarre à partir du CD d'installation. Au fil des années, des projets entiers ont été créés pour permettre à chacun d’avoir une sorte d’environnement «Windows Live», comme de nombreuses distributions Linux. Dans ce guide, nous aurons Windows PE à partir du CD d’installation d’amorçage à partir de PXE afin que nous puissions l’utiliser pour exécuter l’utilitaire de mise à jour du BIOS Dell. Nous vous encourageons à poursuivre l’exploration de ce puits sans fond de bonté geek…
Vue d'ensemble
Nous vous avons montré ce qu'est PXE et comment vous pouvez facilement installer un serveur pour lui (et bien plus encore) avec FOG. Aujourd'hui, nous allons ajouter une nouvelle extension à FOG. La procédure d’aujourd’hui sera généralement la suivante:
- Mettez à jour PXElinux vers la version 5.01 ou supérieure, si ce n'est déjà fait.
- Ajoutez le module wimboot.
- Copiez l'image WIM et les fichiers de support à partir du CD d'installation Windows.
- Ajouter l'entrée de menu.
- Utilisez le WinPE démarré pour obtenir une «console de récupération Windows» opérationnelle.
Nous allons faire ce qui précède, car utiliser le kit WAIK (Windows Automated Installation Kit) «classique» vous oblige, au mieux, à l'installer sur votre ordinateur et à suivre un processus pas si simple pour modifier le fichier WIM et son support. fichiers dans leur formulaire WDS / RIS. Bien que des alternatives Linux existent, comme celle du projet UDA (qui est le serveur PXE que j’avais utilisé avant la publication de FOG), cette méthode permet simplement de remplacer certains fichiers sur le serveur PXE une fois (que vous auriez probablement de toute façon éventuellement fichier WIM non modifié et fichiers de support directement à partir du CD Windows sur le serveur PXE.
La seule chose à noter, c’est que même s’il semblerait que vous puissiez démarrer la procédure d’installation de Windows de cette façon, vous ne pouvez pas la terminer, et rendre cela possible dépasse le cadre de ce guide.
Permet de craquer:)
Mettre à jour PXElinux vers la V5.01
Au moment de la rédaction de ce document, la version de Syslinux dans le référentiel Ubuntu est toujours 4.05. J’imagine que c’est parce que l’équipe Syslinux a décidé de changer la donne avec la branche V5, elle a modifié le fonctionnement de ses modules COM32 (désormais basé sur ELF) et a modifié le «noyau» de manière à exiger une bibliothèquen'importe quoi au-delà du «démarrage pur». Cela rend très possible la rupture, pour ceux qui sont habitués à la «vieille façon». Ne vous inquiétez pas, nous allons télécharger les fichiers requis manuellement et faire en sorte que votre installation de FOG ne perde pas un battement.
Nous utiliserons la version 5.01 car c'est la dernière stable version de la branche V5 au moment de la rédaction de cet article et c’est celle sur laquelle l’équipe Syslinux a collaboré avec l’équipe de Wimboot pour faire en sorte que cette procédure fonctionne.
Remarque: Une autre raison pour laquelle la dernière version ne fait pas encore partie du référentiel Ubuntu (IMHO), c’est que, du moins sur Citrix-Xen, les invités HVM ne peuvent rien initialiser au-delà des menus PXE. D'autres hyperviseurs tels que VMware, Hyper-V et VirtualBox, ainsi que des machines physiques, conviennent parfaitement à la nouvelle version.
Si la note ci-dessus ne vous concerne pas, continuez.
Obtenez la version 5.01 de PXElinux directement auprès de Kernel.org et extrayez-la sur le serveur FOG en:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2 tar xvhf syslinux-5.01.tar.bz2
Créez le répertoire qui contiendra les nouvelles bibliothèques requises:
mkdir -p /tftpboot/howtogeek/libs
Copiez les fichiers de bibliothèque requis dans ce répertoire afin qu’ils soient disponibles pour les clients au moment de l’exécution:
cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/
Ajoutez le "chemin" à ce répertoire, au fichier de configuration "existant" déjà existant, soit en le modifiant, soit en émettant le texte suivant:
echo 'PATH howtogeek/libs' >> /tftpboot/pxelinux.cfg/default
Copiez le ldlinux.c32 nouvellement requis à la racine du serveur TFTP en émettant:
cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/
Mettez à jour le moteur graphique (vesamenu.c32) pour qu'il corresponde à cette nouvelle version:
cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/
Félicitations, votre serveur PXE est maintenant mis à jour vers la version 5.01 et tout ce qui fonctionnait déjà (à moins que vous ne soyez affecté par la «note» du début de ce segment) devrait continuer à le faire.
WIMboot
Ce chargeur de démarrage fait partie du projet iPXE et le décrit ainsi:
wimboot
est un chargeur de démarrage pour Windows Imaging Format (
.wim
) des dossiers. Il vous permet de démarrer un environnement Windows PE (WinPE) à partir d'un disque RAM, sans gaspiller la mémoire utilisée pour l'image du disque RAM.
Téléchargez la dernière version de leur site:
wget https://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Installez unzip sur votre serveur FOG s'il manque:
aptitude install unzip
Décompressez le paquet wimboot:
unzip wimboot-latest.zip
Copiez le module wimboot dans le répertoire “libs” créé dans le segment précédent:
cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/
C'est tout. Le chargeur de démarrage wimboot est prêt à être appelé.
Fichiers CD Windows
Créez un nouveau répertoire sur le serveur FOG pour contenir les fichiers à copier:
mkdir -p /tftpboot/howtogeek/WinPE/
Insérez le CD d’installation de Windows 7 d’origine dans votre lecteur de CD-ROM et copiez les fichiers énumérés ci-dessous dans ce répertoire:
ootmgr
ootcd
ootoot.sdi
sourcesoot.wim
Oui, il est aussi simple que cela et vous n'avez pas besoin de conserver la structure de répertoires sur le CD pour que cela fonctionne.
Remarque: pour que les mises à jour du BIOS Dell fonctionnent, j’ai jugé nécessaire d’utiliser une version 32 bits de Windows.
Ajouter l'entrée de menu
Créez l'entrée de menu PXE en éditant le menu “Utils”:
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Ajoutez-y ce qui suit:
label WinPE com32 linux.c32 howtogeek/libs/wimboot APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek/WinPE/boot.wim
Félicitations, vous avez maintenant WindowsPE sur votre serveur PXE.:)
Remarque: cela peut sembler suspendu au fichier «wim», mais ce n’est pas le cas. Il s'agit en fait de transférer les 140 Mo d'un fichier au client via TFTP, ce qui prend plus de temps que les petits fichiers généralement transférés de cette façon.
Voici la capture d'écran pour prouver que cela s'est produit.
Console de récupération Windows
Encore une fois, comme indiqué dans la vue d'ensemble, bien qu'il semble que vous puissiez démarrer la procédure d'installation Windows de cette façon, vous ne pouvez pas la terminer, et rendre cela possible dépasse le cadre de ce guide.
Cela dit, pour donner un exemple de l’utilité de cette démarche, nous utiliserons cet environnement pour effectuer une mise à jour du BIOS Dell.
Obtenez la mise à jour que vous devez effectuer sur le site Web de Dell et placez-la sur un disque sur clé. Placez le disque sur la clé et démarrez le client avec PXE.
Pour accéder à la console de récupération, dans la fenêtre principale, comme dans la capture d'écran ci-dessus, cliquez sur «Suivant».
Une fois dans l'invite de commande, vous devrez déterminer la «lettre de lecteur» que WinPE a décidé de désigner sur votre disque sur clé. Pour ce faire, demandez au système d’énumérer toutes les lettres de lecteur actuellement attribuées en émettant:
wmic logicaldisk get name
En excluant maintenant les lettres A: et X: et peut-être même C: (bien que ce ne soit pas une donnée), parcourez les lettres de lecteur et recherchez le disque sur clé en émettant:
Driveletter: dir
Une fois que vous avez trouvé le bon lecteur, exécutez le fichier et vous devriez voir quelque chose comme ce qui suit:
Je connais le Kung Fu…