Un serveur de démarrage est comme une clé USB amorçable, uniquement un serveur et sur le réseau. AOMEI PXE Boot : démarrer les ordinateurs sur le réseau à partir d'un fichier image disque Préparation d'une image disque pour le démarrage pxe

Une clé USB amorçable avec un ensemble de logiciels nécessaires est un outil formidable pour un administrateur système. Il semblerait, quoi de mieux ? Un serveur de démarrage pourrait être mieux !

Imaginez, vous avez choisi de démarrer sur le réseau dans le BIOS et vous pouvez installer le système d'exploitation/guérir votre ordinateur contre les virus/réanimer les disques/tester la RAM/etc à partir d'un serveur de démarrage PXE, car c'est beaucoup plus pratique que de fonctionner avec un flash. conduire de machine en machine.
Et dans le cas d’un grand parc informatique, un tel outil est totalement indispensable.

Nous avons expliqué plus tôt comment préparer Windows pour l'installation avec PXE.
La seule différence avec cette installation est que nous pouvons ici installer à la fois Windows 2008R2 et Windows 2012R2 (ainsi que Windows 7/8, il vous suffit de préparer la distribution et les fichiers winpe en conséquence). Après avoir téléchargé Winpe, nous montons le dossier /srv/tftp/images/, qui contient les fichiers pour installer le système d'exploitation de Microsoft :
ls -l /srv/tftp/images/ total 8 drwxr-xr-x 6 racine racine 4096 17 février 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 février 19:05 w2k8r2
et exécutez le programme d'installation requis.
Pour l'automatisation, via startnet.cmd, j'ai esquissé le menu suivant :

Il ne reste plus qu'à s'occuper de VMware.
Comme vous l'avez remarqué, la configuration d'installation des hyperviseurs est quelque peu différente des autres - c'est là que nous avons besoin d'un serveur HTTP.
Dans /var/www nous créerons les dossiers vmw5.5, vmw5.0, et dans les dossiers nous créerons des liens symboliques vers la configuration
# cd /var/www # mkdir vmw5.5 # cd vmw5.5/ # ln -s /srv/tftp/vmw/5.5/ks.cfg # mkdir ../vmw5.0 # cd ../vmw5.0/ # ln -s /srv/tftp/vmw/5.0/ks.cfg
Il explique comment préparer, par exemple, Debian pour une installation avec PXE, mais je ne m'attarderai pas là-dessus.

Ajoutons la possibilité de charger divers utilitaires de disque et un test de mémoire

Cette rubrique contiendra :
  1. Test mémoire86+
  2. Clonezilla-live
  3. SystèmeRescueCD

Les configurations se trouvent ici

défaut
ui vesamenu.c32 PROMPT 0 menu background background.jpg titre du menu ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Le système démarrera une fois le temps écoulé. ENDTEXT LABEL Windows -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/windows LABEL Linux -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/linux LABEL FreeBSD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/bsd LABEL VMvare -> NOYAU vesamenu. c32 AJOUTER pxelinux.cfg/vmware LABEL Utilitaires HDD et RAM -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/du
du
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU Utilitaires HDD et RAM ÉTIQUETTE<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Memtest86+ kernel memtest/memtest label Clonezilla-live MENU LABEL Clonezilla Live KERNEL clonezilla/vmlinuz APPEND initrd=clonezilla/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://10.0.10.1/clonezilla/filesystem.squashfs label SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL MHDD kernel memdisk initrd mhdd/mhdd32ver4.6.iso append iso raw LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default


Et je vais vous expliquer pourquoi nous avons également installé un serveur NFS.
Comme vous pouvez le voir dans la configuration de démarrage de SystemRescueCD, il extrait les fichiers nécessaires à ce LiveCD en montant le répertoire à l'aide du protocole NFS. Le serveur est déjà installé, il ne reste plus qu'à éditer /etc/exports et redémarrer le démon du serveur.
# cat >> /etc/exports /srv/tftp/SystemRescueCD/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) # service redémarrage du serveur nfs-kernel
Je suppose que vous avez une question raisonnable : « Que fait LiveCD ici s'il existe un élément distinct pour eux ? »
SystemRescueCD contient beaucoup programmes utiles pour travailler avec un disque (comme GParted et testdisk) et il est donc disponible ici et sur LiveCD.

LiveCD

Notre ensemble LiveCD comprendra :
  1. CD en direct Debian 7
  2. HirensBootCD
  3. CD du kit de sauvetage Trinity
  4. SystèmeRescueCD
  5. Plop en direct

Configurations

À la fin défaut ajoutée
LABEL LiveCD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/livecds
livecds
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU LiveCD ÉTIQUETTE<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Debian LiveCD KERNEL Debian7live/vmlinuz APPEND initrd=Debian7live/initrd boot=live fetch=tftp://10.0.10.1/Debian7live/filesystem.squashfs root=/dev/ram0 rw LABEL HirensBootCD MENU LABEL Hiren"s Boot CD KERNEL memdisk APPEND iso initrd=hirens/hirens.iso LABEL Trinity Rescue Kit CD kernel trk/kernel.trk append initrd=trk/initrd.trk ramdisk_size=65536 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkmenu timeout 100 trknfs=10.0.10.1:/srv/tftp/trk ip=dhcp LABEL SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL Plop Live KERNEL plop/bzImage APPEND initrd=plop/initramfs.gz vga=normal nfsmount=10.0.10.1:/srv/tftp/plop LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Pour charger le CD Trinity Rescue Kit et Plop Live, vous devez ajouter les lignes suivantes dans /etc/exports :
/srv/tftp/trk/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) /srv/tftp/plop/ 10.0.10.1/255.255.255.0(ro,no_subtree_check, all_squash,insecure,anonuid=1000,anongid=1000)
et envoyez la commande de redémarrage NFS au démon.


