Ajout de la polyvalence WDS

Bonjour, chers habitants de Habra !

Le but de cet article est de rédiger un bref aperçu des possibilités de déploiement de divers systèmes via WDS (Windows Deployment Services)
Cet article fournira de brèves instructions pour déployer Windows 7 x64, Windows XP x86, Ubuntu x64 et ajouter des outils utiles au démarrage réseau tels que Memtest et Gparted.
L'histoire sera racontée dans l'ordre des idées qui me viennent à l'esprit. Et tout a commencé avec Microsoft...

Et maintenant l'histoire elle-même :
Il n'y a pas si longtemps, j'ai eu l'idée judicieuse de déployer des systèmes au travail à l'aide de WDS. Si quelqu'un fait le travail pour nous, c'est bien. Et si en même temps on apprend quelque chose de nouveau, c’est doublement agréable. Je ne m'attarderai pas en détail sur la description de l'installation du rôle WDS - Microsoft résume tout à Next-Next-Next et il existe des montagnes d'articles sur ce sujet. Et je vais vous parler brièvement du travail avec des images Windows, en me concentrant sur les moments qui m'ont posé des difficultés. Les systèmes non Microsoft seront décrits plus en détail (pour lesquels l'article a été lancé).
Commençons
Le serveur qui fera office de stockage d'images et de coordinateur d'actions intègre Windows Server 2008 R2. Pour que ce service fonctionne correctement, des rôles tels que DHCP et DNS sont requis. Eh bien, AD sert à entrer des machines dans le domaine. (Tous ces rôles ne doivent pas nécessairement être conservés sur une seule machine ; ils peuvent être répartis dans toute la structure. L'essentiel est qu'ils fonctionnent correctement)

1. Configuration de WDS

Nous ajoutons les rôles nécessaires et entrons rapidement dans la console WDS, initialisons notre serveur et voyons ce qui suit :
Ajout de la polyvalence WDS

  • Installer des images - des images d'installation. De beaux systèmes personnalisés que nous déploierons. Pour plus de commodité, vous pouvez ajouter plusieurs groupes par type de système : Windows 7, XP ou par type de tâche - Service informatique, Service client, Serveurs
  • Images de démarrage — chargement d'images. Ce qui est chargé en premier sur la machine et permet d'effectuer toutes sortes d'actions avec. La toute première image qui y est envoyée est celle qui se trouve sur le disque d'installation (pour Windows 7, il s'agit du dossier sources et des fichiers install.wim ou boot.wim.
    Mais vous pouvez alors faire toutes sortes de choses intéressantes à partir d'eux :

    • Capturer une image ou enregistrement d'une image - notre outil principal vous permet de faire une copie du système configuré, qui a été préalablement traité par sysprep et constitue notre modèle.
    • Image de découverte — vous permet de télécharger des images de systèmes configurés sur des ordinateurs qui ne prennent pas en charge le démarrage réseau.

  • Appareils en attente — appareils en attente de l'approbation de l'administrateur pour l'installation. Nous voulons savoir qui met notre charme sur son ordinateur.
  • Transmissions multidiffusion — envoi de messages multidiffusion. Utilisé pour installer une image sur un grand nombre de clients.
  • conducteurs - Conducteurs. Ils permettent d'ajouter les pilotes nécessaires aux images sur le serveur et d'éviter ces types d'erreurs :
    Ajout de la polyvalence WDS
    Après avoir ajouté les pilotes au serveur WDS, ils doivent être ajoutés à l'image de démarrage souhaitée.

Oui, et encore une chose : vous devez créer vos propres chargeurs de démarrage et installateurs pour chaque profondeur de bits du système. La variété au zoo a un prix.
En fait, notre WDS est déjà prêt. Nous pouvons démarrer sur le réseau à partir de la machine et voir une fenêtre de sélection avec nos images de démarrage.
Je ne décrirai pas toutes les étapes de préparation de l'image idéale, mais je laisserai juste un lien vers l'article que j'ai moi-même utilisé : Tyts pour Windows 7 (Pour une raison quelconque, j'avais installé une ancienne version de WAIK - 6.1.7100.0, il était impossible de créer un fichier de réponses pour Windows 7 SP1. J'ai besoin de la dernière pour le moment - 6.1.7600.16385)
Et ainsi plus instructions pour préparer Windows XP pour WDS. Nous n’écrirons pas non plus en détail, les choses les plus intéressantes sont dans la deuxième partie !

2. Chargeur de démarrage universel

C'est formidable que nous ayons maintenant un tel système. L'utiliser est un plaisir. Mais existe-t-il un moyen de vous rendre la vie encore plus facile ?
Je veux installer Linux via celui-ci !
Tout d'abord, comme beaucoup d'entre vous s'en souviennent, l'installation de Windows et d'Ubuntu en parallèle ne se termine pas bien pour le chargeur de démarrage Windows. Il est remplacé par le GRUB universel.
C'est la même chose ici. Nous avons besoin d'un chargeur de démarrage universel, répondez à ceci PXÉLINUX
1) Téléchargez la dernière version (au moment de la rédaction, il s'agit de 5.01
Nous sommes intéressés par ces fichiers :
corepxelinux.0
com32menuvesamenu.c32 (vous pouvez prendre menu.c32 pour une interface texte lors du chargement)
com32chainchain.c32
Tous les manuels d'utilisation de ce bootloader disent que tout fonctionne avec ces trois-là. J'ai dû ajouter ldlinux.c32, libcom.c32 et libutil_com.c32. Vous pouvez le faire - copiez ceux recommandés et exécutez-le. De quel fichier fera l'objet la plainte - copiez-le dans le dossier.
Nous avons également besoin du fichier memdisk pour télécharger l’iso. Nous le mettons également dans ce dossier
2) Mettez-les dans le dossier où vous stockez toutes les images WDS. À savoir ici - RemoteInstallBootx64 (nous n'en installerons que 64, pour 86, nous placerons également les mêmes fichiers dans ce dossier.)
3) Renommez pxelinux.0 en pxelinux.com
4) Créons dossier pxelinux.cfg pour le fichier de configuration, le fichier lui-même (déjà dans ce dossier, bien sûr) est par défaut (sans extension !) avec le contenu suivant :

