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.
Diese Anleitung wurde für Ubuntu 8.04 'Hardy Heron' geschrieben.
Mit kleinen Abweichungen dürfte sie aber auf jeder anderen Distribution lauffähig sein
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.
zunächst muss man einen TFTP-Server installieren
sudo apt-get install tftpd-hpa
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
Bei openSUSE konfiguriert man den TFTP-Server am Besten über das YaST-Modul.
Das Root-Verzeichnis ist hier Standardmäßig '/tftpserver' oder unter '/srv/tftpboot'
TFTP-Server installieren
yum install tftp-server
Content liegt unter /var/lib/tftpboot/
Starten und aktivieren des Dienstes:
systemctl start tftp.service systemctl enable tftp.service
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";
Aus dem heruntergeladenen syslinux-File folgende Dateien in das TFTP-Rootverzeichnis kopieren
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 wie hier installieren und konfigurieren
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
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.
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
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
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 --
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
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
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
Die datei default hat einen bestimmten Syntax und bestimmte Befehle.
Hier ist eine Übersicht über alle Befehle