Wie oft muss man irgendwelche Rechner per CD booten, um Backups zu erstellen, zu Partitionieren oder Betriebssysteme aufzuspielen?

und wie oft hat man die CD verlegt oder die CD ist nicht mehr brauchbar, weil Sie verkratzt ist?

Ab sofort ist damit Schluss. Diese Aufgabe ist für einen PXE-Server wie gemacht.

Ziel dieses Servers ist, dass man die benötigten Programme per Netzwerk bootet.

Vorbereitung

das Packet syslinux muss heruntergeladen werden. Die neueste Version ist von Vorteil. Dabei ist es egal, welches Format man wählt; der Inhalt ist der gleiche.

Server-Vorbereitung

TFTP-Server Installation

zunächst muss man einen TFTP-Server installieren

sudo apt-get install tftpd-hpa

TFTP-Server Konfiguration

Als nächstes sollte man dem TFTP-Server klarmachen, wie er starten soll. Dazu die Datei /etc/default/tftpd-hpa wie folgt modifizieren

#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"

Als nächstes muss der TFTP-Server gestartet werden.

sudo /etc/init.d/tftp-hpa start

das Root-Verzeichtnis (TFTP-Root) des TFTP-Servers ist /var/lib/tftpboot

Hinweis:Bei openSUSE konfiguriert man den TFTP-Server am Besten über das YaST-Modul. Das Root-Verzeichnis ist hier Standardmäßig '/tftpserver'

DHCP-Server konfiguration

im DHCP-Server (/etc/dhcp/dhcp.conf) müssen noch folgende Zeilen eingetragen werden, damit der Clientrechner später weiß, welche IP er booten soll

next-server <IP des TFTP-Servers>; filename "/pxelinux.0";

TFTP-Root vorbereiten

Aus dem heruntergeladenen syslinux-File folgende Dateien in das TFTP-Rootverzeichnis kopieren

pxelinux.0

menu.c32

Das Menü erstellt man, indem man ein Verzeichnis pxelinux.cfg anlegt und darin ein File mit dem Namen default

mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default

Das default-File ist für das Menü zuständig. Folgender Inhalt ist die Minimalkonfiguration:

DEFAULT menu.c32 ALLOWOPTIONS 0 PROMPT 0 TIMEOUT 100 F1 hilfen/f1 F5 hilfen/f5 MENU AUTOBOOT Automatic boot in # second{,s}... MENU TITLE PXE-Boot Server MENU ROWS 15

Wegen der besseren Übersichtlichkeit sollte man ab jetzt für jedes zu bootende System ein eigener Unterordner verwendet werden

NFS-Server vorbereiten

NFS-Server wie hier installieren und konfigurieren

Bootmenüeinträge

Von Festplatte booten

Den ersten Eintrag in das default-File sollte wie folgt aussehen

# --- Von Festplatte Booten LABEL hddboot MENU LABEL Von ^Festplatte booten LOCALBOOT 0

dieser Eintrag gewährleistet, dass man auch vom PXE-Menü aus die normale Festplatte booten kann

openSUSE 11.2 booten

Unterordner für openSUSE 11.2 erstellen

sudo mkdir /var/lib/tftpboot/suse11.2

Um openSUSE 11.2 vom TFTP-Server zu booten, muss man zunächst von der openSUSE-CD die Dateien linux und und initrd ins TFTP-Root kopieren

sudo cp <CDRom-Pfad>/boot/i386/loader/linux /var/lib/tftpboot/suse11.2
sudo cp <CDRom-Pfad>/boot/i386/loader/initrd /var/lib/tftpboot/suse11.2

Als nächstes muss die CD auf den Rechner kopiert und per NFS freigegeben werden. Anleitung findet man hier

Jetzt muss nur noch das default-File mit folgender Zeilte erweitert/angepasst werden

# --- openSuSE 11.2 installieren LABEL opensuse112x86 MENU LABEL open^SuSE 11.2 (x86) installieren kernel /suse11.2/linux append initrd=/suse11.2/initrd noapic acpi=off Language=de_DE vga=normal install=nfs://192.168.0.150/home/repo/opensuse_11.2

Bei append können noch mehr Parameter angegeben werden z. B. Autoyastskripte…

Eine Übersicht über diese Kernelparameter findet man hier.

Acronis True Image 2009 booten

Unterordner für Acronis True Image erstellen

sudo mkdir /var/lib/tftpboot/acronis

Folgende Dateien müssen in das verzeichnis kopiert werden: kernel.dat, ramdisk.dat

sudo cp <CDRom-Pfad>/Recovery\ Manager/kernel.dat /var/lib/tftpboot/acronis
sudo cp <CDRom-Pfad>/Recovery\ Manager/ramdisk.dat /var/lib/tftpboot/acronis

Folgenden Aufruf an die default-Datei anhängen

# --- Acronis TrueImage Home 2009 booten LABEL acronis2009 MENU LABEL Acronis ^TrueImage Home 2009 kernel acronis/kernel.dat append initrd=acronis/ramdisk.dat vga=791 ramdisk_size=32768 acpi=off quiet noapic

Parted Magic booten

Unterordner für Parted Magic erstellen

sudo mkdir /var/lib/tftpboot/pmagic47

