Pxe

Status
Für weitere Antworten geschlossen.

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82

cunit

Benutzer
Mitglied seit
02. Jul 2010
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

bisher funktioniert bei mir Knoppix und Ubuntu einwandfrei. Nun bin ich schon länger dabei, mich an einem Win7PE zu versuchen. Winbuilder läuft dabei einwandfrei und erstellt ein funktionstüchtiges ISO bzw. alle benötigten Dateien in seinem Zielverzeichnis.

Anschließend hab ich mich an diesem Thread orientiert und dabei alles genau umgesetzt (der letzte Post fasst alles Wichtige kurz zusammen). Nun, da bei mir stehts sofort ein TFTP download failed erscheint, denke ich, dass es schon hakt bevor der Kernel geladen wird. Habe hier schonmal von dem Fehler gelesen, aber noch nichts gefunden, was bei mir dagegen hilft. Wo sehe ich einen detailierten log? (mehrere -v in der /etc/inetd.conf bringen bei mir nicht mehr Einträge in der /var/log/messages)

Ich bin außerdem dieser Anleitung nachgegangen (unabhängig von meinen Winbuilder Daten) und habe alle erfoderlichen Datein erstellen, sammeln und im tftproot bereitgestellen können. Über ein "TFTP download failed" komme ich trotzdem nie hinaus.

Gruß und bereits Danke im Voraus :)
 

ubuntulinux

Benutzer
Mitglied seit
23. Jan 2010
Beiträge
2.063
Punkte für Reaktionen
0
Punkte
82
KERNEL kernels\memdisk

Bei Linux verwendet man anstatt \ ein /. Musst Du überall ersetzen, dann sollte es gehen.
 

cunit

Benutzer
Mitglied seit
02. Jul 2010
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Ok, sooo genau hab ichs dann doch nicht umgesetzt, dass ich die \-Tippfehler übernommen hab ;) Das mit den / ist mir klar.

Hab im Übrigen meinen Fehler gefunden. Mein eigenes Ordnersystem im tftproot funktioniert natürlich nicht wegen der BCD. Mein unterorder "tftproot/Win7PE" war also der Fehler. Es muss natürlich direkt tftproot/Boot heißen.

So, also die original winpe.wim aus dem AIK läuft. Ersetze ich sie mit meiner eigenen (aus dem Winbuilder) scheitert die Ramdiskerstellung.. due to insufficient memory. Naja logisch, meine wim ist auch ein bisschen größer (307 statt 110Mb). Also muss ich die Ramdisk Optionen in der BCD anders setzen? Nur ich seh da keine konkreten Angaben an denen ich rumspielen könnte...
Rich (BBCode):
Bcdedit –store c:\BCD –create {ramdiskoptions} /d “Ramdisk options” 
Bcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdidevice  boot
Bcdedit –store c:\BCD –set {ramdiskoptions} ramdisksdipath  \boot\boot.sdi
wisst ihr weiter?


*EDIT: Ich sollte meiner VM auch mehr als 256Mb Speicher geben :D .. dann gehts von alleine ;)
 
Zuletzt bearbeitet:

papiga01

Benutzer
Mitglied seit
03. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
0
Erstmal vielen Dank für deinen Beitrag in http://www.synology-forum.de/showthread.html?t=17224

Ich habe unendlich lang versucht XP zu installieren. Wegen den fehlenden LOGs war das ein stochern im Dunkeln. Erst als ich es geschafft habe LOGs zu erstellen konnte ich sofort sehen, dass all meine bisherigen Fehler auf die TFTP-Remap-File zurückzuführen waren.

Will damit sagen:
Die Logs können einem unendlich viel Zeit ersparen :)


Wo sehe ich einen detailierten log? (mehrere -v in der /etc/inetd.conf bringen bei mir nicht mehr Einträge in der /var/log/messages)
Mehrere -v ist schon richtig, aber ich musste auch den syslog-ng installieren.

Und so habe ich die TFTP-Logs bekommen:
http://www.synology-wiki.de/index.php/Syslog-ng_via_ipkg_installieren

Die Logdateien waren dann nicht mehr in /var/log/messages sondern in /opt/var/log zu finden.
 

papiga01

Benutzer
Mitglied seit
03. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
0
Windows XP - soweit komme ich:

Mir liegt die XP-CD im .iso-Format vor.
TFTP, DHCP sind so http://www.synology-forum.de/showthread.html?t=17224 konfiguriert.

Schritt 1) Den Inhalt der xp.iso bzw der XP-CD ins Verzeichnis /opt/tftpboot/xp kopieren
Schritt 2)
Rich (BBCode):
ipkg install python
ipkg install perl-file-rename
ipkg install cabextract

Man hat später weniger Arbeit wenn man Großbuchstaben in Kleinbuchstaben konventiert.
Schritt 3)
Rich (BBCode):
cd /opt/tftpboot/xp/
find -exec rename y/A-Z/a-z/ {} ';'

cd /opt/tftpboot/xp/i386
find -exec rename y/A-Z/a-z/ {} ';'
Achtung: die Anweisung find -exec rename y/A-Z/a-z/ {} ';' wandelt Dateien und Verzeichnisse in Kleinbuchstaben um. Muss aber mehrfach angewandt werden (für jede Verzeichnistiefe 1x). Das kann schon mal 10min dauern pro Durchgang.
Ich vermute, man muss nicht die ganze XP-CD konventieren, sondern nur die Dateien innerhalb des i386-Verzeichnisses und i386/system32-Verzeichnisses

Nun braucht man einpaar Dateien aus der XP-CD, die man extrahieren und umbenennen muss.
Schritt 4)
Rich (BBCode):
cabextract /opt/tftpboot/xp/i386/startrom.n1_ -d /opt/tftpboot/
mv  /opt/tftpboot/startrom.n12 /opt/tftpboot/startrom.0

cabextract /opt/tftpboot/xp/i386/setupldr.ex_ -d /opt/tftpboot/
mv  /opt/tftpboot/setupldr.exe /opt/tftpboot/ntldr

cp /opt/tftpboot/xp/i386/ntdetect.com  /opt/tftpboot/

Dann das RIS-Linux holen
Schritt 5)
Rich (BBCode):
cd /opt/tftpboot
wget http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz
tar xvzf ris-linux-0.4.tar.gz
dann kopiert man sich die winnt.sif in tftpboot-Verzeichnis und passt sie an
Schritt 6)
Rich (BBCode):
cp /opt/tftpboot/ris-linux-0.4/winnt.sif /opt/tftpboot
vi /opt/tftpboot/winnt.sif
Zwei Zeilen muss man ändern:
PHP:
OriSrc = "\\192.168.2.30\RemInst\xp\i386"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.2.30\RemInst\xp"

NTLDR-Loader fixen
Schritt 7)
Rich (BBCode):
/opt/tftpboot/ris-linux-0.4/fixloader.py /opt/tftpboot/ntldr

