WDS universell machen

Guten Tag, liebe Habr-Bewohner!

Ziel dieses Artikels ist es, einen kurzen Überblick über die Möglichkeiten zur Bereitstellung verschiedener Systeme über WDS (Windows Deployment Services) zu geben.
In dem Artikel werden kurze Anleitungen zur Bereitstellung von Windows 7 x64, Windows XP x86, Ubuntu x64 und zur Ergänzung nützlicher Werkzeuge wie Memtest und Gparted in das Netzwerk-Booting gegeben.
Die Geschichte wird in der Reihenfolge erzählt, wie mir die Ideen in den Sinn kommen. Und alles begann mit Microsoft...

Und jetzt zur eigentlichen Geschichte:
Vor nicht allzu langer Zeit kam mir die kluge Idee, Systeme mit Hilfe von WDS bei der Arbeit bereitzustellen. Wenn jemand die Arbeit für uns erledigt, ist das angenehm. Und wenn wir dabei auch noch etwas Neues lernen — ist das doppelt angenehm. Ich werde nicht allzu detailliert auf die Installation der WDS-Rolle eingehen — Microsoft reduziert alles auf Weiter-Weiter-Weiter und es gibt Unmengen von Artikeln zu diesem Thema. Ich werde kurz über die Arbeit mit Windows-Images sprechen und mich auf die Punkte konzentrieren, die mir Schwierigkeiten bereitet haben. Systeme, die nicht von Microsoft sind, werden ausführlicher behandelt (womit dieser Artikel ursprünglich geplant war).
Legen wir los.
Der Server, der als Speichermedium für die Images und als Koordinator fungiert, läuft mit Windows Server 2008 R2. Für das einwandfreie Funktionieren dieses Dienstes sind Rollen wie DHCP und DNS erforderlich. Und AD — für die Einführung der Maschinen in die Domäne. (Diese Rollen müssen nicht unbedingt auf einer Maschine laufen, sie können in der gesamten Struktur verteilt sein. Hauptsache, sie funktionieren korrekt.)

1. WDS-Konfiguration

Fügen Sie die erforderlichen Rollen hinzu und gehen Sie schnell zur WDS-Konsole, initialisieren Sie unseren Server und sehen Sie Folgendes:
WDS universell machen

  • Installations-Images — Installations-Images. Vorgefertigte, schöne Systeme, die wir installieren werden. Zur Vereinfachung können Sie mehrere Gruppen je nach Systemsorte anlegen: Windows 7, XP oder nach Aufgabentyp — IT Dept, Client Dept, Server.
  • Boot-Images — Boot-Images. Das, was zuerst auf die Maschine geladen wird und es ermöglicht, verschiedene Aktionen damit durchzuführen. Als erstes Boot-Image wird das verwendet, das sich auf der Installations-DVD befindet (für Windows 7 ist das der Ordner sources und die Dateien install.wim oder boot.wim).
    Von dort aus kann man spannende Dinge machen:
    • Capture-Image oder Write-Image — unser Hauptwerkzeug, mit dem wir eine Kopie des konfigurierten Systems erstellen, das zuvor mit Sysprep vorbereitet wurde und unser Template darstellt.
    • Discovery-Image — ermöglicht das Hochladen von Images konfigurierter Systeme auf Computer, die das Netzwerkbooting nicht unterstützen.

  • Ausstehende Geräte — Geräte, die auf die Genehmigung des Administrators zur Installation warten. Wir möchten jedoch wissen, wer sich unser schönes Teil auf den Computer installiert.
  • Multicast-Übertragungen — Multicast. Wird verwendet, um ein Image an eine große Anzahl von Clients zu installieren.
  • Treiber — Treiber. Helfen dabei, die notwendigen Treiber zu den Server-Images hinzuzufügen und ähnliche Fehler zu vermeiden:
    WDS universell machen
    Nach dem Hinzufügen der Treiber zu den WDS-Servern müssen diese in das benötigte Boot-Image integriert werden.

Ja, und außerdem — für jede Systemarchitektur müssen eigene Bootloader und Installer erstellt werden. Für die Vielfalt im Zoo muss man zahlen.
Im Grunde ist unser WDS bereits bereit. Wir können vom Rechner aus über das Netzwerk booten und sehen ein Auswahlfenster mit unseren Boot-Images.
Ich werde nicht alle Schritte zur Vorbereitung des perfekten Images beschreiben, sondern lasse nur den Link zu dem Artikel, nach dem ich selbst gearbeitet habe: Klick für Windows 7 (Ich hatte aus irgendeinem Grund eine alte Version von WAIK — 6.1.7100.0, damit konnte man keine Antwortdatei für Windows 7 SP1 erstellen. Man benötigt die aktuellste Version — 6.1.7600.16385)
Und hier noch eine Anleitung zur Vorbereitung von Windows XP für WDS. Lassen wir auch hier die Details weg — das Interessanteste kommt in unserem zweiten Teil!

