tonisoft
Goto Top

Windows Deployment Services - Networkboot pro Computer aktivieren

System: Windows Server 2008 Standard x64

Gibt es eine Möglichkeit, die Möglichkeit eines PXE Networkboot auf einen Rechner pro Rechner freizugeben? Ziel soll sein, dass man z.B. mit einem Commandline-Utility den PXE Networkboot für den PC lab-pc01 aktivieren kann, und dieser beim nächsten Neustart dann dann einem PXE Boot durchführt, das Standard-Bootimage lädt, und dann die Installation unattended durchführt.

Es müsste deshalb die F12 Abfrage deaktiviert werden, wenn der Administrator einen Rechner für den Netzwerkboot freigibt. Nach erfolgreicher Durchführung der Installation darf der Rechner nicht mehr vom PXE booten.

Vielen Dank im Vorraus!

Viele Grüße,

Toni

Content-Key: 119760

Url: https://administrator.de/contentid/119760

Printed on: April 19, 2024 at 10:04 o'clock

Mitglied: 80220
80220 Jul 05, 2009 at 15:58:09 (UTC)
Goto Top
Der Boot-Vorgang wird über das Bios gesteuert. Mit einem Commandline-Utility kannst du da nichts ausrichten, das musst du schon über das Bios-Setup manuell einstellen.

Wenn du allerdings das Bios des Clients genau kennst und weißt, in welchem/welchen Byte des CMOS-Rams die Bootpriorität festgelegt wird und du ein Kernel-Mode-Treiber besitzt, mit dem du unter Windows das Modifizieren des CMOS-RAMS bewerkstelligen kannst, musst du dich damit versuchen. face-smile
Member: ToniSoft
ToniSoft Jul 05, 2009 at 16:06:57 (UTC)
Goto Top
Leider hast du mich falsch verstanden. Ich möchte keinesfalls das Bios manipulieren, sondern den PXE Networkboot nur dann durchführen lassen, wenn der Computer auf dem Server mit Hilfe eines Commandlineutilitys auf irgendeine Art und Weise freigeschaltet wurde.

Beim PXE Networkboot wird ein Bootimage vom PXE Server gezogen (per TFTP). Ich müsste den PXE Server so einstellen können, dass er nur dann antwortet, wenn der Computer freigeben wurde. Die manuelle Eingabe von F12 beim Bootvorgang soll entfallen, sodass man einfach die neuzuinstallierenden Clientarbeitsstationen auswählt und dann die Neuinstallation beginnt, ohne dass auf jeden Rechner manuell F12 gedruückt werden muss.
Mitglied: 68162
68162 Jul 05, 2009 at 16:14:13 (UTC)
Goto Top
Wenn du allerdings das Bios des Clients genau kennst und weißt,
in welchem/welchen Byte des CMOS-Rams die Bootpriorität
festgelegt wird und du ein Kernel-Mode-Treiber besitzt, mit dem du
unter Windows das Modifizieren des CMOS-RAMS bewerkstelligen kannst,
musst du dich damit versuchen. face-smile

Selbst das ginge wohl nur, wenn Du auch die Prüfsumme mit manipulierst, sonst hast Du einen "CMOS-Checksum-Error" und er lädt die Defaults.

Wenn ich vor dieser Aufgabe stände- ein GEDANKENEXPERIMENT: das Drücken von F12 wird Dir niemand abnehmen können ...
ABER: es gibt Kernel, die PXE ermöglichen, auch an Maschinen, die das gar nicht können.
Ich würde GRLDR aus dem GRUB4DOS in die BOOTCONFIG (BOOT.INI ?) legen, damit den PXE-Kernel aufrufen. Und wenn das passieren soll, ändert der Admin die BOOTCONFIG, daß GRLDR Default wird, und sagt "nun neu booten" ...

MfG, -FM-81-
Mitglied: 80220
80220 Jul 05, 2009 at 16:31:36 (UTC)
Goto Top
Zitat von @ToniSoft:
Leider hast du mich falsch verstanden.

Oder du hast dich so ausgedrückt, dass man dich missverstehen kann. face-smile