Quelques mots sur les LiveCD sélectionnés.
CD en direct Debian 7
Ce CD a été réalisé par l'un de nos ingénieurs et comprend les éléments suivants :

Login/mot de passe : root/ServerClub

HirensBootCD
Il n'a guère besoin d'une introduction et contient de nombreux utilitaires utiles.
Plus de détails peuvent être trouvés.
Le chargement est long, MiniXP et Linux ne fonctionnent pas. D'autres utilitaires sont disponibles.

CD du kit de sauvetage Trinity
Selon les développeurs, il a été créé pour restaurer le système d'exploitation Windows.
Contient des utilitaires pour réinitialiser les mots de passe, des antivirus, un programme pour cloner un « ordinateur » sur un réseau (et sur plusieurs ordinateurs en même temps), et bien plus encore.
En savoir plus.

SystèmeRescueCD
Basé sur Gentoo, conçu pour restaurer les systèmes Linux.
Il comprend un grand nombre de programmes d'administration divers, la liste peut être consultée sur le lien.

Plop en direct
LiveCD avec trois DE à part entière parmi lesquels choisir, ainsi que le logiciel d'administration nécessaire.

Le fichier de configuration finale du menu principal, ainsi que le fichier du menu antivirus

défaut
ui vesamenu.c32 PROMPT 0 menu background background.jpg titre du menu ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Le système démarrera une fois le temps écoulé. ENDTEXT LABEL Windows -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/windows LABEL Linux -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/linux LABEL FreeBSD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/bsd LABEL VMvare -> NOYAU vesamenu. c32 AJOUTER pxelinux.cfg/vmware LABEL Utilitaires HDD et RAM -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/du LABEL LiveCDs -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/livecds LABEL Antivirus -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg /un V
un V
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU ÉTIQUETTE Antivirus<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Kaspersky Antivirus KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset LABEL Kaspersky Antivirus (text mode) KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg nox kavshell noresume doscsi nomodeset label AVG menu label AVG Rescue CD kernel avg/vmlinuz append max_loop=255 vga=791 initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG nofb menu label AVG Rescue CD with Disabled Framebuffer kernel avg/vmlinuz append max_loop=255 video=vesafb:off initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG vgask menu label AVG Rescue CD with Resolution Selection kernel avg/vmlinuz append max_loop=255 initrd=avg/initrd.lzm init=linuxrc vga=ask reboot=bios LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Conclusion, c'est aussi une surprise

Tout au long de l'article, je n'ai volontairement pas expliqué où se le procurer et comment préparer le contenu, car ces actions sont très triviales et ne feraient que surcharger le texte.

Par surprise, je vous propose deux options pour notre montage, disponibles sur les liens ci-dessous :

  1. Archiver avec tout le contenu /srv/tftp (lien vers le fichier torrent, lien direct)
  2. Archive de l'intégralité du système d'exploitation (lien vers le fichier torrent, lien direct)
Dans le premier cas, vous devez préparer vous-même le serveur (le chapitre « Le début » de cette épopée vous y aidera), décompresser le contenu de l'archive et procéder aux ajustements en fonction des réalités de votre environnement.

Le deuxième cas implique une installation sur bare metal ou sur une machine virtuelle.
En bref, les étapes pour déployer un assembly à partir d'une archive complète du système d'exploitation seront les suivantes :
1. Démarrez à partir du LiveCD Linux.
2. Partitionnez le disque et formatez les partitions.
3. Montez la partition "/".
4. Décompressez l'archive.
5. Installez le chargeur de démarrage.
6. Redémarrez.
7. Configurez le système d'exploitation en fonction de votre réseau et commencez à l'utiliser.
Login/mot de passe : root/ServerClub.
IMPORTANT : si vous disposez d'un serveur DHCP en cours d'exécution sur votre réseau, avant d'exécuter notre build, désactivez le démarrage automatique DHCP.

Je termine par ceci, merci de votre attention !

Pour ceux qui n’ont pas de compte sur Habré.
Si vous avez des questions/commentaires, écrivez-moi par email - erserverclub.com.

Aujourd'hui, de plus en plus de tâches sont automatisées et la virtualisation est de plus en plus utilisée pour maximiser l'efficacité des serveurs. Mais il faut quand même installer les systèmes d'exploitation. Chacun le fait à sa manière : certains ont des poches remplies d'images différentes pour toutes les occasions, d'autres portent un « sac à main » avec des disques, voire deux, à l'ancienne. En règle générale, les administrateurs effectuent ce travail avec peu de plaisir. Voyons comment réduire le temps consacré aux tâches triviales, comment apprendre aux ordinateurs à installer des systèmes eux-mêmes, sans la participation d'un administrateur, en utilisant uniquement un réseau local.

Ainsi, aujourd'hui, nous allons apprendre : installer Windows et Linux sur le réseau, charger de petites images ISO, des logiciels utiles (toutes sortes de Kaspersky, Acronis, WinPE, memtests), déployer des clients légers et les gérer. Pour que, par exemple, une comptable travaillant avec 1C via RDP ne vous tabasse pas parce que son Windows est tombé en panne et que le rapport devait être préparé hier... Ou un patron avare qui ne veut pas mettre à jour son ordinateur a admiré votre professionnalisme quand nous verrons comment Windows 8 vole sur les vieux ordinateurs... Un serveur qui permet le démarrage sur le réseau (PXE) nous aidera à atteindre nos objectifs insidieux.