2. Universeller Bootloader

Es ist großartig, dass wir jetzt so ein System haben. Es macht Spaß, es zu benutzen. Aber kann man sich das Leben nicht noch einfacher machen?
Ich möchte damit Linux installieren!
Zunächst einmal, wie viele von euch sich erinnern, endet die gleichzeitige Installation von Windows und Ubuntu nicht gut für den Windows-Bootloader. Er wird durch den universellen GRUB verdrängt.
Es ist hier das gleiche. Wir brauchen einen universellen Bootloader, lernt kennen — das ist PXELINUX
1) Ladet die neueste Version herunter (zum Zeitpunkt des Schreibens dieses Artikels ist dies 5.01
Wir interessieren uns für diese Dateien:
corepxelinux.0
com32menuvesamenu.c32 (man kann auch menu.c32 für die textbasierte Benutzeroberfläche beim Booten verwenden)
com32chainchain.c32
In allen Handbüchern zur Verwendung dieses Bootloaders wird gesagt, dass es mit diesen drei funktioniert. Ich musste jedoch auch ldlinux.c32, libcom.c32 und libutil_com.c32 hinzufügen. Man kann es so machen — die empfohlenen kopieren und starten. Mit welcher Datei es Probleme gibt — die kopiert man in den Ordner.
Außerdem benötigen wir zur Bootvorbereitung des ISO-Images die Datei memdisk. Diese legen wir ebenfalls in diesen Ordner.
2) Legen Sie sie in den Ordner, in dem Sie alle WDS-Images speichern. Und zwar hierhin — RemoteInstallBootx64 (wir werden nur 64 installieren, für 86 legen Sie ebenfalls solche Dateien in diesen Ordner).
3) Benennen Sie pxelinux.0 in pxelinux.com um.
4) Lassen Sie uns einen Ordner pxelinux.cfg für die Konfigurationsdatei und die Datei selbst (bereits innerhalb dieses Ordners) — default (ohne Erweiterung!) mit folgendem Inhalt erstellen:

DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
# Timeout in units of 1/10 s
TIMEOUT 300
MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #20ffffff #00000000 none
MENU COLOR SCROLLBAR 30;44 #20ffffff #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND pxelinux.cfg/picture.jpg #picture 640×480 für Hintergrund
MENU TITLE Wählen Sie Ihr Schicksal!

LABEL wds
MENU LABEL Windows Deployment Services (7, XP, Boot-Images)
KERNEL pxeboot.0

LABEL local
MENU DEFAULT
MENU LABEL Von Festplatte booten
LOCALBOOT 0
Typ 0x80

5) Erstellen Sie eine Kopie der Datei pxeboot.n12 und benennen Sie sie pxeboot.0.
6) Danach muss unser WDS gelehrt werden, genau mit dem universellen Bootloader zu starten. Isso wurde in 2008 über die GUI gemacht, in 2008 R2 — über die Kommandozeile. Öffnen Sie sie und geben Sie Folgendes ein:

  • wdsutil /set-server /bootprogram:bootx64pxelinux.com /architecture:x64
  • wdsutil /set-server /N12bootprogram:bootx64pxelinux.com /architecture:x64