PAR DÉFAUT vesamenu.c32
INVITE 0
NOESCAPE 0
AUTORISEROPTIONS 0
# Timeout en unités de 1/10 s
TEMPS MORT 300
MARGE MENU 10
LIGNES DE MENU 16
ONGLETS MENUGROW 21
MENU TIMEOUTROW 26
BORDURE COULEUR MENU 30;44 #20ffffff #00000000 aucun
BARRE DE DÉFILEMENT COULEUR MENU 30;44 #20ffffff #00000000 aucun
TITRE DE COULEUR DU MENU 0 #ffffffff #00000000 aucun
MENU COULEUR SEL 30;47 #40000000 #20ffffff
FOND DU MENU pxelinux.cfg/picture.jpg #picture 640×480 pour le fond
TITRE DU MENU Choisissez votre destin !

ÉTIQUETTE wds
ÉTIQUETTE DE MENU Services de déploiement Windows (7, XP, images de démarrage)
NOYAU pxeboot.0

ÉTIQUETTE locale
MENU PAR DÉFAUT
MENU LABEL Démarrage à partir du disque dur
BOOT LOCAL 0
Tapez 0x80

5) Faites une copie du fichier pxeboot.n12 et appelez-le pxeboot.0
6) Après cela, nous devons apprendre à notre WDS à démarrer à partir du chargeur de démarrage universel. En 2008, cela se faisait via l'interface graphique, en 2008 R2 - via la ligne de commande. Ouvrez et saisissez :

  • wdsutil /set-server /bootprogram:bootx64pxelinux.com /architecture:x64
  • wdsutil /set-server /N12bootprogram:bootx64pxelinux.com /architecture:x64

Résultat de la ligne de commande :
Ajout de la polyvalence WDS
Ça y est, on démarre et on voit l'écran tant convoité :
Ajout de la polyvalence WDS
Il s'agit d'une configuration de base, vous pouvez l'ajuster à vos besoins (logo de l'entreprise, ordre de démarrage, etc. Pour l'instant, il ne peut transférer le contrôle que vers WDS et redémarrer à partir du disque dur. Apprenons-lui à démarrer Ubuntu !

3. Apprendre à un aiglon à voler

De quoi avions-nous besoin là-bas ? Ubuntu, Gparted ? Ajoutons memtest pour la commande.
Commençons par le plus simple :
memtest
Créons un dossier séparé pour les fichiers Linux dans le dossier Boot/x64 WDS, par exemple Distr. Et des sous-dossiers pour nos systèmes respectifs :
Ajout de la polyvalence WDS
Téléchargement iso mtmtest et ajoutez les lignes suivantes à notre configuration de téléchargement (fichier par défaut) :

étiquette MemTest
étiquette de menu MemTest86+
Disque mémoire du noyau iso brut
initrd Linux/mt420.iso

Avec cela, nous allons charger notre petite image en mémoire et la lancer à partir de là. Malheureusement, cela n’a pas fonctionné pour moi avec de grandes images.