Chaque administrateur système dispose d’une clé USB universelle dans sa réserve pour la réanimation informatique d’urgence. D'accord, il serait bien préférable d'avoir les mêmes fonctionnalités en utilisant une seule carte réseau. Il convient également de noter qu'il est possible de travailler simultanément avec plusieurs nœuds à la fois. Ainsi, en fonction de nos besoins, nous avons deux solutions : utiliser PXE ou LTSP.

LTSP ne nous convient pas très bien : il est conçu pour charger lui-même via le réseau l'OS installé sur le serveur, ce qui permet d'utiliser les applications serveur LTSP. Ce n’est pas exactement ce dont nous avons besoin. PXE est un outil permettant de démarrer un ordinateur sur un réseau sans utiliser de support de stockage local, tout comme LTSP. PXE vous permet d'organiser un menu de démarrage multi-boot, semblable à un « réanimateur USB » universel.


Que allons-nous mettre en œuvre ?

Tout a commencé avec la nécessité de disposer d'un outil pour l'installation à distance du serveur Ubuntu/Debian sur le réseau, avec la possibilité de démarrer le Live CD d'un petit système, comme SliTaz ou Kolibri OS.
Comme on dit, l'appétit vient en mangeant : nous n'avons pas eu le temps de mettre en œuvre ce que nous avions prévu, et un certain nombre de « désirs » ont été ajoutés au plan. En conséquence, la liste s’est avérée assez impressionnante.

  1. Clients légers Thinstation basés sur Linux.
  2. Rubrique Linux.
    1. Installation d'Ubuntu 14.04 x86.
    2. Installation d'Ubuntu 14.04 x64.
    3. Installation d'Ubuntu 12.04 x86.
    4. Installation d'Ubuntu 12.04 x64.
  3. Partition Windows.
    1. Installation de Windows 2012.
    2. Installation de Windows 7.
  4. Acronis.
    1. Windows PE avec un package de logiciels utiles.
    2. Acronis True Image.
      1. BIOS hérité.
      2. UEFI.
    3. Directeur de disque Acronis.
      1. BIOS hérité.
      2. UEFI.
  5. Kaspersky Rescue version 10.
  6. ERD Commander de 5 à 8 via image ISO.
  7. Test mémoire.

Nous mettons tout ensemble et décollons

Comme distribution pour le serveur, le choix s'est porté sur Ubuntu Server 14.04.2 LTS. Vous pouvez choisir n’importe quel autre système d’exploitation, la seule différence résidera dans la syntaxe. Alors, commençons. Nous aurons besoin de TFTP, de DHCP (pas forcément installé sur le même serveur ; un routeur peut faire office de serveur DHCP), d'un service d'organisation d'un système de fichiers réseau NFS. Nous ne considérerons que les paramètres qui nous intéressent dans le cadre du sujet. Tout d'abord, installons tout ce dont vous avez besoin, après avoir effectué toutes les mises à jour :

La suite est disponible uniquement pour les membres

Option 1. Rejoignez la communauté « site » pour lire tous les documents sur le site

L'adhésion à la communauté dans la période spécifiée vous donnera accès à TOUS les documents Hacker, augmentera votre remise cumulée personnelle et vous permettra d'accumuler une note professionnelle Xakep Score !

PXE a une fonctionnalité très utile : tout ce qui y est configuré est assez difficile à perdre car tout cela est stocké sur le serveur, et non sur des supports amovibles, qui ont tendance à être perdus, volés, oubliés dans les lecteurs de DVD/à la maison, laissés pour être utilisés et « finis », donc il est probable qu'ils vous le prennent et "play" tend vers zéro , enfin, peut-être avec le serveur... En connectant un appareil capable de démarrer PXE, vous pouvez faire beaucoup de choses utiles, à savoir : diagnostiquer l'équipement, déployer des systèmes d'exploitation, démarrer un système Live, etc. qu'est-ce qu'il y a assez de connaissances et d'imagination ?
Pour ce faire, nous devrons configurer un serveur DHCP et un serveur TFTP.
Auparavant, j'ai déjà écrit sur la façon de configurer un serveur, je le recommande vivement pour examen, les points principaux en ont été repris.
Qu'obtiendrons-nous en conséquence ?!
Et nous obtiendrons un menu de démarrage avec la possibilité de sélectionner l'application que nous téléchargerons sur la machine client, ainsi que les actions par défaut qui seront effectuées par le système si aucune commande n'est reçue des utilisateurs.

Pour le travail, nous aurons besoin de :
1) Serveur Ubuntu installé
2) Un serveur DHCP configuré, un exemple de configuration peut être trouvé dans l'article :
3) Disque ou image ISO de la distribution d'installation d'Ubuntu - la profondeur de bits n'a pas d'importance, mais il est préférable de prendre une version plus récente.

Nous installerons tout le reste en cours de route... Je ne m'attarderai pas sur les paramètres DHCP, en supposant que vous l'ayez configuré, selon l'article, dont le lien est fourni dans la configuration système requise.

Installer un serveur TFTP
Installons le package nécessaire :
Nous élevons les droits à root:
sudo su

Installons le package nécessaire
aptitude installer tftpd-hpa

Maintenant, tous les fichiers liés à notre serveur TFTT devraient être dans le répertoire /var/lib/tftpboot/, tous les chemins sont spécifiés par rapport à lui.

