it-swarm.com.de

Kann man über das Netzwerk von einer ISO booten und wie?

Auf meinem Computer ist ein bootfähiges ISO gespeichert, und ich habe einen anderen leeren Computer, auf dem ich das ISO installieren möchte. Sie befinden sich beide im selben LAN (verbunden mit demselben Switch). Wie würde ich vorgehen, um den leeren Computer von der ISO zu booten, die auf meinem primären Computer gespeichert ist?

31

Ich denke, Sie möchten ein Mittel zum Starten von pxe von ISO-Images. Ich habe ein bisschen gesucht und diesen Artikel gefunden . Ich glaube, dass diese Methode für jedes bootfähige ISO-Image funktionieren sollte, das Sie möglicherweise haben. Dies ist ein weiterer ähnlicher Artikel .

Schließlich scheint dieser Artikel zu erläutern, wie dies von einem PXE-Server (Pre-Boot eXecution Environment) ausgeführt wird, den Sie unter Windows ausführen.

11
James T Snell

Ja, das ist sehr gut möglich. Die Art des Systems, das Sie booten können, hängt davon ab, wie das System funktioniert.

In der Regel werden Sie feststellen, dass sehr einfache Systeme (wie DOS oder Win98) und sehr komplexe Systeme (wie moderne Linux-Distributionen) können problemlos über das Netzwerk gebootet werden.

Die Art und Weise, wie dies bei den beiden Systemtypen erreicht wird, ist sehr unterschiedlich.

Sehen wir uns beide Möglichkeiten genauer an. Ich gehe davon aus, dass Sie bereits ein PXEbootserversetup haben. Wenn Sie es nicht tun, machen Sie es einfach.

Ich gehe auch von einem dnsmasq-Setup auf einem Linux-Server mit dem tftproot in /var/lib/tftpboot aus, aber Sie sollten in der Lage sein, die Anweisungen an jedes andere Setup anzupassen.

Für einfache Systeme

Bei einfachen Systemen laden Sie einfach das Image (ISO) in den Arbeitsspeicher und täuschen das System vor, es sei eine tatsächliche Einheit. Dies geschieht mit Hilfe des BIOS und eines Softwaremoduls namens memdisk .

Das System, das Sie über das Netzwerk laden möchten, ist 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

Das wars so ziemlich. Die ersten Zeilen sind Menüzeilen; Die wichtigsten Bits sind die letzten vier Zeilen: Laden Sie die Memdisk mit der angegebenen ISO.

Für komplexe Systeme

Moderne Systeme mit ausgefallenen Funktionen wie guter Speicherverwaltung und richtiger Hardwareerkennung ignorieren so ziemlich alles, was das BIOS zu sagen hat.

Dies macht den oben verwendeten memdisk-Ansatz so gut wie nutzlos, denn wenn Sie die ISO auf diese Weise geladen haben, nachdem der Kernel von der ISO gelesen und in den Speicher geladen wurde (dies wird vom Bootloader in der ISO durchgeführt; Bootloader beachten das BIOS) ), die ISO-Daten wären weg.

Was machst du dann? Nun, Sie laden die ISO-Datei nicht aus dem Netzwerk, sondern teilen dem System mit, dass es von dort aus auf die erforderlichen Dateien zugreifen kann.

Extrahieren Sie auf Linux-Systemen den ISO-Inhalt irgendwo im tftproot, laden Sie den Kernel und initrd direkt und überlassen Sie es diesen, das Root-Dateisystem zu finden und bereitzustellen.

Hier ist ein Beispiel mit der erstaunlichen System Rescue CD . Ich habe die gesamte ISO tatsächlich in das Stammverzeichnis des TFTP-Servers extrahiert, da sie genau in meine Verzeichnisstruktur passt, sodass sich die Kernel in /syslinux befinden.

# /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

Das wichtigste Bit ist hier die Zeile APPEND. Sehen Sie den netboot= am Ende? So weiß das Betriebssystem, wo sich sein Root-Dateisystem befindet. Die Syntax lautet <protocol>://<server>:<path>.

Ich hatte bequemerweise einen DNS-Namen pxe für meinen Server festgelegt. Wenn Sie das nicht haben, würden Sie eine IP-Adresse für den Server verwenden.