Ein Möglichkeit wäre aber imo, dass man bei jungfräulichen Rechnern (und deren Festplatten) die Bootreihenfolge so einstellt, dass zuerst die HDD in der Reihenfolge steht und anschließend der Netzwerkboot. Das könnte dazu führen, dass die Unattendinstallation vom Server durchgeführt wird und anschließend, nach erfolgter Installation nur von der Festplatte gebootet wird.
Member: ToniSoft
ToniSoft Jul 05, 2009 at 16:35:48 (UTC)
Goto Top
Am BIOS muss ich gar nichts verändern, damit der PXE Boot durchgeführt wird... Ich verstehe auch ehrlich gesagt nicht, wie du darauf kommst. Das BIOS hat mit dem PXE Boot auch relativ wenig zu tun, weil es ja nur die Bootreihenfolge festlegt und dann die Aufgabe an das PXE ROM der Netzwerkkarte übergibt, dass dann per DHCP Broadcast nach Bootimages sucht und diese vom WDS Server bekommt.

Ich bin übrigens schon ein Stückweit selbst auf einen Lösungsansatz gekommen:

Mit WDSUTIL /Set-Device /Device:<name> /BootProgram:<path>, kann man das Bootimage auswählen, welches für einen bestimmten Client beim nächsten PXE Boot verwendet wird. Wähle ich da die *.n12 Version des Images aus, anstelle der *.com Version, so wird die Benutzerinteraktion durch Drücken von F12 unterdrückt. Allerdings muss Windows PE nach der Installation als letztes das Image wieder zurückstellen, sodass die *.com Variante wieder verwendet wird. Mal sehen ob es ohne Endlosbootschleifen funktioniert...

Trotzdem Danke für eure Hilfe! Hier sind auch einige nützliche Infos: http://technet.microsoft.com/en-us/library/cc771788(WS.10).aspx
Mitglied: 80220
80220 Jul 05, 2009 at 16:36:58 (UTC)
Goto Top
Zitat von @68162:
Selbst das ginge wohl nur, wenn Du auch die Prüfsumme mit manipulierst, sonst hast Du einen "CMOS-Checksum-Error" und
er lädt die Defaults.

Stimmt. Aber wenn er das nicht beachtet, stimmt eine der Bedingungen für solche Manipulationen nicht mit den gestellten Anforderungen überein:
Wenn du allerdings das Bios des Clients genau kennst ...

face-wink
Mitglied: 80220
80220 Jul 05, 2009 at 16:44:40 (UTC)
Goto Top
Zitat von @ToniSoft:
Am BIOS muss ich gar nichts verändern, damit der PXE Boot durchgeführt wird... Ich verstehe auch ehrlich gesagt nicht, wie
du darauf kommst.

Ohne entsprechende Bios-Einstellung kein PXE-Boot. So einfach ist das.

Zitat von technet.microsoft.com:
First to configure the client computer to perform network boots automatically when the computer is started,
Member: ToniSoft
ToniSoft Jul 05, 2009 at 16:46:18 (UTC)
Goto Top
Zitat von @80220:
> Zitat von @ToniSoft:
> Leider hast du mich falsch verstanden.

Oder du hast dich so ausgedrückt, dass man dich missverstehen
kann. face-smile

Tut mir leid, dass ich mich so komisch ausgedrückt habe, allerdings finde ich, dass mein Problem schwer in Worte zu fassen ist.

Ein Möglichkeit wäre aber imo, dass man bei
jungfräulichen Rechnern (und deren Festplatten) die
Bootreihenfolge so einstellt, dass zuerst die HDD in der Reihenfolge
steht und anschließend der Netzwerkboot. Das könnte dazu
führen, dass die Unattendinstallation vom Server
durchgeführt wird und anschließend, nach erfolgter
Installation nur von der Festplatte gebootet wird.

An diese Möglichkeit habe ich auch schon gedacht, allerdings ist dann bei einem defekten System kein Netzwerkboot mehr möglich, ohne dass im Bios die Bootreihenfolge wieder zurückgestellt wird.
Mitglied: 68162
68162 Jul 05, 2009 at 17:06:00 (UTC)
Goto Top
Unabhängig von meinem vorigen, clientseitigen Vorschlag:

Ich kann doch auf einem PXE-Server eine Konfig erstellen, die an die MAC-Adresse eines bestimmten Clients gebunden ist. Und wenn ich dort beim ersten Mal reinschreibe "WDS laden" und beim zweiten Mal "local weiter booten" ...

MfG, -FM-81-
Member: Teddybaer1
Teddybaer1 Jul 24, 2009 at 21:35:25 (UTC)
Goto Top
Hi ToniSoft!

Ich würde auch gerne das gleiche bei uns in der Firma realisieren, mir wurde dafür PXE-Linux empfohlen. Das Thema interessiert mich ja sehr und würde mich sehr freuen wenn wir Kooperieren und uns gegenseitig Infos austauschen.
Member: ToniSoft
ToniSoft Jul 25, 2009 at 14:31:28 (UTC)
Goto Top
Mittlerweile habe ich das Problem lösen können, da es eine Einstellung in den Windows Deployment Services (WDS) gibt, die erlaubt, dass nur dann der WDS-Server den anfragenden Client-Computern antwortet, wenn vorher ein sog. "prestaging" durchgeführt wurde und dann das Bootprogramm, welches nach dem PXE Boot ausgeführt werden sollte auf die pxeboot.n12 Version der jeweiligen Prozessorarchitektur festgelegt wurde. Dann startet nur der vorher festgelegte neuzuinstallierende COmputer beim nächsten Neustart automatisch die Installation, indem das Bootimage per TFTP vom Server geladen wird. Alle anderen Computer bekommen die Standardnachricht, dass beim Drücken von F12 der PXE-Boot eingeletet wird.

Automatisieren kann ich das ganze mit dem wdsutil Commandline Tool von Windows Server 2008.

Mit "WDSUTIL /set-device /device: computername /bootprogramm [Pfad des pxeboot.n12-bootprogramms]" kann man das Bootprogramm für den mit computername benannten rechner, der anhand der MAC der netzwerkkarte identifiziert wird, festlegen.

Außerdem muss einmalig "wdsutil /set-server /resetbootprogram:yes" ausgeführt werden, damit der Computer, der mit dem "WDSUTIL /set-device /device: computername /bootprogramm" freigeschaltet wurde, nicht nach der Installation des Betriebsystemimages und nach dem Neustart schon wieder neuinstalliert wird.

Dort (http://technet.microsoft.com/de-de/library/cc770832(WS.10).aspx) wird beschrieben, wie man die Computer anhand der MAC Adresse des PXE NICs identifizieren kann. Die COmputer werden dann als Computer-Objekt im AD angelegt, sodass "WDSUTIL /set-device /device: computername /bootprogramm" ausgeführt werden kann.

Ich hoffe, dass meine Beschreibung nicht zu unverständlich ist, denn vorher wurde ich leider auch von den anderen Antwortenden missverstanden, da ich ja bestimmt keinesfalls das BIOS verändern wollte, sondern lediglich den PXE Boot SERVERSEITIG dann durchführen wollte, wenn der Computer vorher freigeschaltet wurde. Trotzdem nochmals Danke für die Antworten!
Member: Teddybaer1
Teddybaer1 Jul 25, 2009 at 15:10:41 (UTC)
Goto Top
Danke für die schnelle Antwort, ich werde die nächste Zeit testen, und dich auf dem laufenden halten, ich würde vorschlagen wenn du nicht dagegen hast, dass wir tel. nr austauschen, damit wir uns gegenseitig helfen.

für dein verständnis würde ich mich sehr freuen. und verbleibe

mfg. Teddybaer1
Member: Teddybaer1
Teddybaer1 Aug 03, 2009 at 15:04:16 (UTC)
Goto Top
Hi liebe ToniSoft!

Ich danke Dir für die Antwort, und ich würde dich gerne darum bitte, ob es machbar wäre, dass wir E-Mail´s austauschen.

für deine Mühe bedanke ich mich im Voraus,

mfg. Teddybaer1