Passons à la création du menu de démarrage
Tout d'abord, nous avons besoin d'un chargeur adjoint, comment faire cela ?! On peut le trouver sur n'importe quel disque avec Ubuntu, dans d'autres distributions Linux, l'emplacement est presque toujours le même. Nous aurons besoin d'une image ISO ou d'un disque d'installation inséré dans le lecteur de DVD, dans lequel nous allons dans le répertoire suivant :
Si le disque d'installation est une architecture x86 :
/install/netboot/ubuntu-installer/i386
Nous sommes intéressés par le dossier pxelinux.0 voici le bootloader, prenez-le et copiez-le dans le répertoire :
/var/lib/tftpboot/
Ensuite, le chemin pour y accéder ressemble à :
/var/lib/tftpboot/pxelinux.0
Nous aurons également besoin du menu de démarrage lui-même, qui peut être pris sur le même disque, dans le répertoire écrans de démarrage nous sommes intéressés par un fichier nommé vesamenu.c32

Copiez-le dans le même répertoire que le chargeur pour que le chemin ressemble à :
/var/lib/tftpboot/vesamenu.c32

Configuration du contenu du menu PXE

A titre d'exemple, nous allons créer un menu de démarrage composé de 2 éléments.
Premier point : Démarrez à partir du disque dur local. Cet élément sera l'élément par défaut si l'utilisateur démarre le PC via PXE et dans les 15 secondes. n'a effectué aucune action, le système démarrera automatiquement à partir du disque local.
Deuxième point : appelons-le Essai Dans ce menu, il y aura un élément avec la possibilité de télécharger Memtest x86+. Ce programme sera toujours utile pour diagnostiquer les problèmes des postes de travail et des serveurs ; en général, c'est une chose nécessaire et sera utile à tout le monde dans la ferme...

Tout d'abord, nous devons créer un répertoire pour les fichiers de configuration appelé pxelinux.cfg - le nom est essentiel pour le travail !
mkdir /var/lib/tftpboot/pxelinux.cfg

Créons maintenant un fichier de configuration avec les paramètres des éléments de menu, nommé défaut
nano /var/lib/tftpboot/pxelinux.cfg/default

Avec le contenu suivant :
par défaut vesamenu.c32 invite 0 titre du menu Menu de démarrage PXE MENU AUTOBOOT Démarrage du système local dans # secondes label Boot from local drive menu label ^Boot from local drive menu default localboot 0 timeout 150 TOTALTIMEOUT 9000 LABEL Testing MENU LABEL ^Test KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

Les plus observateurs ont remarqué que dans le fichier précédent nous avions une entrée qui concerne un autre fichier tests.menu, nous y aurons les paramètres de l'élément Essai
Créons ce fichier :

Avec le contenu suivant :
TITRE DU MENU Test LABEL Logiciel de test MENU LABEL ^Retour au menu principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label Memory Test menu label ^Memory Test: Memtest86+ v4.20 kernel memtest/mt86plus

Le premier élément de menu se chargera du retour au menu précédent, et le second du chargement Memtest86+ v4.20

Tout va bien, mais nous n'avons pas créé le répertoire où est stocké le fichier Memtest, nous allons résoudre ce problème maintenant, créons le répertoire approprié.
Faisons-le:
mkdir /var/lib/tftpboot/memtest
Il suffit d'ajouter le fichier exécutable de Memtest86+ lui-même, il se trouve sur le disque d'installation, dans le répertoire /installer/ nous sommes intéressés par le dossier mt86plus nous devons le copier dans le répertoire memtest pour que le chemin d'accès ressemble à :
/var/lib/tftpboot/memtest/mt86plus

À ce stade, nous en avons terminé avec le serveur TFTP, il nous reste juste à terminer un peu le serveur DHCP.

Configuration d'un serveur DHCP

Cet élément ne peut être appelé qu'une configuration avec un étirement ; si vous avez configuré le serveur DHCP conformément à l'article, vous devez alors ajouter une seule entrée à :
nano /etc/dhcp/dhcpd.conf

Nous trouvons l'élément avec les paramètres du pool d'adresses IP, qui ressemble à :
sous-réseau 192.168.10.0 masque de réseau 255.255.255.0 (plage 192.168.10.10 192.168.10.254 ; option serveurs de noms de domaine 192.168.10.1 ; option nom de domaine « exemple.org » ; option routeurs 192.168.10.1 ; option adresse de diffusion 19 2.168. 10,255 ; durée de bail par défaut 604 800 ; durée de location maximale 604 800 ; )

Et nous ajoutons une entrée pointant vers notre bootloader PXE :
vérification ping = 1 ; nom de fichier = "pxelinux.0" ;
Le chemin d'accès au fichier est relatif au répertoire /var/lib/tftpboot/ ceux. il est considéré comme le répertoire racine, comme je l'ai écrit plus tôt...

L'entrée entière ressemble à :
vérification ping = 1 ; nom de fichier = "pxelinux.0" ; sous-réseau 192.168.10.0 masque de réseau 255.255.255.0 (plage 192.168.10.10 192.168.10.254 ; option serveurs de noms de domaine 192.168.10.1 ; option nom de domaine « exemple.org » ; option routeurs 192.168.10.1 ; option adresse de diffusion 19 2.168. 10,255 ; durée de bail par défaut 604 800 ; durée de location maximale 604 800 ; )

Enregistrez les modifications et redémarrez le serveur DHCP :
/etc/init.d/isc-dhcp-server redémarrage

Nous pouvons désormais connecter à notre réseau local un appareil prenant en charge le démarrage PXE et dans lequel cette fonction est activée (voir la documentation de votre équipement) ou connecter une machine virtuelle avec l'adaptomètre connecté en mode pont et sans support de démarrage.

Si vous avez tout fait correctement, le menu ressemblera à ceci :

