HowTo: PXE System mit Syslinux

In dieser Anleitung möchte ich einen relativ kurzen Einstieg in das Thema PXE Network Boot geben.

Was versteht man unter Network-Boot überhaupt?

Man bootet ein System per Netzwerk und kann so auf CD und USB-Stick verzichten. Praktisch ist das System vor allem dann, wenn mehrere Rechner eingerichtet werden müssen. Diese Anleitung setzt erweitertes Wissen in Windows und Netzwerktechnik voraus. Des weiteren können Syslinux-Kenntnisse auch nicht schaden. Allerdings wird Syslinux auf dieser Seite recht übersichtlich erklärt. Pxelinux ist eine Netzwerkversion von Syslinux.

Los geht’s: Zu aller erst wird das syslinux-Packet benötigt (zip). Diese könnt ihr hier downloaden. Kopieren sie folgende Dateien des Archivs z.B. nach C:PXE :

corepxelinux.0
memdiskmemdisk
com32menumenu.c32

Erstellen sie einen Unterordner C:PXEpxelinux.cfg (keine Datei). Dort legen sie eine leere Datei namens default an. Öffnen sie diese Datei mit einen Texteditor. Wenn sie möchten das ä, ö, ü korrekt umgewandelt werden, müssen sie einen ASCII DOS Zeichensatz wählen oder mit edit.com arbeiten. Um nun einen einfachen Eintrag in dem Bootmanager zu erstellen geben sie zum Beispiel folgendes ein:

# Bindet das Bootmenü ein
DEFAULT menu.c32
# Name des Eintrags
LABEL Boote von 123
# Pfad der Bootdatei im UNIX Format
KERNEL ./123.0

 

Nun wird es Zeit für einen einfachen Test. Dafür benötigen wir allerdings noch einen TFTP und DHCP Programm. Dafür eignet sich TFTPD32 am besten. ACHTUNG: Bevor sie TFTPD starten trennen sie den PC vom Firmennetz, sonst gibt es Probleme mit der IP-Vergabe! Dem PC, auf welchen TFTPD laufen soll, muss natürlich eine feste IP zugewiesen werden. In Windows finden sie die Einstellung unter „Netzwerkverbindungen“-„Eigenschaften“-„Internetprotokoll“. Beispielkonfiguration währe:

IP: 192.168.99.2
SNM: 255.255.255.0
DNS:  192.168.99.2

 

Kopieren sie TFTPD in ein beliebiges Verzeichnis und führen sie das Programm aus. Gehen sie nun auf <Settings> um die Konfiguration vorzunehmen. Aktivieren sie unter <Global> nur <TFTP-Server> und <DHCP-Server>. Gehen sie auf <TFTP-Server> und tragen sie unter <Base Directory> C:PXE ein. Setzen sie ein Häkchen bei <Allow ‚‘ As virtual root>. Die <DHCP-Server> Konfiguration hängt von den Gegebenheiten im Netzwerk ab. Legen sie als <Boot File> pxelinux.0 fest und deaktivieren sie <Ping adress before assignation>.

Deaktivieren sie ihre Firewall oder stellen sie sie so ein das der Port 69 nicht geblockt wird. Nun muss noch ein passendes Testsystem her, welches von PXE booten kann. Hier kann auch VMware genommen werden. Stellen sie zwischen den beiden Maschinen eine Netzwerkverbindung her (bei VMware schalten sie in den Host-Only Mode). Booten sie nun via PXE. Es sollte nun das Syslinux Menü angezeigt werden.

Wie Boote ich z.B. CloneZilla via Netzwerk?

Eigentlich ganz einfach, wenn dieses System soweit besteht. Mehr Informationen siehe hier. Es müssen eigentlich nur die Dateien ins Verzeichnis C:PXE kopiert werden und die default entsprechend der Anleitung angepasst werden.

Wie kann ich Windows 7 übers Netzwerk installieren?

Das ist jetzt schon nicht mehr so einfach. Grundsätzlich: Um Windows zu installieren benötigt man das Windows Automated Installation Kit (WAIK). Dieses Kit kann WIM Images mit einen Windows PE 3.0 erzeugen, welche man mit Hilfe eines NTLoaders starten kann. Nun kann man via Netzwerkfreigabe Windows 7 installieren. Eine ungefähre Anleitung befindet sich hier. Ansonsten wurde das Thema in der C’t 5/2011 Seite 176 „Ab durch die Strippe“ sehr gut beschrieben.

Wie kann man ein BIOS via Netzwerk flashen?

Dazu benötigt ihr ein *.IMG oder *.IMA Image des Flash-Datenträgers. Spezielle Programme können unter anderen aus bootfähigen USB-Sticks oder Disketten diese Dateien gewinnen (mit unter manche Brennprogramme). Man kopiert die Datei in das Hauptverzeichnis C:PXE ober man erstellt einen Unterordner. In die default schreibt man folgendes:

# Bindet das Menü ein
DEFAULT menu.c32
# Erstellt einen Menüeintrag
LABEL BIOS-Flash
# Um das Image zu laden wird memdisk benötigt
KERNEL ./memdisk keeppxe
# hier wird der Pfad des Images festgelegt
APPEND initrd=./flashimage.ima

 

Wo finde ich weitere Befehle und Informationen  zu dem Bootmenü?

Einfach diesen Link folgen 😉

Ich hoffe ich konnte euch einen kleinen Einblick in die PXE Welt geben. Wünsche viel Spaß beim ausprobieren!
Martin, PFVF.de Team

Ein Gedanke zu „HowTo: PXE System mit Syslinux

Schreibe einen Kommentar