Von der Website die PXE-Version von Parted Magic herunterladen und die wichtigen Dateien (bzImage, initramfs) ins TFTP Root-Verzeichnis kopieren

Aufruf an die default-Datei anhängen

# --- Parted Magic booten LABEL pmagic47 MENU LABEL Parted Magic 4.7 KERNEL pmagic47/bzImage append initrd=pmagic47/initramfs load_ramdisk=1 prompt_ramdisk=0 rw sleep=10

Ubuntu 8.04 (x86) booten

Unterordner für Ubuntu 8.04 erstellen

sudo mkdir /var/lib/tftpboot/ubuntu804/i386

Netboot-Dateien für Ubuntu herunterladen und die Dateien linux und initrd.gz ins TFTP-Verzeichnis kopieren

Folgenden Aufruf zur default-Datei hinzufügen

# --- Ubuntu 8.04 (i386) booten LABEL ubuntu804i386 MENU LABEL Ubuntu 8.04 LTS (i386) installieren kernel ubuntu804/i386/linux append vga=normal initrd=ubuntu804/i386/initrd.gz --

Backtrack 4 booten

Unterordner für Backtrack 4 erstellen

sudo mkdir /var/lib/tftpboot/backtrack4

Die Startdateien (vmlinuz, initrd.gz) von der CD ins TFTP Rootverzeichnis kopieren

CD auf den Rechner kopieren und per NFS freigeben. Anleitung findet man hier

Folgende Zeilen an die default-Dateien anhängen

# --- BackTrack 4 LiveCD LABEL backtrack4 MENU LABEL BackTrack 4 LiveCD kernel /backtrack4/vmlinuz BOOT=casper boot=casper persistent rw quiet append nfsroot=192.168.0.150:/home/repo/backtrack4/ netboot=nfs rw toram boot=casper BOOT=casper initrd=/backtrack initrd.gz nopersistent quiet

grml 2010.04

Unterordner für Grml erstellen

sudo mkdir /var/lib/tftpboot/grml_2010.04

Die Startdateien (linux26 und minirt26.gz) von der CD ins TFTP Rootverzeichnis kopieren

CD auf den Rechner kopieren und per NFS freigeben. Anleitung findet man hier

Folgende Zeilen an die default-Dateien anhängen

LABEL grml_2010.04x86 MENU LABEL GRML LiveCD KERNEL grml_2010.04/linux26 APPEND root=/dev/nfs rw nfsroot=192.168.0.150:/home/repo/grml_2010.04 boot=live lang=de nomce quiet apm=power-off nodhcp noprompt noeject initrd=grml_2010.04/minirt26.gz vga=791

Windows XP, Vista, 7

Um Windows per Netzwerk zu installieren ist ein wenig Handarbeit nötig. Im Grunde genommen wird ein „LiveWindows“ gestartet, ein SMB-Laufwerk gemappt und die Installation gestartet

In der Theorie ganz simpel, in der Praxis etwas arbeit.

Als Vorbereitung sollte man die Komplette Windows 7 DVD auf die Festplatte kopieren und Freigeben. Ob das per Windows oder Linux gemacht wird, ist völlig egal

Um das LiveWindows zu erstellen braucht man das Windows 7 Automated Installation Kit Diese muss heruntergeladen und installiert werden. Nachdem das Packet installiert wurde muss man mit Administratorrechten folgendes Programm öffnen: Start → Programme → Microsoft Windows AIK → Eingabeaufforderung für Bereitstellungstools

Als nächstes müssen folgende Kommandos eingegeben werden

copype.cmd x86 c:\winpe copy "C:\Program Files\Windows AIK\Tools\x86\imagex.exe" copy C:\winpe\winpe.wim C:\winpe\iso\sources\boot.wim

Nun muss man diese Konsole schließen und nochmal die Bereitstellungskonsole mit Administrator-Rechten öffnen

Jetzt muss das ISO erstellt werden

oscdimg -n c:\winpe\ISO c:\winpe\x86.iso -n -bc:\winpe\etfsboot.com

Das Fertige CD-Image liegt unter C:\winpe\x86.iso. Diese muss jetzt in ein Unterverzeichnis des TFTP-Servers kopiert werden und folgender eintrag in der default-Datei eingefügt werden

LABEL win7pex86 MENU LABEL Windows 7 PE linux memdisk APPEND iso initrd=win7/x86.iso

Das Programm memdisk befindet sich im syslinux-Packet, genau wie alle anderen PXE-Boot-Dateien

Jetzt muss man den Rechner mit diesem „LiveWindows“ starten. Es wird fast keine Grafische Oberfläche gestartet, nur eine MS-DOS Eingabeaufforderung. In dieser muss man mit folgedem Kommando ein Netzlaufwerk mit der Windows 7 DVD mounten

net use F: \\<IP-Adresse>\<Freigabe> /user:<Username>

Um eine Windows Vista oder Windows 7 Installation zu starten, muss man nur noch

F:\setup.exe

eingeben. Für eine Windows XP Installation muss man folgendes eingeben

F:\I386\winnt32.exe

Die Installation startet, als ob man die CD/DVD ins Laufwerk gelegt hat

pxelinux.0/default ausführlich

Die datei default hat einen bestimmten Syntax und bestimmte Befehle.

Hier ist eine Übersicht über alle Befehle