Et si tu vas au menu Essai:


Si vous sélectionnez l'élément avec Memtest, un test de mémoire sera exécuté.
D'autres éléments de menu sont ajoutés en conséquence.

Imaginons une situation où vous devez donner accès à l'un des menus à un nombre limité de personnes, par exemple, vous disposez d'un kit de distribution qui coûte très cher. A cet effet, vous pouvez définir un mot de passe pour un élément de menu, comment faire ?!
Imaginons une situation dans laquelle vous devez définir un mot de passe (par exemple : mot de passe) sur Memory Test, c'est facile à faire

Nano /var/lib/tftpboot/pxelinux.cfg/testing.menu

Nous devons ajouter une entrée :
Mot de passe MENU PASSWD

Le fichier ressemble alors à :
TITRE DU MENU Test LABEL Logiciel de test MENU LABEL ^Retour au menu principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label memtest MENU PASSWD password menu label ^Memory Test: Memtest86+ v4.20 kernel memtest/mt86plus

La protection est bien sûr médiocre, mais elle peut aider les utilisateurs ordinaires.

Puis lorsque vous tenterez de démarrer, la fenêtre suivante apparaîtra :


Si vous entrez le mot de passe correct, Memtest démarrera.
De cette façon, vous pouvez masquer des menus entiers ou bloquer l'accès à des éléments individuels.
Si des modifications sont apportées à ces fichiers de configuration, il n'est pas nécessaire de redémarrer le serveur DHCP, il suffit de redémarrer le PC client s'il a démarré via PXE.
Concernant la vitesse du tftp, la vitesse n'est pas élevée, et si vous décidez de transférer de grandes quantités d'informations, essayez d'utiliser pour cela un serveur WEB ou FTP, soyez prêt à y consacrer du temps. S'il est nécessaire de télécharger une sorte de distribution, il est préférable de télécharger un petit système d'exploitation, un exemple serait WindowsPE, ou une distribution Linux miniature.
Je suppose que je vais finir ici...

AOMEI PXE Boot est un logiciel gratuit pour démarrer des ordinateurs à partir d'ISO sur LAN. Étant très simple à utiliser, ce programme vous permet d'utiliser une image disque bootable (ISO) pour démarrer à distance plusieurs ordinateurs, à condition qu'ils soient connectés au même réseau local. Cela fait d'AOMEI PXE Boot un outil extrêmement utile pour des tâches telles que le déploiement et la maintenance d'applications à distance, en particulier dans les entreprises.

Travailler avec AOMEI PXE Boot est assez simple : vous installez le programme sur le système qui sera utilisé comme serveur, montez l'ISO et attendez que les machines clientes démarrent. Et le meilleur, c'est qu'AOMEI PXE Boot prend en charge le démarrage synchrone de plusieurs ordinateurs en même temps. Apprenons-en davantage sur ce programme étonnant et découvrons comment vous pouvez l'utiliser pour démarrer des ordinateurs à partir d'ISO sur un réseau local câblé.

AOMEI PXE Boot : objectif principal et quelques mots sur Windows PE

Il est important de noter qu'AOMEI PXE Boot est principalement conçu pour résoudre les problèmes des ordinateurs du réseau. Vous pouvez utiliser le programme pour démarrer un système qui ne fonctionne pas dans un environnement restreint. À cette fin, AOMEI PXE Boot fonctionne mieux avec les images de disque de démarrage Linux ou Windows PE. Ce dernier est un système d'exploitation avec des services limités utilisé pour démarrer l'ordinateur à des fins de récupération ou d'installation. Basé sur le noyau Vista, Windows PE n'est pas un système d'exploitation à part entière. Au lieu de cela, il fournit un environnement sûr pour dépanner votre ordinateur et le remettre en état de marche.

Il n'y a absolument aucune raison de croire qu'AOMEI PXE Boot ne fonctionnera pas avec une autre image disque. Pendant les tests, j'ai pu démarrer à distance Damn Small Linux (DSL) sur un système client à l'aide d'une image ISO amorçable.

Comment démarrer des ordinateurs en utilisant ISO sur un réseau local

Maintenant que vous en savez beaucoup sur AOMEI PXE Boot, il est temps de voir comment cela fonctionne. Le processus comprend essentiellement deux étapes. La première partie consiste à configurer l'ordinateur client pour qu'il démarre sur le réseau, et la seconde consiste à configurer et à exécuter l'application sur le système agissant en tant que serveur.

Veuillez noter que les deux ordinateurs doivent être connectés au même réseau. Dans mon cas, le serveur était connecté au réseau sans fil, mais la machine client était connectée par fil.

Partie 1 : Configuration des ordinateurs clients pour le démarrage réseau

Comme son nom l'indique, la première chose que vous devez faire est de configurer le ou les ordinateurs clients pour qu'ils démarrent sur un réseau câblé. Pour ce faire, vous devez accéder au menu du BIOS de l'ordinateur. Voici comment procéder (la démarche est sensiblement la même, quel que soit le fabricant de l'ordinateur) :

1. Allumez l'ordinateur client et appuyez sur une touche pour accéder au menu du BIOS (généralement Suppr, Esc, F8 ou F12). Dans le BIOS, allez dans le sous-menu « Boot » et dans la section « Boot Options Priorities » sélectionnez « PXE » (sur certains ordinateurs « Legacy LAN », « Realtek PXE B02 D00 », « Network boot from Intel », etc.) comme premier périphérique de démarrage. Vous devrez peut-être également activer l'option PXE ROM si elle est désactivée.