Nun alle Treiber der XP-CD entpacken:
Schritt 8)
Rich (BBCode):
mkdir -p /opt/tftpboot/xp/drivers
cabextract /opt/tftpboot/xp/i386/*.in_ -d /opt/tftpboot/xp/drivers
cabextract /opt/tftpboot/xp/i386/driver.cab -d /opt/tftpboot/xp/drivers

INF-Dateien parsen:
Schritt 9)
Rich (BBCode):
/opt/tftpboot/ris-linux-0.4/infparser.py /opt/tftpboot/xp/drivers/

Schritt 10)die binsrv.py anpassen
Rich (BBCode):
  vi /opt/tftpboot/ris-linux-0.4/binlsrv.py
suchen und ändern:
PHP:
BASEPATH = '/opt/tftpboot/xp/i386/'


in die PXE-Datei einfügen:
Schritt 11)
Rich (BBCode):
vi /opt/tftpboot/pxelinux.cfg/default
PHP:
LABEL xp
MENU LABEL ^xp
KERNEL startrom.0


Weiß nicht 100% ob man das braucht, aber sicherheitshalber mal machen:
Schritt 12)
Rich (BBCode):
echo "ALL : ALL" > /etc/hosts.allow




Schritt 13)
die samba konfiguration anpassen (vorher die orginale Datei sichern!)
Rich (BBCode):
cp /usr/syno/etc/smb.conf /usr/syno/etc/smb.conf.orginal
vi /usr/syno/etc/smb.conf
ändern:
PHP:
[GLOBAL]
....
null passwords=true
security=share
....
[REMINST]
     path = /opt/tftpboot/xp
     browsable = true
     read only = No
     guest ok = Yes


jetzt noch die remap-file anpassen:
Schritt 14)
Rich (BBCode):
Rich (BBCode):
vi /opt/etc/tftp_remap.conf
PHP:
rg \\ /
rg ^\\\\i386 i386
r KDCOM.DL_ kdcom.dl_
r BOOTVID.dl_ bootvid.dl_
r SETUPREG.HIV setupreg.hiv
r SPDDLANG.SY_ spddlang.sy_
r WMILIB.SY_ wmilib.sy_
r OPRGHDLR.SY_ oprghdlr.sy_
r 1394BUS.SY_ 1394bus.sy_
r PCIIDEX.SY_ pciidex.sy_
r USBPORT.SY_ usbport.sy_
r USBD.SY_ usbd.sy_
r HIDCLASS.SY_ hidclass.sy_
r HIDPARSE.SY_ hidparse.sy_
r VIDEOPRT.SY_ videoprt.sy_
r SCSIPORT.SY_ scsiport.sy_
r CLASSPNP.SY_ classpnp.sy_
r TDI.SY_ tdi.sy_
r ^/xp/i386/dc21x4.sys xp/drivers/dc21x4.sys
Anmerkung1: Welche Dateien remappt werden müssen, habe ich durch das loggen des TFTP-Servers heruasgefunden. Dazu musste ich Syslog-ng installieren. http://www.synology-wiki.de/index.php/Syslog-ng_via_ipkg_installieren Anmerkung2: Auf meinem Windows-Testsystem mit VirtualPC ist dc21x4.sys der Netzwerk-Treiber. Dieser Eintrag kann daher bei jedem anders sein. Boote ich von meinem PC aus, findet PXE gar keinen passenden Treiber! :-s Schritt 15) Jetzt alle betreffenden Dienste neustarten (TFPServer, DHCP, Samba, BINL-Server) oder die DS rebooten Schließlich den BINL-Server starten: Schritt 16)
Rich (BBCode):
/opt/tftpboot/ris-linux-0.4/binlsrv.py /opt/tftpboot/ris-linux-0.4/devlist.cache
Anmerkung:Hier kann man auch sehen welcher Netzwerk-Treiber gesucht wird Ist der BINL-Server gestarten, starte ich auf meinem Windows-Testrechner VirtualPC und boote XP. Irgendwann (nach dem TFTP gelaufen ist) bekomme ich einen Bluescreen mit 0x0000000BB als Fehlermeldung. Ich weiß nicht ob das an SAMBA oder an der Hardware oder gar an was Drittem liegt. Welche Erfahrungen konntet ihr sammeln wenn ihr dieses Tutorial folgt? Hier die Quelle: http://promodus.net/linuxris/
 
Zuletzt bearbeitet:

superimpose

Benutzer
Mitglied seit
30. Dez 2010
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo Papiga,

ich warte noch auf mein bestelltes DS211+ und werde auch pxe + Windows-XP-Installation einrichten.
Ich nutze momentan ein Readynas DUO und betreibe seit etlichen Jahren einen pxe-Server inkl. mehrerer Windows-XP-Installationen auf ähnliche Weise, wie Du es hier beschreibst.

Du schreibst, dass das Setup mit einem Blue-Screen hängen bleibt.

Korrigiere mal folgendes:

1. unter Punkt 13: die SMB-Freigabe REMINST muss die tftp-Root freigeben:
path = /opt/tftpboot

2. für den binlsrv musst du alle benötigten Netzwerktreiber parsen (devlist.cache). Dazu am besten einen Ordner Treiber erstellen und darin (ohne Unterverzeichnisse) alle benötigten *.ini- und *.sys-Dateien reinkopieren. das py-Script zum Erzeugen auswählen und anschließend die *.sys-Dateien in den WinXP-Installations-Ordner (bei Dir /opt/tftpboot/xp/i386) kopieren.

Nun sollte das Setup den Treiber, den Windows anfordert auch finden und laden. Sobald alle Treiber vom Setup geladen wurden, sollte der Bildschirm kurz schwarz werden und anschließend das Setup alle erkannten Festplatten etc zeigen. Zu diesem Zeitpunkt arbeitet das Windows-Setup nur noch über die SMB-Freigabe (REMINST).

Grüße
Christian
 

papiga01

Benutzer
Mitglied seit
03. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
0
hallo superimpose,

vielen Dank für deinen Beitrag!

Leider hat es mir nicht geholfen.

Nach Schritt 8 (also, nach dem extrahieren der Treiber ins das /opt/tftpboot/xp/drivers Verzeichnis, habe ich die .sys-Dateien ins i386 Verzeichnis kopiert, mit:
Rich (BBCode):
cp /opt/tftpboot/xp/drivers/*.sys -R /opt/tftpboot/xp/i386

und im Schritt 13 den Pfad angepasst.


Gleicher Fehler wie vorher:
In VirtualPC, sehe ich den schwarzen Bildschirm einige Sekunden lang und dann kommt der Bluescreen mit der Meldung:
"Beim Versuch, vom Netzwerk zu starten, ist ein Initialisierungsfehler aufgetreten"
STOP 0x000000BB


Wenn dein PXE mal eingerichtet ist, würde es mich sehr freuen wenn du die Anleitung vervollständigen würdest

:)
 

superimpose

Benutzer
Mitglied seit
30. Dez 2010
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Guten Morgen Papiga!

Was mir noch einfällt; Hast Du schon eine andere VM ausprobiert? Ich nutze Virtualbox und hatte am Anfang auch manchmal Probleme, die auf die VM zurückzuführen waren.
Ansonsten kann ich Dir meine devlist.cache + Treiber zur Verfügung (ca. 8MB) stellen da sind 100e von Netzwerkkarten enthalten und du kannst damit auch einen physischen Rechner booten. Das sollte auf alle Fälle funktionieren, wenn alles richtig konfiguriert ist.

PS: nutzt du auch die ntldr und ntdetect.com von einer Windows2k3-Installation?

Grüße
Christian
 

papiga01

Benutzer
Mitglied seit
03. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
0
Hallo superimpose,


habe die ntldr und ntdetect.com nun aus der Win200_Server_SP1, mit der es auch gehen soll, abgeändert.
Immer noch der gleiche 0x000000BB -Bluescreen.

Sowohl auf den Laptop wie auf den PC wir kein Netzwerktreiber erkannt.

Kann gerne deine Treiber ausprobieren. PM!


Vielen Dank!
Gruß
 

Joto

Benutzer
Mitglied seit
15. Okt 2010
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
[...] ich bin nach der Anleitung von QTip vorgegangen [...] Aber schon der Test des TFTP von meinem Windowsrechner gibt einen Timeout (Ja, die IP ist ansonsten erreichbar)

Ein "tftp localhost -c get test.txt" auf der Diskstation selber funktioniert einwandfrei und die test.txt wird "übertragen". [...]

Desweiteren habe ich der inetd.conf mal den Parameter "-m /opt/etc/tftp_remap.conf" angehängt. (Ist dieses File für diesen simplen Test schon notwendig?) [...]
Hey, ich habe das gleiche Problem. Wie hast du es gelöst?

Auch folgenden Beitrag habe ich berücksichtigt, bringt jedoch keine Besserung. Betriebssysteme mit DS installieren. PXE Step-by-Step
 

cunit

Benutzer
Mitglied seit
02. Jul 2010
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hey, ich habe das gleiche Problem. Wie hast du es gelöst?
Hi, hier war "nur" mein Windows 7 Rechner das Problem. Da müssen wohl irgendwelche Sicherheitseinstellungen dagegen sprechen. Hab aber noch nicht herausgefunden, woran es genau liegt.

Ich habe immer viel mit VMs getestet und damals auch aus diesen heraus TFTP Anfragen an die DS geschickt. Diese schlugen ebenfalls fehl... ABER nur weil der Netzwerkadapter der VM zu diesem Zeitpunkt mit NAT "hinter" meinem Win 7 hing. Als ich ihn dann daneben gebridged hab, lief alles. Sprich Windows 7 hat wohl was gegen die TFTP Packages..

Auf Seiten der Synology gab es also letztendlich nie ein Problem. Und beim tatsächlichen PXE-Boot meines Rechners gabs dann auch keins.
 

Joto

Benutzer
Mitglied seit
15. Okt 2010
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Danke für die Rückmeldung, hatte auch nur von Win7 aus getestet.

Da ich annehme, dass Koexistenz von DHCP auf NAS und Router ausgeschlossen ist, laufen entsprechende NAS jetzt 24/7 oder werkelt der DHCP-Server auch in Hibernation?
 

cunit

Benutzer
Mitglied seit
02. Jul 2010
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
DHCPs auf Router und DS vergeben bei mir in verschiedenen Ranges im selben Subnetz. So hab ichs gelöst.
 

Joto

Benutzer
Mitglied seit
15. Okt 2010
Beiträge
4
Punkte für Reaktionen
0
Punkte
0
Hmm, aus anderem Forum zum Thema mehrere DHCP-Server:
Falls eine solche [physikalische Netz-] Trennung nicht vorgenommen wird, benutzt der Client
einfach die Antwort, die "schneller" bei ihm ankommt; das kann dann
natuerlich zu Kollisionen fuehren.
 

superimpose

Benutzer
Mitglied seit
30. Dez 2010
Beiträge
22
Punkte für Reaktionen
0
Punkte
0
Hallo Allerseits,

ich habe nun mein DS211+ bekommen und soweit alles eingerichtet.

Falls eine solche [physikalische Netz-] Trennung nicht vorgenommen wird, benutzt der Client
einfach die Antwort, die "schneller" bei ihm ankommt; das kann dann
natuerlich zu Kollisionen fuehren.
Kollisionen gibt's da eigentlich nicht. Es werden alle Antworten ausgewertet, falls die gewünschte Anfrage nicht beantwortet ist. Bei einer PXE-Anfrage, werden alle DHCP-Antworten empfangen und nur die übernommen, die den Bootserver enthält. Bei einer "einfachen" DHCP-Anfrage, gewinnt logischerweise der schnellere, da die erste Antwort schon alle Informationen enthält.
Ich hatte auch immer 2 DHCP-Server ohne Probleme am laufen; sie sollten eben nur verschiedene Ranges versorgen.

Ich habe nun aber eine viel bessere Lösung fürs pxe-Thema: Auf meinem Router (fritz!box) läuft der Standard-DHCPd rund um die Uhr. Für die PXE-Informationen habe ich mir auf dem DS ein Proxy-DHCP eingerichtet, der nur die fehlenden pxe-Infos übermittelt. Damit stelle ich sicher, dass der dhcpd immer läuft, unabhängig vom NAS, wenn es mal aus ist, neu bootet, etc. und alle Anfragen, die gleichen Infos erhalten.
Proxy-DHCP wird momentan nur vom dnsmasq unterstützt, so dass dieser per ipkg installiert werden muss, anstelle des einfachen dhcp.

Ich bin bis jetzt sehr zu frieden mit dem DS.

PS: mein nächstes Projekt wird sein, den binlsrv.py nativ fürs DS zu kompilieren, dann braucht man das ganze Python nicht mehr und spart eine Menge Resourcen.


@Papiga:
Hast Du nun immernoch Bluescreens?

Mir fällt in Deiner Anleitung noch auf, dass Du die Driver.cab extrtahierst. Wozu eigentlich genau? Du benötigst Doch nur den/ die Treiber Deiner Netzwerkkarte(n). Ich habe mir die direkt beim Hersteller runtergeladen (sys+inf) und daraus die devlist.cache für den binlsrv erstellt. Die sys-Datei(n) werden dann einfach nach /I386 verschoben/ kopiert.
 

Q14siX

Gesperrt
Mitglied seit
26. Mai 2010
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Windows 7 PE (32-Bit und 64-Bit) vom TFTP-Server der DS booten! So geht es!

Hallo zusammen, ich habe die letzte Woche damit verbracht, auf meiner DS einen TFTP-Server zu installieren und davon Windows 7 PE booten zu lassen. Hier nun meine Anleitung, mit der es bei mir geklappt hat.
Einige der Textpassagen habe ich von QTip kopiert, andere von ihm noch angepasst!

1. Die Installation
Zunächst einmal frischen wir unsere Paketverwaltung auf und installieren die folgenden Pakete:

Rich (BBCode):
ipkg update
ipkg install tftp-hpa
ipkg install dhcp

Nun löschen wir das nicht benötigte Paket xinetd…

Rich (BBCode):
ipkg --force-depends remove xinetd

2. Konfigurieren des TFTP
Jetzt kommt das, was der xinetd im Normalfall für den TFTP machen würde - den Dienst oder auch Service des TFTP's bereitstellen und die Anfragen auf Port 69 an den TFTP weiterzuleiten. Ich benutze dafür allerdings den "einfachen" inetd, da er auf der DS schon vorhanden ist. Bitte folgende Zeile in der /etc/inetd.conf eintragen:

Rich (BBCode):
tftp    dgram   udp     wait    root    /opt/sbin/in.tftpd      /opt/sbin/in.tftpd -v -v -v -s /volume1/tftp -m /opt/etc/tftp_remap.conf

Der letzte Parameter hinter dem -s ist der gewünschte Pfad für die PXE-Konfiguration und Images die zum Booten der Clients gebraucht werden.
Solltet ihr diesen ändern (z.B. in /volume1/tftp) dann könnt ihr das bei der Installation vom TFTP erstellte Verzeichnis wieder entfernen.
Damit der INETD das auch benutzen kann, müssen wir ihn neustarten

Rich (BBCode):
/usr/syno/etc/rc.d/S03inetd.sh restart

Überprüfen kann man das mit

Rich (BBCode):
netstat -lu

Dort sollte dann folgende Zeile auftauchen:

Rich (BBCode):
udp        0      0 *:tftp                  *:*

Den TFTP können wir schon mal grundlegend testen. Eine Testdatei im Verzeichnis tftpboot ablegen:

Rich (BBCode):
echo TFTP Test > /opt/tftp/test.txt

Danach in Windows mit Start - Ausführen - cmd.exe (oder Windows-Taste + R) die Console öffnen und folgenden Befehl ausführen:

Rich (BBCode):
cd c:\
tftp <IP_DER_DISKSTATION> get test.txt

Das Ergebnis sollte nun so aussehen:

Rich (BBCode):
Übertragung erfolgreich: 11 Bytes in 1 Sekunden, 11 Bytes/s


HINWEIS: Sollte ein Fehler auftauchen, dass das tftp Programm nicht gefunden wurde, muss man dieses Programm nachinstallieren. Dazu gibt es im Internet z.B. bei google.de einige gute Hilfen zu finden.

3. Konfiguration des DHCP
Es fehlt noch die Konfiguration des DHCP Servers. Solltet ihr schon einen DHCP-Server z.B. von euerem Router benutzen, solltet ihr den IP-Bereich des DHCP-Servers in eurem Router auf einen etwas kleineren Bereich beschränken (z.B. 192.168.178.50 - 192.168.178.200). Somit hättet ihr ein paar IP's frei, die ihr dem DHCP-Server auf der DS zur Verfügung stellen könnt. Das sollte auch für üppig ausgefallene Netzwerke reichen

In die /opt/etc/dhcpd.conf kommt nun folgendes:

Rich (BBCode):
ddns-update-style none;
ddns-updates off;

allow booting;
allow bootp;

# hier für gewöhnlich die Adresse des Routers eintragen.
option domain-name-servers 192.168.178.1;

# euer Subnetz und Maske
subnet 192.168.178.0 netmask 255.255.255.0 {

option subnet-mask 255.255.255.0;
option routers 192.168.178.1;
option domain-name "DOMAIN";
option perform-mask-discovery false;
option router-discovery false;

# IP-Bereich den ihr für den DHCP-Server nutzen wollt
range dynamic-bootp 192.168.178.10 192.168.178.20;
default-lease-time 21600;
max-lease-time 43200;

# IP der Diskstation
next-server 192.168.178.20;

# Dateiname des Programmes für das Bootmenü
filename "pxelinux.0";
}

HINWEIS: Bei filename (in der zweitletzten Zeile, kann man auch Boot/pxeboot.0 eintragen, wenn man nur Windows PE später booten möchte! In dem Fall kann man dann auch Schritt 4 überspringen und macht direkt bei Schritt 5 weiter!

Im Anhang die fertige Datei, die ihr nur noch an euren IP-Bereich anpassen müsst. Die Endung .txt nach dem entpacken und bearbeiten nicht vergessen zu entfernen. Der DHCP-Server muss noch die neue Konfiguration einlesen, das wird mit

Rich (BBCode):
/opt/etc/init.d/S56dhcp

durchgefüht.

4. Einrichten des Bootmenüs
Das aktuellste .zip Paket von SYSLINUX bei http://www.kernel.org/pub/linux/utils/boot/syslinux/ downloaden. Aus dem Paket benötigen wir die Datei core/pxelinux.0 und com32/menu/vesamenumenu.c32. Diese beiden kopieren wir nun nach /volume1/tftp. Zusätzlich kopiert ihr die Datei memdisk mit dem Ordner memdisk (also memdisk/memdisk) in euer TFTP-Verzeichnis. Im TFTP-Verzeichnis /volume1/tftp erstellen wir nun ein Verzeichnis pxelinux.cfg. In diesem Verzeichnis erstellen wir eine neue Datei default mit folgendem Inhalt:

Rich (BBCode):
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
TIMEOUT 300

MENU TITLE Bootmenue

LABEL local
MENU LABEL ^1 - Booten von lokaler Festplatte
LOCALBOOT 0

LABEL ^2 - Microsoft Windows 7 PE
KERNEL Boot/pxeboot.0

5. Windows PE für 32-Bit und 64-Bit erstellen.
Hierzu habe ich im Anhang einen Befehlsskript hinzugefügt, dass jegliche Arbeit für euch übernimmt.

Zunächst sollte erst einmal sichergestellt sein, dass das Windows OEM Preinstallation Kit oder das Windows Automated Installation Kit installiert ist.

Ist dieses der Fall, entfernt ihr die Endung .txt von Windows PE – PXE.cmd.txt und klickt anschließend mit der rechten Maustaste auf die Windows PE – PXE.cmd und wählt im Kontext Als Administrator ausführen aus.

Nun könnt Ihr euch erst einmal entspannen oder einen Kaffee trinken gehen! Wenn die Zusammenstellung abgeschlossen ist, startet der Explorer in einem Ausgabeverzeichnis.
In diesem Verzeichnis findet Ihr einen Ordner Boot, diesen Ordner kopiert Ihr samt Inhalt (Dateien und Unterverzeichnissen) in euer TFTP Verzeichnis auf der DS.

Weiter auf der DS…
Nun werden noch Link(s) hinzugefügt.

a) Wenn Ihr den SYSLINUX nutzt (filename "pxelinux.0";), dann…

Rich (BBCode):
cd /volume1/tftp/
ln -s Boot/bootmgr.exe
cd Boot/
ln -s pxeboot.n12 pxeboot.0

b) Wenn Ihr nur Windows PE booten möchtet (filename "Boot/pxeboot.0 ";), dann…

Rich (BBCode):
cd /volume1/tftp/Boot/
ln -s pxeboot.n12 pxeboot.0

6. Fertig
Wenn Ihr nun die Anleitung befolgt (inkl. SYSLINUX) habt, dann müsste euer TFTP-Verzeichnis wie folgt aussehen!

Rich (BBCode):
\pxelinux.0
\test.txt
\vesamenu.c32
\Boot\abortpxe.com
\Boot\BCD
\Boot\boot.sdi
\Boot\bootmgr.exe
\Boot\hdlscom1.com
\Boot\hdlscom1.n12
\Boot\hdlscom2.com
\Boot\hdlscom2.n12
\Boot\pxeboot.0
\Boot\pxeboot.com
\Boot\WdsConfig.inf
\Boot\wdsmgfw.efi
\Boot\wdsnbp.com
\Boot\winpex64.wim
\Boot\winpex86.wim
\Boot\da-DK\bootmgr.exe.mui
\Boot\da-DK\wdsmgfw.efi.mui
\Boot\zh-TW\bootmgr.exe.mui
\Boot\zh-TW\wdsmgfw.efi.mui
\Boot\cs-CZ\bootmgr.exe.mui
\Boot\cs-CZ\wdsmgfw.efi.mui
\Boot\ko-KR\bootmgr.exe.mui
\Boot\ko-KR\wdsmgfw.efi.mui
\Boot\sv-SE\bootmgr.exe.mui
\Boot\sv-SE\wdsmgfw.efi.mui
\Boot\el-GR\bootmgr.exe.mui
\Boot\el-GR\wdsmgfw.efi.mui
\Boot\hu-HU\bootmgr.exe.mui
\Boot\hu-HU\wdsmgfw.efi.mui
\Boot\pt-PT\bootmgr.exe.mui
\Boot\pt-PT\wdsmgfw.efi.mui
\Boot\zh-CN\bootmgr.exe.mui
\Boot\zh-CN\wdsmgfw.efi.mui
\Boot\ru-RU\bootmgr.exe.mui
\Boot\ru-RU\wdsmgfw.efi.mui
\Boot\fr-FR\bootmgr.exe.mui
\Boot\fr-FR\wdsmgfw.efi.mui
\Boot\zh-HK\bootmgr.exe.mui
\Boot\zh-HK\wdsmgfw.efi.mui
\Boot\fi-FI\bootmgr.exe.mui
\Boot\fi-FI\wdsmgfw.efi.mui
\Boot\it-IT\bootmgr.exe.mui
\Boot\it-IT\wdsmgfw.efi.mui
\Boot\en-US\bootmgr.exe.mui
\Boot\en-US\wdsmgfw.efi.mui
\Boot\nl-NL\bootmgr.exe.mui
\Boot\nl-NL\wdsmgfw.efi.mui
\Boot\tr-TR\bootmgr.exe.mui
\Boot\tr-TR\wdsmgfw.efi.mui
\Boot\nb-NO\bootmgr.exe.mui
\Boot\nb-NO\wdsmgfw.efi.mui
\Boot\pt-BR\bootmgr.exe.mui
\Boot\pt-BR\wdsmgfw.efi.mui
\Boot\es-ES\bootmgr.exe.mui
\Boot\es-ES\wdsmgfw.efi.mui
\Boot\ja-JP\bootmgr.exe.mui
\Boot\ja-JP\wdsmgfw.efi.mui
\Boot\de-DE\bootmgr.exe.mui
\Boot\de-DE\wdsmgfw.efi.mui
\Boot\pl-PL\bootmgr.exe.mui
\Boot\pl-PL\wdsmgfw.efi.mui
\memdisk\memdisk
\pxelinux.cfg\default

7. Zusatz
Wie Ihr sicherlich bemerkt habt, findet man zusätzlich noch eine startnet.txt im Anhang, wenn Ihr diese Datei im selben Verzeichnis ablegt wie den Befehlsskript, vor der Ausführung, wird diese in jedes PE-Image kopiert und beim booten von diesem ausgeführt. So könnt Ihr einige Befehle beim Booten schon automatisieren!

HINWEIS: Die erste Zeile (wpeinit) ist Standard und sollt mind. darin stehen.

Das reicht erstmal um die Funktion vom TFTP und DHCP zu testen. Rechner neustarten und Netboot auswählen (vom Bios abhängig), Nun sollte euer Rechner per DHCP-Anfrage eine IP zugewiesen bekommen. Kurz darauf müsste das PXE-Bootmenü erscheinen.

Bei Fragen, kurze PN!
Und nun viel Spaß beim ausprobieren!;)

Anlagen:
Anhang anzeigen Windows PE - PXE.cmd.txt
Anhang anzeigen startnet.txt
Anhang anzeigen dhcpd.conf.txt
 

Samy102

Benutzer
Mitglied seit
06. Apr 2010
Beiträge
40
Punkte für Reaktionen
0
Punkte
6
Hi,

soweit ich das hier alles bei mir gemacht habe und nachher nochma überprüft habe weiss ich nicht wo bei mir der fehler liegt.

Ich bekomme beim versuch mit PUT und GET für den tftp nur eine Zeitüberschreitung. Die Prozesse laufen alle und die Einstellungen sind wie hier beschrieben.

Hat vielleicht jemand noch eine idee? Getestet mit WinXP.
 

DSL-Hexe

Benutzer
Mitglied seit
01. Apr 2008
Beiträge
692
Punkte für Reaktionen
4
Punkte
44
Bekomme beim booten vom PC folgende Fehlermeldung: "pxe-e32 tftp open timeout"

Kennt sich jemand damit aus?

Zur Info:
Über Windows habe ich Verbindung zum TFTP. Beim Booten bekomme ich auch fein die IP-Adresse zugewiesen und dann steht TFTP und es folgen Punkte in Regelmässigen Abständen und dann kommt die Fehlermeldung.
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat