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)
Unter http://www.nu2.nu/bootdisk/network/ findet man Barts-NetzwerkBootDisk.
Unter http://www.nu2.nu/pebuilder/ findet man das Programm zu Barts-PE-Builder
NetBootDisketten kann man sich auch unter www.netbootdisk.com zusammenstellen.
UltraISO erhält man z.B. unter http://www.chip.de/downloads/c1_downloads_14293961.html


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

Ich lege alle relevanten Daten im Verzeichnis E:\tftpboot ab.

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

Die Angaben sind selbstverständlich entsprechend zu ändern bzw. anzupassen.

Zuserst klickt man auf Settuings.

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 
pxelinux.0

Diese Datei wird nach
E:\tftpboot kopiert.

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

Im Programmverzeichnis des TFTPd-Servers erstellt man ein Verzeichnis pxelinux.cfg 
und dort die Datei default mit folgendem Inhalt:
  
Hier der Inhalt von pxelinux.cfg/default
Man sieht hier: 

Es stehen mehrere Floppy-Images zur Auswahl: 

Zusätzlich befindet sich hier schon der Eintrag, um eine Barts WinPE-CD zu starten
 
.

Nun sind einige wesentliche Vorarbeiten zu machen. Das SP1 des Windows 2003 Server wird aus dem Internet geladen und in ein beliebiges Verzeichnis entpackt. (Nochmals: Man benötigt nur das SP1 !)
Dann folgende Dateien aus dem Verzeichnis i386 suchen und in das "Hauptverzeichnis" (bei mir also E:\tftpboot) kopieren:
RAMDISK.SY_
RAMDISK.IN_
NTDETECT.COM
SETUPLDR.EX_
STARTROM.CO_
STARTROM.N1_
Die noch gepackten Dateien müssen mit expand -r entpackt werden. Also ein DOS_Fenster öffnen (Start-->Ausführen-->CMD-->Return), in das "Hauptverzeichnis" wechseln  und folgendes eintippen:
(jede Zeile gefolgt von einem Return):
expand -r RAMDISK.SY_
expand r RAMDISK.IN_ 
expand r NTDETECT.COM
expand r SETUPLDR.EX_
expand r STARTROM.CO_
expand r STARTROM.N1_
Anschließend die SETUPLDR.EXE in NTLDR (ohne Dateiendung) und STARTROM.N12 in startrom.0 umbenennen.
Dann mit einem Texteditor eine Datei mit folgendem Inhalt anlegen und unter winnt.sif im "Hauptverzeichnis" (E:\tftpboot) abspeichern:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdexportascd /rdpath=bartpe.iso
Das ganze sieht dann in etwa so aus:
(Hier fehlt noch ntldr )
An dieser Stelle muss das BartPE-Image weiter verarbeitet werden.

(ich gehe hier davon aus, dass man sich mit pebuilder schon eine ISO-Datei des Barts WINPE zusammen gebacken hat.)

Mit UltraISO können ISO-Dateien berabeitet werden.

Die aus dem SP1 von Windows 2003-Server stammende Datei ramdisk.inf kommt nach i386/inf
des BartsPE-ISO-Imags.
 
Nach i386/SYSTEM32/ DRIVERS kopiert man die ramdisk.inf und ramdisk.sys.
In UltraISO geht man zu "Eigenschaften"
und stellt die Eigenschaften des ISO-Image so ein wie hier gezeigt.
 

Danach "Verlassen" -->
das neue ISO-Image wird gespeichert.
 

ACHTUNG:
Mit der freien Version von UltraISO kann man nur ISO-Dateien bearbeiten, die nicht größer als 300 MByte sind.

Also: Nicht zuviel in die BARTsPE-Datei mit aufnehmen.



Start des Clients:

Im BIOS ist Netzwerkboot einzustellen !
 

und in der Auswahl

winxp eingeben.

Das PE-Abbild wird übertragen....

(Eingabe nach boot: _)

und ....

gestartet :-))
Viola :-))
 

Als "Beweis" wurde hier der TotalCommander gestartet..
 
 

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 winxp
  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 die Datei winnt.sif - unbedingt nötig !

Roland Bernert