2. AOMEI PXE Boot ne prend en charge que le mode de démarrage Legacy, vous devez donc également désactiver l'option de démarrage UEFI si elle est prise en charge par la carte mère de votre ordinateur. Cette option se trouve dans le sous-menu Boot.

C'est tout ce que vous devez faire sur l'ordinateur client. N'oubliez pas de sauvegarder les modifications que vous avez apportées à la configuration du BIOS. Passons maintenant au serveur.

Partie 2 : Téléchargez l'ISO et exécutez l'application sur l'ordinateur serveur

Cette partie est en réalité encore plus simple. Pour commencer, téléchargez et installez AOMEI PXE Boot (environ 5 Mo) sur l'ordinateur qui sera utilisé comme serveur. En plus de cela, vous devez également télécharger une image disque amorçable pour démarrer le ou les ordinateurs clients. Les étapes ci-dessous expliquent ce qui est exigé de vous :

1. Lancez le démarrage AOMEI PXE. Sur le premier écran du programme, sélectionnez l'option « Démarrer à partir d'un fichier image personnalisé » et accédez à votre fichier ISO (vous pouvez également utiliser l'autre option pour télécharger un ISO Windows PE ou Linux depuis le site Web d'AOMEI si vous le souhaitez). Une fois l'image sélectionnée, cliquez sur le bouton « Démarrer le service » pour démarrer le service.

2. La fenêtre de démarrage AOMEI PXE affichera désormais des informations sur l'activité se produisant sur le serveur et les ordinateurs clients. Vous n'avez rien d'autre à faire sur le serveur. Pour voir l’action réelle, allons de l’avant. Et bien sûr, l’application et bien sûr le serveur doivent être en cours d’exécution.

Tout ce que vous avez à faire est de démarrer l'ordinateur client et d'attendre qu'il démarre sur le réseau en utilisant l'image ISO que vous avez sélectionnée via AOMEI PXE Boot sur l'ordinateur serveur. Voici une distribution Damn Small Linux entièrement fonctionnelle fonctionnant sur une machine client :

Derniers mots

Si vous êtes un administrateur réseau à la recherche d'un moyen simple et efficace (et sans fioritures) de déployer et de gérer un système d'exploitation à distance, AOMEI PXE Boot est peut-être exactement ce dont vous avez besoin. C'est un outil de qualité, ridiculement simple à configurer et qui fonctionne étonnamment bien.

Passe une bonne journée!

Poursuivant la série d'articles sur le déploiement de Windows, nous allons aujourd'hui préparer un serveur de démarrage réseau basé sur le système d'exploitation Linux et organiser le démarrage de Windows PE à partir d'un tel serveur, ainsi que préparer une distribution d'installation de Windows 7 ou Windows Server 2008 R2 pour l'installation. à partir d’une ressource réseau. Dans ce tutoriel, je vais donner un exemple pour Debian Linux 8.

Pour fonctionner, nous aurons besoin d'une image Windows PE et d'une distribution d'installation Windows.

  • Création de votre propre image de distribution Windows 7 ou Windows Server 2008 R2
  • Configuration d'un serveur Linux PXE pour une installation réseau de Windows 7 ou Windows Server 2008 R2

Préparation des fichiers de démarrage Windows pour PXE