Außerdem ist sysresccd eines der einfachsten, da es ein Squashfs-Image für sein Root-Dateisystem verwendet, das mit jeder Methode einfach heruntergeladen und in RAM geladen werden kann. Hier benutze ich nbd; Sie können auch verwenden Sie tftp, nfs und http .

Für andere Distributionen, wie Ubuntu, denke ich Sie können nur nfs verwenden.

Für Windows-Systeme ist es etwas komplexer . Der Umriss ist:

  • Installieren Sie Windows 7 in einem freigegebenen Ordner auf dem Server
  • Verfügen Sie in Ihrem TFTP-Stammverzeichnis über eine vollständige Windows PE-Umgebung auf dem Server
  • Lassen Sie den Client-Computer das WinPE über das Netzwerk laden und drücken Sie F12 um eine Eingabeaufforderung zu erhalten
  • Ordnen Sie den freigegebenen Ordner mit der Windows 7-Installation einem Laufwerksbuchstaben zu
  • Starten Sie die Installation aus dem zugeordneten Ordner

Ich habe das noch nie ausprobiert und es scheint, dass es bei manchen Menschen nicht funktioniert. Für NT-Versionen älter als Vista denke ich, ist es nicht einmal möglich. Für Windows vor NT (95, 98, ME usw.) können Sie den Memdisk-Ansatz verwenden, aber das Booten ist schlecht für Ihre Gesundheit :-p

4
GnP

Die Ultimate Deployment Appliance bietet das, was Sie benötigen. Ihre Homepage beschreibt die Funktionalität; Es wurde hier der Einfachheit halber neu formatiert:


Was ist die Ultimate Deployment Appliance?

  • Unbeaufsichtigte Installation von Betriebssystemen (Windows, Linux, ESX, Solaris) über das Netzwerk in wenigen Minuten!
  • Veröffentlichen Sie Ihre bevorzugten Tools zur Wiederherstellung und Systemwartung über das Netzwerk!
  • PXE-Boot, Remote-Installationsdienste, Kickstart, Jumpstart, Autoyast in einer Box!

Wann würdest du das benutzen?

  • Wenn Sie versuchen, ein System zu installieren, das kein CD-ROM-Laufwerk, aber eine Netzwerkkarte hat (heutzutage haben ultradünne Laptops und solche kein optisches Laufwerk)
  • Wenn Sie ein Betriebssystem auf verschiedenen Hardwarekomponenten installieren müssen.
  • Wenn Sie Systeme installieren müssen und automatisiert und reproduzierbar arbeiten möchten.
  • Wenn Sie zu Ihrem Freund gehen, um seinen Computer zu reparieren, möchten Sie vorbereitet sein. Anstatt all das unerwünschte Zeug zu entfernen, könnten Sie genauso gut von vorne anfangen. Bringen Sie Ihr eigenes System (Laptop?) Mit, schließen Sie es mit einem Kreuzkabel an das durcheinandergebrachte System an und installieren Sie das System völlig unbeaufsichtigt neu. Auf zum Kühlschrank ...
  • Wenn Sie Wartungsarbeiten an Ihrem System durchführen müssen, ohne einen Stapel Live-CDs mit sich herumtragen zu müssen.
  • Wenn Sie dies tun möchten, ohne viel Geld für kommerzielle Produkte zu bezahlen.

Wie funktioniert es?

  • Unbeaufsichtigte Installation Die Appliance stellt eine ISO-Datei mit einer Distribution Ihres bevorzugten Betriebssystems bereit und importiert die erforderlichen (Netzwerk-) Boot-Dateien. Es erstellt eine Standardkonfigurationsdatei für Ihre automatisierte Installation und beginnt mit dem Hosten der Betriebssystemverteilungsdateien für den Netzwerkstart.
  • System Tool Publishing Live-CDs und andere Tools werden vollständig in die Ultimate Deployment-Appliance importiert und zum Booten über das Netzwerk über PXE veröffentlicht.

UDA hat einen YouTube-Kanal , in dem Sie ein Video finden , in dem Windows 7 als Beispiel installiert wird vom Setup innerhalb von UDA zu Windows komplett installiert.

3
JavaRocky

Ich schlage verschiedene Tools für diese Jobs vor, wenn Sie daran interessiert sind, diese Forschung zu erweitern:

2
Bossliaw