Kommandozeilen-Ausgabe:
WDS universell machen
Fertig, wir starten und sehen den ersehnten Bildschirm:
WDS universell machen
Das ist die Basis-Konfiguration, die angepasst werden kann, um Ihren Anforderungen gerecht zu werden (Firmenlogo, Bootreihenfolge und mehr. Momentan kann es nur die Kontrolle an WDS übergeben und erneut von der Festplatte booten. Lassen Sie uns lernen, wie man Ubuntu bootet!

3. Lassen Sie den »Orlenka« fliegen

Was benötigten wir dort? Ubuntu, Gparted? Lassen Sie uns auch memtest hinzuzufügen, der Ordnung halber.
Beginnen wir mit dem Einfachsten:
Memtest
Erstellen Sie im Boot/x64-Ordner des WDS einen separaten Ordner für Linux-Dateien, zum Beispiel Distr. Und Unterordner darin für unsere entsprechenden Systeme:
WDS universell machen
Wir laden herunter iso mtmtest und fügen Sie die folgenden Zeilen in unsere Boot-Konfiguration (die Datei default) ein:

label MemTest
menu label MemTest86+
Kernel memdisk iso raw
initrd Linux/mt420.iso

Damit laden wir unser kleines Image in den Speicher und starten von dort aus. Leider hat das mit größeren Images bei mir nicht funktioniert.

Gparted
Wir laden herunter die neueste Version, entpacken Sie das ISO-Image und nehmen Sie drei Dateien — /live/vmlinuz, /live/initrd.img und /live/filesystem.squashfs
Was sind das für Dateien? (Ich könnte mich in der Formulierung irren, eine große Bitte an die Leser, mich zu korrigieren, wenn ich falsch liege.)

  • vmlinuz (man sieht häufiger vmlinux) — die komprimierte Kernel-Datei
  • initrd.img — das Image des Wurzeldateisystems (das notwendige Minimum zum Booten)
  • filesystem.squashfs — die Dateien, die im Arbeitsprozess verwendet werden.

Legen Sie die ersten beiden Dateien in den Download-Ordner (in meinem Fall Bootx64DistrGparted) und die dritte auf den IIS-Server (glücklicherweise ist er bereits für WSUS eingerichtet).
Ein lyrischer Einschub – leider hat die Methode mit dem Laden des ISO-Images in den Memdisk bei großen Distributionen nicht funktioniert. Wenn Sie das Erfolgsgeheimnis kennen, wäre das eine großartige Lösung, die es ermöglicht, jedes System schnell aus einem ISO-Image zu starten.
Fügen Sie filesystem.squashfs zum IIS hinzu, damit es über das Netzwerk gelesen werden kann (vergessen Sie nicht, einen MIME-Typ für diese Erweiterung hinzuzufügen).
WDS universell machen
Fügen Sie nun den Eintrag in unsere pxelinux.cfg/default ein:

LABEL GParted Live
MENU LABEL GParted Live
KERNEL Distr/Gparted/vmlinuz
APPEND initrd=Distr/Gparted/initrg.img boot=live config union=aufs noswap nopromt vga=788 fetch=http://192.168.10.10/Distr/Gparted/filesystem.squashfs

Überprüfen – es funktioniert!
Ubuntu 12.04
Ich habe zwei mögliche Installationsvarianten hinzugefügt – eine vollautomatische (danke an den Benutzer Malamut wurden einen Artikel und eine manuelle).
Laden Sie die Datei mit der alternativen Installation herunter und holen Sie sich dort (wie zuvor) zwei Dateien – initrd.gz und linux und legen Sie sie in Distr/Ubuntu.
Fügen Sie in unsere pxelinux.cfg/default die Zeilen ein:
für die vollständig manuelle Installation.

LABEL Ubuntu
KERNEL Distr/Ubuntu/linux
APPEND priority=low vga=normal initrd=Distr/Ubuntu/initrd.gz

Für die automatische Installation benötigen wir eine Datei mit den Antwortkonfigurationen (dazu kann man lesen hier) und wir legen sie auf unseren Webserver. Mein Eintrag im Bootloader sieht so aus:

LABEL Ubuntu Auto Install
KERNEL Distr/Ubuntu/linux
APPEND initrd=Distr/Ubuntu/initrd.gz ksdevice=eth0 locale=ru_RU.UTF-8 console-setup/layoutcode=ru url=http://192.168.10.10/Distr/Ubuntu/preseed.txt

Nützlichkeit für die Zukunft
Beim Durchsehen des Materials zu diesem Thema und auf der Suche nach Antworten auf meine Fragen wurde ein hervorragender Artikel entdeckt. ab Alexander_Erofeev mit einer Beschreibung, wie man Kaspersky Rescue Disk über das Netzwerk lädt. Leider hat es bei mir nicht funktioniert. Aber das Werkzeug ist wirklich nützlich (manchmal kann es passieren, dass besonders eifrige Benutzer nach etwas Derartigem greifen ... Es ist nützlich, ein solches Werkzeug zur Hand zu haben.)

Fazit

Dieser Artikel bietet einen Überblick über die Möglichkeiten, die Ihnen die Rolle WDS von Microsoft bietet. Als ich diesen Artikel begann, hatte ich große Pläne: ein detailliertes HOWTO über alle Aspekte des Bootens der oben genannten Systeme … Doch als sich das Material nur über WDS anhäufte, führte mich der Erzählfaden in tiefere Bereiche, mit denen wahrscheinlich niemand konfrontiert wird … Daher habe ich beschlossen, kurze Informationen darüber zu teilen, was möglich ist, und wo es geht, mit Links zu guten Artikeln. Wenn die Leser interessiert sind oder ich plötzlich Ruhm und Geld anziehen möchte, um die Kasse von Хабрахабр mit Artikeln zu füllen – könnte man an jedem der Schritte zur Einrichtung eines multifunktionalen WDS-Servers ausführlicher verweilen.
Ich möchte noch einmal den Autoren danken Alexander_Erofeev und Malamut für ihr Material, das für alle ohne Ausnahme interessant sein wird.
Auf Хабре gab es selbstverständlich bereits Artikel zu diesem Thema, ich habe versucht, die Frage aus einem anderen Blickwinkel zu beleuchten oder sie zu ergänzen: Eins und zwei, aber sie wurden nicht veröffentlicht
Danke für Ihre Aufmerksamkeit.
Ehre den Robotern!

Quelle: habr.com

60GB SSD 8Gb DDR4