Anleitung Windows Netzwerkinstallation

Posted by virtualmarc | Posted in Anleitungen, Entwicklungen, Meine Projekte, Wiki | Posted on 28-11-2011

0

In diesem Tutorial erkläre ich euch, wie man Windows Vista, Windows Server 2008, Windows 7 und Windows Server 2008 R2 über das Netzwerk installiert.

Im Beitrag Windows 7 Netzwerkinstallation habe ich eine solche Installation bereits gezeigt, da einige danach gefragt haben, wie so etwas zu realisieren sei, habe ich mich vor einiger Zeit an einem Video Tutorial gesetzt und jetzt folgt die Schriftform!

Das Videotutorial:

(Schritt für Schritt Erklärung ab Debian Installation, kein Vorwissen nötig)

 

Und hier die Textform:

(Vorwissen über Debian Linux benötigt!)

Meine Ausgangshardware für den Server:

CPU: Intel Atom D510

RAM: 2 GB DDR2

HDD: 2,5 TB im RAID 10

Netzwerk: 1GBit/s Full Duplex

Betriebssystem: Debian Squeeze

 

Schritt 1: Installation & Konfiguration des DHCP-Servers

Software: ISC-DHCP-Server

Konfiguration:

Eventuelles anpassen des Interfaces auf dem der DHCP Server auf DHCP Requests horcht in der Datei /etc/default/isc-dhcp-server

Konfigurationsdatei: /etc/dhcp/dhcpd.conf

ddns-update-style none

option domain-name-servers IP.ZUM.DNS.SERVER, IP.ZUM.DNS.SERVER2;

default-lease-time 600;

max-lease-time 7200;

authoritative;

log-facility local7;

Neben diesen Einstellungen müssen noch TFTP-Spezifische und Subnetzspezifische Einstellungen gemacht werden:

filename “/pxelinux.0″;

next-server IP.ZUM.TFTP.SERVER;

subnet NETZ.IP.ADDR.ESSE netmask BROADCAST.IP.ADDR.ESSE {

range ERSTE.IP.ADDR.ESSE LETZTE.IP.ADDR.ESSE;

option routers IP.DES.STANDARD.GATEWAY;

}

filename gibt dabei die Datei an, die beim Booten als erstes vom TFTP-Server geladen werden soll.

next-server gibt den TFTP-Server an, von dem gebootet werden soll!

 

Anschließend muss der DHCP Server neu gestartet werden.

 

Schritt 2: Installation & Konfiguration des TFTP-Servers:

Software: TFTPd-HPA

TFTP-Wurzelverzeichnis: Das Verzeichnis wo die Daten liegen.

Konfigurationsdatei: /etc/default/tftpd-hpa

 

Schritt 3: Anlegen des Menüs:

Als erstes muss das Paket syslinux installiert werden.

Anschließend kopieren wir folgende Dateien aus dem Syslinux Verzeichnis in unser TFTP-Wurzelverzeichnis:

gpxelinux.0 (umbenennen in pxelinux.0)

vesamenu.c32

Jetzt muss der Ordner pxelinux.cfg im TFTP-Wurzelverzeichnis angelegt werden.

In diesem Verzeichnis werden die Konfigurationsdateien abgelegt.

Diese Konfigurationsdateien können dabei mehrere Namen haben.

In folgender Reihenfolge versucht der PC die Konfigdateien zu laden (er springt immer zur nächsten, wenn die Konfigdatei nicht gefunden wurde).

  1. pxelinux.cfg/GUID-DER-NETZWERKKARTE
  2. pxelinux.cfg/MAC-ADRESSE-DER-NETZWERKKARTE
  3. pxelinux.cfg/HEX-CODIERTE-IP-ADRESSE
  4. pxelinux.cfg/default
