Netzwerkboot mit TFTPd32    BartPE-Windows
von Roland Bernert

Serverinstallation: Aus dem Internet besorgt man sich die aktuelle Version des tftpd32-Servers.
Man benötigt weiterhin: 
memdisk und pxelinux.0 aus dem SysLinux-Paket sowie ein Programm zum Erstellen eines Floppy-Images (z.B. rawwritewin).
(unter Linux ganz einfach: dd if =/dev/fd0 of=floppy.img)


Nach der Installation von TFTPd32 sind noch ein paar Einstellungen zu machen.

Ich lege alle relevanten Daten im Programmverzeichnis von tftpd32 ab.

Mein WinXP-Rechner hat die feste IP-Adresse 192.168.2.141.

Die Angaben sind selbstverständlich entsprechend zu ändern.

Zuserst klickt man auf Settings.

Bei mir funktionierten diese Einstellungen.

Der integrierte  DHCP-Server wird entsprechend den Wünschen und Vorgaben konfiguriert.

SAVE nicht vergessen, damit die einmal gemachten Einstellungen erhalten bleiben.

Aus dem SysLinux-Projekt (aus dem Internet) benötigt man 
memdisk, 
menu.c32, 
pxelinux.0
1. Windows Server 2003 SP1 entpacken. in einem Dos-Fenster: 
win2003srsp1.exe -x 
2. die Dateien NTDETECT.COM, SETUPLDR.EX_,  STARTROM.CO_,  STARTROM.N1_, RAMDISK.SY_ und RAMDISK.IN_  suchen. und diese Dateien in ein temoräres Verzeichnis entpacken. 

                  Expand r RAMDISK.SY_ 
                  Expand r RAMDISK.IN_ 
                  Expand r SETUPLDR.EX_ 
                  Expand r STARTROM.CO_ 
                  Expand r STARTROM.N1_

3. Die original Dateien mit dem Unterstrich in der Endung löschen - werden nicht mehr gebraucht.. 

4. Die Dateiname ändern: 

                  setupldr.exe in NTLDR (Großbuchstaben) 
                  startrom.n12 in startrom.0 ( ist der Kernel )

Die Datei 

pxelinux.0, 
menu.c32 und
mendisk

werden ins tftpd-Programm- verzeichnis kopiert.

Die restlichen Dateien des SysLinux-Projekts werden nicht benötigt.

Weiterhin werden folgende Dateien ins tftpd-Verzeichnis kopiert:

NTLDR 
startrom.0 
startrom.com 
ntdetected.com 
winnt.sif 
ramdisk.sys 
ramdisk.inf                    PEBUILDER.ISO
 

Man erstellt das Verzeichnis: pxelinux.cfg

und dort das Menü mit dem Namen: default

In manchen Anleitungen im Internet war zu lesen, dass noch Anpassung an der Datei PEBUILDER.ISO vorgenommen werden müssten. Das war bei mir nicht so. 
Dies kann daran liegen, dass ich die PEBUILDER.ISO mit Hilfe der Quellen der Windows 2003-Server CD erstellt habe. 
Habe das auch schon mit den Quellen einer XP-SP3-CD getestet. Auch hier waren keine Anpassungen notwendig. Ich denke, dass die beschriebenen Anpassungen nur für XP-SP1/2 notwendig sind. Einfach ausprobieren.

Der Vollständigheit halber aber hier die - bei mir nicht notwendigen - Anpassungen: 
Mit einem Programm (UtraIS0) die ISO Datei öffnen und in dem Verzeichnis:
 \i386\System32\drivers die Dateien ramdisk.sys (aus den Quellen des Windows-2003-Server ServicePack 1) und die Datei ramdisk.inf rein kopieren bzw. ersetzen. 
Danach die ISO Datei abspeichern. 

Mit der Software Ultraiso müssen nun nur noch ein paar Optionen für das ISO File gemacht werden, da das generierte ISO von BartPE leider nicht funktioniert. Im Reiter Datei ->Einstellungen folgende Einstellungen vornehmen. 
(Dies war bei mir - Quellen aus Windows-2003-CD bzw. Windows XP SP3-CD - nicht nötig)

                 [ ] Optimieren 
         [x] Joliet 
         [ ] UDF 
         [ ] RockRidge 
         [ ] AppleHFS 
         [x] DOS(8.3) 
         [ ] Windows/Unix(31) 
         [ ] Max(221) 
         [ ] Kleinbuchstaben zulassen 
         [ ] ISO 9660 Versionsnummer ´;1´ weglassen 
         [ ] Standart(64) 
         [x] Erweitert(110)

 

Abert  - wie schon erwähnt. Diese Einstellungen/Anpassungen waren bei mir nicht notwendig.
 


Start des Clients:

Im BIOS ist Netzwerkboot einzustellen !

Hier wird das BARTPE-Image 
pebuilder.iso gebootet.
.
Viola :-)).
 
 

Benötigte Original - Dateien zum Download:



Zusatz (nicht unbedingt erforderlich).
Wenn man möchte, kann man sich ein
Boot-Menü erstellen

 

In syslinux-3.53\com32\modules gibt es die Datei menu.c32.
Diese wird ins Hauptverzeichnis von TFTPboot kopiert.

Die Datei pxelinux.cfg/default sieht dann bei mir folgendermaßen aus:

DEFAULT menu.c32
PROMPT 0
ALLOWOPTIONS 1
MENU TITLE PXE Dos WinPE-Boot

LABEL floppy
  MENU LABEL Normale NT-NetBootDosDisk starten
  KERNEL memdisk
  APPEND initrd=dos.img

LABEL netboot
  KERNEL memdisk
  APPEND initrd=netboot.img

LABEL netbs
  KERNEL memdisk
  APPEND initrd=netbs.img

LABEL netcom
  MENU LABEL Netboot.COM Diskette starten
  KERNEL memdisk
  APPEND initrd=netcom.img

LABEL bart
  MENU LABEL BARTs Boot Diskette starten
  KERNEL memdisk
  APPEND initrd=bart.img

LABEL memtest
  MENU LABEL Memtest starten 
  KERNEL memdisk
  APPEND initrd=memtest.img

LABEL win98
  MENU LABEL Windows 98 starten
  KERNEL memdisk
  APPEND initrd=win98.img

LABEL BartPE
  MENU LABEL BARTs WinPE starten
  KERNEL startrom.0

LABEL HDBoot
  MENU LABEL Von Festplatte booten
  LOCALBOOT 0

Neustart des Clients:

Man erhält wie gewünscht ein Menü, in dem man die einzelnen zu bootende Systeme auswählen kann.


"

Hier nochmals meine  winnt.sif  als Text

[SetupData] 
BootDevice = "ramdisk(0)" 
BootPath = "\i386\System32\" 
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd  /rdpath=BARTPE.ISO



Zusätzliche Netzwerkkartentreiber einfügen:  
 In /pebuilder3110a\drivers\Net
 für jede Netzwerkkarte eine eigenes Verzeichnis erstellen 
und in diese Verzeichnisse die Dateien hinein kopieren.
Bsp:

Roland Bernert