Gaprté
Téléchargement dernière version, décompressez l'image iso et prenez trois fichiers - /live/vmlinuz, /live/initrd.img et /live/filesystem.squashfs
Quels sont ces fichiers ? (Je me trompe peut-être dans la formulation, je demande gentiment aux lecteurs de me corriger si je me trompe.)

  • vmlinuz (vmlinux plus communément vu) - fichier de noyau compressé
  • initrd.img - image du système de fichiers racine (minimum requis pour le démarrage)
  • filesystem.squashfs - les fichiers eux-mêmes utilisés pendant le fonctionnement

Nous plaçons les deux premiers fichiers dans le dossier de téléchargement (dans mon cas c'est Bootx64DistrGparted) et le troisième sur le serveur IIS (heureusement il est déjà installé pour WSUSa).
Une digression lyrique - malheureusement, l'astuce consistant à charger une image ISO dans un disque mémoire avec de grandes distributions n'a pas fonctionné pour moi. Si vous connaissez soudainement le secret du succès, ce sera une excellente solution qui vous permettra de démarrer rapidement n'importe quel système à partir d'une image ISO.
Ajoutez filesystem.squashfs à IIS pour qu'il puisse être lu sur le réseau (n'oubliez pas d'ajouter une balise MIME pour cette extension
Ajout de la polyvalence WDS
Maintenant, nous ajoutons une entrée à notre pxelinux.cfg/default :

LABEL GParted en direct
ÉTIQUETTE DE MENU GParted Live
KERNEL Distr/Gparted/vmlinuz
APPENDRE initrd=Distr/Gparted/initrg.img boot=live config union=aufs noswap nopromt vga=788 fetch=http://192.168.10.10/Distr/Gparted/filesystem.squashfs

Vérifions : ça marche !
Ubuntu 12.04
J'ai ajouté deux options d'installation possibles - entièrement automatique (merci à l'utilisateur malamutes pour статью et en mode manuel)
Téléchargez le fichier avec l'installation alternative et extrayez deux fichiers (comme auparavant) - initrd.gz et Linux et placez-les dans Distr/Ubuntu
Ajoutez les lignes à notre pxelinux.cfg/default
pour une installation entièrement manuelle

ÉTIQUETTE Ubuntu
KERNEL Distr/Ubuntu/linux
AJOUTER priorité = faible vga = normal initrd = Distr/Ubuntu/initrd.gz

Mais pour l'installation automatique, vous avez besoin d'un fichier avec les paramètres de réponse (vous pouvez lire ici) et nous le mettrons sur notre serveur web. Ma ligne de bootloader ressemble à ceci :

ÉTIQUETTE Installation automatique d'Ubuntu
KERNEL Distr/Ubuntu/linux
APPENDRE initrd=Distr/Ubuntu/initrd.gz ksdevice=eth0 locale=ru_RU.UTF-8 console-setup/layoutcode=ru url=http://192.168.10.10/Distr/Ubuntu/preseed.txt

Utile pour l'avenir
En parcourant des documents sur le sujet et en cherchant des réponses à mes questions, j'ai découvert merveilleux article à partir de Alexandre_Erofeev avec une description du téléchargement de Kaspersky Rescue Disk sur le réseau. Malheureusement, cela n'a pas décollé pour moi. Mais l'outil est vraiment utile (non, non, les utilisateurs particulièrement zélés saisiront quelque chose comme ça... C'est utile d'avoir un tel outil à portée de main)

Conclusion

Cet article est une présentation des fonctionnalités que le rôle Microsoft WDS vous offre. Quand j'ai commencé cet article, les plans étaient grandioses : un HOWTO détaillé sur tous les aspects du chargement des systèmes présentés ci-dessus... Mais lorsque le matériel a commencé à s'accumuler uniquement sur WDS lui-même, le fil du récit m'a conduit à des profondeurs que personne n'avait imaginées. que je rencontrerais un jour, probablement... C'est pourquoi il a été décidé de partager un bref résumé de ce qui est possible et, si possible, des liens vers de bons articles. Si les lecteurs sont intéressés par la lecture, ou si je veux soudainement de la gloire et de l'argent pour reconstituer le trésor d'Habrahabr avec des articles, je peux entrer plus en détail dans chaque étape de la configuration d'un serveur WDS polyvalent.
Je voudrais encore remercier les auteurs Alexandre_Erofeev и malamutes pour leur matériel, qui intéressera tout le monde sans exception.
Naturellement, il y avait déjà des articles sur Habré sur le même sujet, j'ai essayé de mettre en lumière la question d'un point de vue différent ou de la compléter : Heure и deux, mais non publié
Je vous remercie de votre attention.
Gloire aux robots!

Source: habr.com

Ajouter un commentaire