web-dev-qa-db-fra.com

Est-il possible de démarrer à partir d'une image ISO sur le réseau, et comment?

J'ai une machine sur laquelle est stockée une image ISO amorçable et une autre machine vierge sur laquelle je souhaite installer l'image ISO. Ils sont tous deux sur le même réseau local (connecté au même commutateur). Comment procéder pour démarrer la machine vierge à partir de l'image ISO stockée sur mon ordinateur principal?

31
George Kontridze

Je pense que vous voulez un moyen de démarrer pxe à partir d'images ISO. J'ai cherché un petit peu et a trouvé cet article . Je crois que cette méthode devrait fonctionner pour toute image ISO amorçable que vous pourriez avoir. Ceci est un autre article similaire .

Enfin, il apparaît que cet article explique comment procéder à partir d'un serveur PXE (Pre-Boot eXecution Environment) que vous exécutez à partir de Windows.

11
James T Snell

Oui, c'est très possible. Le type de système que vous pouvez démarrer dépend de son fonctionnement.

Habituellement, vous constaterez que les systèmes très simples (comme DOS ou Win98) et très complexes (comme les distributions Linux modernes) sont: facilement amorçable sur le réseau.

La manière d'accomplir ceci sur les deux types de systèmes est très différente.

Voyons les deux manières plus en détail. Je suppose que vous avez déjà un PXEdémarrageserveurconfiguration ; si vous ne le faites pas, allez-y, c'est assez facile.

J'assume également une configuration dnsmasqsur un serveur Linux avec le répertoire racine_tft dans /var/lib/tftpboot, mais vous devriez pouvoir adapter les instructions à toute autre configuration.

Pour les systèmes simples

Pour les systèmes simples, il vous suffit de charger l'image (ISO) dans la RAM et de faire croire au système qu'il s'agit d'une unité réelle. Cela se fait avec un peu d'aide du BIOS et un module logiciel appelé memdisk .

Le système que vous voulez charger sur le réseau est des freedos:

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

Prompt 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

C'est à peu près tout. Les premières lignes sont "menu général"; les bits importants sont les quatre dernières lignes: load memdisk avec l'ISO donné.

Pour les systèmes complexes

Les systèmes modernes dotés d'éléments sophistiqués, comme une bonne gestion de la mémoire et une détection matérielle appropriée, ignorent pratiquement tout ce que le BIOS a à dire.

Ceci rend l'approche memdiskutilisée plus ou moins inutile, car si vous chargiez l'ISO de cette façon, une fois que le noyau a été lu à partir de l'ISO et chargé en mémoire (cela est fait par le chargeur de démarrage dans l'ISO; les chargeurs de démarrage font attention au BIOS ), les données ISO auraient disparu.

Que faites-vous alors? Eh bien, vous ne chargez pas réellement l'ISO depuis le réseau, mais vous indiquez au système qu'il peut accéder aux fichiers requis à partir de celui-ci.

Pour les systèmes Linux, extrayez le contenu ISO quelque part dans tftproot et chargez directement le noyau et initrd, puis laissez-les à eux-mêmes pour trouver le système de fichiers racine et le monter.

Voici un exemple utilisant l'incroyable System Rescue CD . J'ai en fait extrait l'intégralité de l'ISO à la racine du serveur TFTP, car elle correspond parfaitement à la structure de mon répertoire. Les noyaux sont donc dans /syslinux.

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

Prompt 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

Le bit le plus important ici est la ligne APPENDname__. Voir le netboot= à la fin? C'est ainsi que le système d'exploitation sait où se trouve son système de fichiers racine. La syntaxe est <protocol>://<server>:<path>.

J'avais commodément défini un nom DNS pxepour mon serveur. Si vous ne l'avez pas, vous utiliseriez une adresse IP pour le serveur.

De plus, sysresccd est l’un des plus faciles, car il utilise une image squashfs pour son système de fichiers racine, qui peut être facilement téléchargé et chargé dans RAM avec n’importe quelle méthode. Ici j'utilise nbd; vous pouvez aussi tilisez tftp, nfs et http .

Pour d’autres distributions, comme Ubuntu, je pense vous ne pouvez utiliser que nfs.

Pour les systèmes Windows, c'est n peu plus complexe à faire . Le contour est:

  • Installez Windows 7 sur un dossier partagé du serveur
  • Avoir un environnement Windows PE complet sur le serveur à la racine TFTP
  • Demandez à la machine cliente de charger le WinPE sur le réseau, puis appuyez sur F12 obtenir une invite de commande
  • Mappez le dossier partagé avec l'installation de Windows 7 sur une lettre de lecteur.
  • Démarrer l'installation à partir du dossier mappé

Je n'ai jamais essayé cela, et il semble que cela ne fonctionne pas pour certaines personnes. Pour les versions NT antérieures à Vista, je pense que ce n'est même pas possible. Pour Windows pré-NT (95, 98, ME, etc.), vous pouvez utiliser l’approche memdisk, mais leur démarrage est mauvais pour la santé :-p

4
GnP

L'appliance de déploiement ultime offre tout ce dont vous avez besoin. Leur page d'accueil décrit ses fonctionnalités. c'est reformaté ici pour plus de commodité:


Qu'est-ce que l'appliance de déploiement ultime?

  • Installations du système d'exploitation sans assistance (Windows, Linux, ESX, Solaris) via la configuration du réseau en quelques minutes!
  • Publiez vos outils de récupération/maintenance système préférés sur le réseau!
  • Démarrage PXE, Services d’installation à distance, Kickstart, Jumpstart, Autoyast in a box!

Quand utiliseriez-vous cela?

  • Lorsque vous essayez d'installer un système qui ne possède pas de lecteur de CD-ROM, mais qui possède une carte réseau (de nos jours, les ordinateurs portables ultra-fins et ceux qui n'ont pas de lecteur optique)
  • Lorsque vous devez installer un système d'exploitation sur différents matériels.
  • Lorsque vous devez installer des systèmes et que vous voulez que les choses deviennent automatisées et reproductibles.
  • Lorsque vous allez chez votre ami pour réparer son ordinateur, vous voulez être prêt. Au lieu de supprimer toutes ces choses indésirables, vous pouvez tout aussi bien recommencer à zéro. Apportez votre propre système (ordinateur portable?), Connectez-le au système enchevêtré avec un câble croisé et commencez à réinstaller le système à partir de rien, sans surveillance. Direction le frigo ...
  • Lorsque vous devez effectuer la maintenance de votre système sans avoir à transporter une pile de CD en direct.
  • Lorsque vous voulez faire cela sans payer beaucoup d'argent pour des produits commerciaux.

Comment ça marche?

  • Installation sans assistance L'appliance monte un fichier ISO avec une distribution de votre système d'exploitation préféré et importe les fichiers de démarrage nécessaires (réseau). Il crée un fichier de configuration par défaut pour votre installation automatisée et commence à héberger les fichiers de distribution du système d'exploitation pour le démarrage réseau.
  • Publication des outils système Les Live CD et autres outils sont entièrement importés dans le dispositif Ultimate Deployment et sont publiés pour pouvoir démarrer via le réseau via PXE.

UDA a une chaîne YouTube , où vous pouvez trouver une vidéo d’eux , qui installe Windows 7 à titre d’exemple de l'installation dans UDA à Windows complètement installé.

3
JavaRocky

Je suggère divers outils pour cet emploi si vous êtes intéressé pour prolonger cette recherche:

2
Bossliaw