Wir erstellen eine Datei mit dem Namen default.
Diese füllen wir mit dem folgendem Inhalt:
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 1
TIMEOUT 0
MENU TITLE PXE Test
KBDMAP german.kdb
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 13
MENU BACKGROUND vesa.jpg
MENU TABMSG [TAB] zum bearbeiten, [ENTER] zum booten
MENU COLOR BORDER 0 #ffffffff #ee000000 std
MENU COLOR TITLE 0 #ffffffff #ee000000 std
MENU COLOR SEL 0 #ffffffff #85000000 std
MENU COLOR UNSEL 0 #fffffffff #ee000000 std
LABEL local
          MENU LABEL ^Lokales System booten
          LOCALBOOT 0
LABEL windows
          MENU LABEL ^Windows Installation
          KERNEL wdsnbp.0
Der Timeout wird in dem Beispiel nicht gesetzt, kann aber jederzeit geändert werden.
Das Menü kann nach belieben angelegt werden!
Die Größenangaben sind in Zeichen nicht in Pixeln!
Die vesa.jpg müsste dem Syslinux Paket beiliegen, sonst ist sie im Internet zu finden!
Schritt 4: Installation und Einrichtung des Windowsfreigabedienstes
Software: Samba
Als erstes erstellen wir einen Ordner für unsere Windowsfreigabe, wo nachher unsere Installationsdaten abgelegt werden.
Konfigurationsdatei: /etc/samba/smb.conf
Folgenden Eintrag abändern:
security = share
Dieser wird folgender Eintrag angehängt:
[ris]
          comment = Remote Installation Server
          read only = yes
          path = /pfad/zum/ordner/der/freigabe
          browsable = no
          guest ok = yes
          level2 oplocks = no
          oplocks = no
          csc policy = disable
          directory mask = 0777
          create mask = 0777
Anschließend muss der SAMBA Server neu gestartet werden.
Schritt 5: Einrichten des Windows AIK
Als erstes muss das aktuellste Windows Automated Installation Kit von der Microsoft Seite herunter geladen werden.
Zur Zeit des Tutorials war dies das Windows AIK für Windows 7 SP1!
Nun die Windows PE Tools Command Line starten.
Wichtig: Mit einer 32Bit PE kann man NUR 32Bit Systeme installieren und mit einer 64Bit PE kann man NUR 64Bit Systeme installieren!
Man kann allerdings mit BCDEDIT noch ein Bootmenü erstellen, um ein Multiboot PE zu erzeigen, die Befehle dafür befinden sich unter den Zusatzschritten!
Am besten erstellt man ein Arbeitsverzeichnis für das erstellen der PE Umgebung!
In diesem erstellt man einen Ordner Boot und einen Ordner Sources.
Als erstes müssen wir die PXE Dateien kopieren, dies geschieht mit dem folgendem Befehl:
copypxe x86 D:\UnserArbeitsverzeichnis\WinPEx86
bzw:
copypxe amd64 D:\UnserArbeitsverzeichnis\WinPEx64
Jetzt müssen die .wim Images gemounted werden.
imagex /mountrw D:\UnserArbeitsverzeichnis\WinPEx86\winpe.wim 1 D:\UnserArbeitsverzeichnis\WinPEx86\mount
bzw.
imagex /mountrw D:\UnserArbeitsverzeichnis\WinPEx64\winpe.wim 1 D:\UnserArbeitsverzeichnis\WinPEx64\mount
Ins Verzeichnis:
[...]\mount\Windows\Boot\PXE
wechseln.
Jetzt müssen alle Dateien (nur Dateien, keine Unterordner) nach D:\UnserArbeitsverzeichnis\Boot kopiert werden.
Dies braucht man nur mit einer Edition machen (32Bit ODER 64Bit).
Anschließend brauchen wir folgende Dateien aus dem Installationsverzeichnis von Windows AIK zu finden unter:
[...]\Windows AIK\Tools\PETools\amd64\Boot
Dateien:
  1. bcd
  2. boot.sdi