Pour démarrer un système Windows à partir d'un serveur PXE, nous avons besoin des fichiers suivants :
  • winpe/boot/fonts/wgl4_boot.ttf - depuis la distribution Windows
  • winpe/boot/bcd - stockage de configuration (doit être généré)
  • winpe/boot/boot.sdi - depuis la distribution Windows
  • winpe/boot/winpe.wim - Image Windows PE (instructions d'assemblage)
  • winpe/pxeboot.0 - pxeboot.n12 de la distribution Windows
  • winpe/bootmgr.exe - depuis la distribution Windows
Créons un dossier dans lequel nous collecterons le système démarré par PXE :
Copions la police qui utilise bootfix.bin et le fichier boot.sdi, nécessaire pour créer un disque virtuel en mémoire :
xcopy c:\WinPE\x86\ISO\boot\fonts\wgl4_boot.ttf c:\tftpboot\winpe\boot\fonts\wgl4_boot.ttf
xcopy c:\WinPE\x86\ISO\boot\boot.sdi c:\tftpboot\winpe\boot\boot.sdi
Nous avons maintenant besoin d'un chargeur de démarrage qui chargera le gestionnaire de démarrage et le magasin de configuration. Ils sont inclus dans l'image de démarrage de Windows PE. Pour ce faire, connectez l'image Windows PE :
dism /mount-wim /wimfile:C:\WinPE\x86\winpe.wim /index:1 /mountdir:C:\WinPE\x86\mount
Et copiez le fichier pxeboot.n12 à partir de là, en le renommant pxeboot.0 et bootmgr.exe :
xcopy c:\WinPE\x86\mount\Windows\Boot\PXE\pxeboot.n12 c:\tftpboot\winpe\pxeboot.0
xcopy c:\WinPE\x86\mount\Windows\Boot\PXE\bootmgr.exe c:\tftpboot\winpe\bootmgr.exe
Nous disposons des fichiers nécessaires à l'exception de la configuration de démarrage et de l'image système, donc l'image Windows PE peut être désactivée sans enregistrer les modifications :
dism /unmount-wim /mountdir:C:\WinPE\x86\mount /discard
Copiez l'image système Windows PE dans le dossier de téléchargement :
xcopy C:\WinPE\x86\winpe.wim c:\tftpboot\winpe\boot\
Il est maintenant temps de générer la configuration de démarrage ; pour cela, créez le fichier makebcd.cmd :
bloc-notes c:\tftpboot\makebcd.cmd
Avec le contenu suivant :
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create (options du disque virtuel) /d "Options du disque virtuel"
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdidevice boot
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdipath \boot\boot.sdi
pour /F "tokens=2 delims=()" %%i dans ("bcdedit -store %1\BCD -create /d "Windows PE Boot Image" /application osloader"), définissez guid=(%%i)
bcdedit -store %1\BCD -set %guid% racine système \Windows
bcdedit -store %1\BCD -set %guid% détection Oui
bcdedit -store %1\BCD -set %guid% winpe Oui
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=\Boot\winpe.wim,(ramdiskoptions)
bcdedit -store %1\BCD -set %guid% périphérique ramdisk=\Boot\winpe.wim,(ramdiskoptions)
bcdedit -store %1\BCD -create (bootmgr) /d "Windows BootManager"
bcdedit -store %1\BCD -set (bootmgr) délai d'attente 30
bcdedit -store %1\BCD -set (bootmgr) displayorder %guid%
déplacer %1\BCD %1\bcd
Et exécutons-le, en lui passant l'emplacement et le nom du fichier de stockage de configuration comme argument :
c:\tftpboot\makebcd.cmd c:\tftpboot\winpe\boot
Ceci termine la préparation des fichiers nécessaires au démarrage à partir de PXE dans l'environnement Windows et nous commençons à configurer le serveur Linux.

Installation d'un serveur PXE

Installation de TFTP

Installation des packages requis :
# aptitude installer tftpd-hpa syslinux pxelinux -y
Configuration d'un serveur TFTP :
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -m /etc/default/tftp-remap.conf -v"
RUN_DAEMON="oui"
Parce que Windows recherchera ses fichiers de téléchargement par rapport à la racine tftp, nous effectuons le mappage et associons ces fichiers au répertoire winpe sur le serveur.

Créez un fichier de mappage :

# vim /etc/default/tftp-remap.conf
Avec le contenu suivant :
r pxeboot.0 /pxeboot.0
r bootmgr.exe /winpe/bootmgr.exe
r\\Boot\\BCD /winpe/boot/bcd
r \\boot\\boot.sdi /winpe/boot/boot.sdi
r \\Boot\\winpe.wim /winpe/boot/winpe.wim
r \\Boot\\Fonts\\wgl4_boot.ttf /winpe/boot/fonts/wgl4_boot.ttf
gr\\/
La dernière ligne "gr \\ /" indique à tftp que si les chemins contiennent des barres obliques inverses, remplacez-les par des barres obliques.
Attention! Il est important que la casse des lettres dans les noms de fichiers soit exactement la même que celle spécifiée dans les fichiers. Si vous avez spécifié /boot/bcd lors de la configuration et nommé le fichier /Boot/BCD, le chargeur de démarrage ne pourra pas démarrer le système, car ne trouvera pas le fichier requis.

Créons notre répertoire de téléchargement :

Vous devez maintenant y copier les fichiers à partir du répertoire c:\tftpboot\ :
c:\tftpboot\winpe\> pscp -r * [email protégé]:/srv/tftpboot/winpe

Création d'un menu de démarrage

Pour que le menu de démarrage fonctionne, nous avons besoin des fichiers suivants, copiez-les dans le répertoire racine de notre serveur tftp :
# cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/chain.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/libcom32.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/libutil.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/vesamenu.c32 /srv/tftpboot
Et créez un répertoire dans lequel le menu de démarrage lui-même sera stocké :
# mkdir -p /srv/tftpboot/pxelinux.cfg
Nous avons également besoin d'une belle image de chargement pour notre menu. Il doit être au format jpg et en résolution 640x480. Copions-le depuis notre machine :
C:\Utilisateurs\golovlevmv\> Images pscp\menu.jpg [email protégé]:/srv/tftpboot/pxelinux.cfg/menu.jpg
Il est maintenant temps de créer le menu de démarrage :
Avec le contenu suivant :
INVITE 0
Interface utilisateur vesamenu.c32
TITRE DU MENU Menu de démarrage du serveur PXE
FOND DU MENU pxelinux.cfg/menu.jpg
DÉLAI 600

LABEL ^0) Démarrez à partir du disque dur
AIDE TEXTE
Démarrez depuis le premier (disque dur 0)
FINTEXTE
Chaîne COM32.c32
AJOUTER hd0 1

ÉTIQUETTE ^1) Charger Windows PE 3.1 x86
AIDE TEXTE
Démarrez Windows PE x86 à partir de pxeboot
FINTEXTE
noyau winpe/pxeboot.0

Redémarrez tftpd :
# /etc/init.d/tftpd-hpa redémarrage

Option de démarrage PXE alternative

Vous pouvez également organiser une autre option pour démarrer le système à partir de PXE à l'aide de Memdisk, mais cela nécessitera une quantité de mémoire beaucoup plus importante et vous pourriez rencontrer des problèmes avec des ordinateurs avec moins de 1 Go de mémoire.

Le serveur TFTP doit déjà être préparé selon les instructions ci-dessus.

Nous avons besoin de memdisk, copiez-le depuis le package syslinux :

# cp /usr/lib/syslinux/memdisk /srv/tftpboot
Copiez l'image ISO de Windows PE :
C:\WinPE\x86\> pscp WinPE_x86.iso [email protégé]:/srv/tftpboot/winpe/winpe_x86.iso
Nous ajoutons un élément supplémentaire à notre menu de démarrage :
# vim /srv/tftpboot/pxelinux.cfg/default
ÉTIQUETTE ^2) Charger Windows PE 3.1 x86 (iso)
AIDE TEXTE
Démarrez Windows PE x86 à partir de l'image ISO
besoin de plus de 512 Mo de RAM pour corriger le travail
FINTEXTE
Disque mémoire du noyau
AJOUTER iso brut
INITRD winpe/winpe_x86.iso