in unser Arbeitsverzeichnis in den Ordner Boot!
Jetzt brauchen wir aus dem Boot Verzeichnis einige Dateien auf dem TFTP-Server:
  1. bootmgr.exe
  2. pxeboot.n12
  3. wdsnbp.com
  4. bcd
  5. boot.sdi
Ein paar Dateien müssen dabei umbenannt werden:
pxeboot.n12 -> pxeboot.com
wdsnbp.com -> wdsnbp.0
Im Windowsverzeichnis der gemounteten .wim Dateien befindet sich eine Batchdatei mit dem folgendem Namen und dem folgendem Pfad:
[...]\mount\Windows\System32\startnet.cmd
In dieser kann man anpassen, was nach dem booten passieren soll.
In unserem Fall erweitern wir die Datei mit dem folgendem Befehl:
net use m: \\IP.DES.SAMBA.SERVERS\ris
m:\setup.exe
Das Image kann man mit dem folgendem Befehl unmounten:
imagex /unmound D:\UnserArbeitsverzeichnis\WinPEx86\mount
bzw.
imagex /unmound D:\UnserArbeitsverzeichnis\WinPEx64\mount
Pfade können dabei noch beliebig angepasst werden.
Wenn wir nun unser PE booten, wird es das Netzwerkinterface konfigurieren, die SAMBA Freigabe mounten und die setup.exe aufrufen die die Windowsinstallation startet.
Man kann natürlich auch, wie ich, ein kleines Menü starten wo man dann die einzelnen Betriebssysteme auswählen kann.
Dabei ist folgendes zu bedenken:
Das ist ein rohes Windows ohne jegliche Libraries wie .NET, etc.
Deswegen empfiehlt sich AutoIT für die grafische Programmierung.
Jetzt müssen nur noch die Dateien von der Windows Installations DVD auf die SAMBA Freigabe kopiert werden.
Zusatzschritt: Erstellen eines Bootmenüs mit BCDEDIT
Einfach folgende Befehle in der Kommandozeile ausführen und die Datei BCD mit der Datei auf dem Server kopieren.
bcdedit -createstore BCD
bcdedit -store BCD -create {ramdiskoptions}
bcdedit -store BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store BCD -set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
bcdedit -store BCD -create /d “32Bit Installation” /application osloader
bcdedit -store BCD -create /d “64Bit Installation” /application osloader
bcdedit -store BCD -enum
bcdedit -store BCD -set {GUID-VON-32BIT} systemroot \Windows
bcdedit -store BCD -set {GUID-VON-32BIT} detecthal Yes
bcdedit -store BCD -set {GUID-VON-32BIT} winpe Yes
bcdedit -store BCD -set {GUID-VON-32BIT} osdevice ramdisk=[boot]\Boot\winpex86.wim
bcdedit -store BCD -set {GUID-VON-32BIT} device ramdisk=[boot]\Boot\winpex86.wim,{ramdiskoptions}
bcdedit -store BCD -set {GUID-VON-64BIT} systemroot \Windows
bcdedit -store BCD -set {GUID-VON-64BIT} detecthal Yes
bcdedit -store BCD -set {GUID-VON-64BIT} winpe Yes
bcdedit -store BCD -set {GUID-VON-64BIT} osdevice ramdisk=[boot]\Boot\winpex64.wim
bcdedit -store BCD -set {GUID-VON-64BIT} device ramdisk=[boot]\Boot\winpex64.wim,{ramdiskoptions}
bcdedit -store BCD -create {bootmgr} /d “Windows BootManager”
bcdedit -store BCD -timeout 30
bcdedit -store BCD -default {GUID-DESSEN-WAS-STANDARDMAESSIG-BOOTEN-SOLL}
bcdedit -store BCD -displayorder {GUID-ERSTER-EINTRAG} {GUID-ZWEITER-EINTRAG}

Write a comment