Configuration DHCP

Pour que nos clients puissent démarrer sur le réseau, un serveur DHCP doit être présent et celui-ci doit, à son tour, fournir aux clients une adresse de référence de démarrage réseau et le nom du fichier à charger.
Vous pouvez utiliser n'importe quel serveur DHCP existant ; vous devez lui transmettre les paramètres suivants :
  • nom de fichier = "pxelinux.0" ;
  • prochain serveur ;
Si vous n'avez pas de serveur DHCP, je donnerai également un exemple d'installation et de configuration sur notre serveur PXE.

Installation d'un serveur DHCP :

# aptitude install isc-dhcp-server -y
Nous activons DHCP sur l'interface réseau dont nous avons besoin :
# vim /etc/default/isc-dhcp-server
Nous apportons dhcpd.conf sous la forme dont nous avons besoin :
style de mise à jour ddns aucun ;
option nom de domaine "home.local" ;
option serveurs de noms de domaine 192.168.140.10 ;
durée de location par défaut 600 ;
durée maximale de location 7 200 ;
faisant autorité;
installation de journalisation local7 ;
sous-réseau 192.168.140.0 masque de réseau 255.255.255.0 (
plage 192.168.140.51 192.168.140.254 ;
routeurs en option 192.168.140.10 ;
option nom de domaine "home.local" ;
nom de fichier = "pxelinux.0" ;
serveur suivant 192.168.140.10 ;
}
Lancez le serveur isc-dhcp :
# /etc/init.d/isc-dhcp-server start
Nous devons maintenant charger l'environnement Windows PE. Grâce à lui, nous pouvons copier les données du système d'urgence et installer un système propre sur la machine.

Nous configurons la machine virtuelle pour qu'elle démarre à partir de la carte réseau et essayons de démarrer via le réseau.

Si tout s'est bien passé, la partie principale et la plus difficile du travail est terminée. Préparons maintenant le kit de distribution pour installer le système sur le réseau.

Installation réseau Windows

Ensuite, pour une installation réseau, vous pouvez utiliser un serveur de fichiers Windows ou SAMBA existant. Mais, puisque j'ai décidé d'organiser le stockage des distributions d'installation du système sur le même serveur, je vais brièvement montrer comment organiser un tel serveur SAMBA sur notre serveur PXE.

Installation de SAMBA

Tout est assez simple ici. Je fournirai la configuration minimale de smb.conf, sans connecter le serveur au domaine ni définir de comptes d'utilisateurs. Ce sera simplement un serveur avec un accès en lecture invité.

Modification de la configuration de samba :


groupe de travail = GROUPE DE TRAVAIL
proxy DNS = non
fichier journal = /var/log/samba/log.%m
taille maximale du journal = 1 000
journal système = 0
action de panique = /usr/share/samba/panic-action %d
rôle serveur = serveur autonome
obéir aux restrictions pam = oui
synchronisation du mot de passe Unix = oui
programme passwd = /usr/bin/passwd %u
passwd chat = *Entrez\snew\s*\spassword:* %n\n *Retapez\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
changement de mot de passe pam = oui
mapper vers l'invité = mauvais utilisateur
acl autorise l'exécution toujours = vrai


commentaire = Windows 7
chemin = /srv/dist/win7x86
invité ok = oui
consultable = oui
créer un masque = 0644
masque de répertoire = 0755
acl autorise l'exécution toujours = vrai

N'oubliez pas de préciser "aclallowexecutetoujours=true". Ce paramètre doit être spécifié pour que vous puissiez lancer les fichiers exe pour exécution, sinon vous ne pourrez pas exécuter setup.exe.

Prenons la distribution d'installation de Windows 7 SP1 x86 de l'édition requise et copions tous les fichiers sur notre serveur dans le dossier de distribution :

C:\Utilisateurs\golovlevmv\> pscp -r E:\ [email protégé]:/srv/dist/win7x86/
Redémarrons la samba
Essayons d'accéder à notre ressource réseau par le nom ou l'adresse IP "\\pxeboot\" ou "\\192.168.140.10\".

Maintenant, pour que notre système soit installé à partir de notre serveur, nous prenons le fichier install.wim, que nous avons créé lors de l'assemblage de notre propre distribution Windows, et remplaçons le fichier de distribution par celui-ci.

C:\Users\golovlevmv\> pscp C:\Win7\x86\dist\sources\install.wim [email protégé]:/srv/dist/win7x86/sources/
Mais le fichier /srv/dist/win7x86/sources/boot.wim peut être supprimé, car À ce moment-là, nous avions déjà téléchargé sous Windows PE.

Démarrage de l'installation du système Windows 7 x86

Afin de démarrer l'installation, vous devez connecter une ressource réseau :
utilisation nette *\\192.168.140.10\win7x86
Connectez le lecteur réseau « Z : » et exécutez la commande :
Ensuite, afin d'automatiser l'installation du système, vous pouvez utiliser le « Gestionnaire d'images système Windows » pour préparer le fichier de réponses autounattend.xml, et exécuter l'installation avec le fichier de réponses :
Z:\setup.exe /unattend:autounattend.xml
Dans ce cas, pour déployer des systèmes Windows sur un grand nombre de PC, il vous suffira de démarrer depuis PXE, de connecter une ressource réseau et d'exécuter l'installation en spécifiant le fichier de réponses.


mob_info