WDS aan universaliteit toevoegen

Goedendag, geachte Habr-bewoners!

Het doel van dit artikel is om een kort overzicht te geven van de mogelijkheden voor het implementeren van verschillende systemen via WDS (Windows Deployment Services).
In het artikel worden beknopte instructies gegeven voor het implementeren van Windows 7 x64, Windows XP x86, Ubuntu x64 en het toevoegen van nuttige tools als Memtest en Gparted aan de netwerkboot.
Het verhaal zal chronologisch verteld worden, gebaseerd op de ideeën die in me opkomen. En het begon allemaal met Microsoft...

En nu het verhaal zelf:
Niet zo lang geleden kreeg ik het frisse idee om systemen op het werk te implementeren met behulp van WDS. Als iemand anders het werk voor ons doet, is dat prettig. En als we daarbij ook nog iets nieuws leren, is dat dubbel zo leuk. Ik zal niet al te veel ingaan op het installatieproces van de WDS-rol — Microsoft houdt het bij Volgende-Volgede-Verdere en er zijn bergen artikelen over dit onderwerp. Ik zal kort uitleggen hoe je met Windows-images werkt, waarbij ik me zal concentreren op de momenten die voor mij problematisch waren. Meer gedetailleerd zullen systemen die niet van Microsoft zijn worden beschreven (wat de bedoeling van het artikel is).
Laten we beginnen.
De server die als opslagplaats voor de images en coördinator van de acties fungeert, draait op Windows Server 2008 R2. Voor de correcte werking van deze dienst zijn rollen zoals DHCP en DNS nodig. En AD — voor het plaatsen van de machines in het domein. (Al deze rollen hoeven niet op één machine te draaien, ze kunnen over de hele structuur verspreid zijn. Belangrijk is dat ze goed functioneren.)

1. Configuratie van WDS

Voeg de nodige rollen toe en ga snel naar de WDS-console, initialiseert onze server en zie het volgende:
WDS aan universaliteit toevoegen

  • Install Images — installatie-images. Geconfigureerde, mooie systemen die we gaan implementeren. Voor het gemak kunnen we verschillende groepen toevoegen op basis van systeemtype: Windows 7, XP of op basis van taken — IT Dept, Client Dept, Servers.
  • Boot Images — opstart-images. Wat als eerste op de machine geladen wordt en verschillende acties mogelijk maakt. De eerste image die daarheen gaat is degene die op de installatie-cd staat (voor Windows 7 is dit de map sources en de bestanden install.wim of boot.wim).
    En daaruit kun je allerlei interessante dingen doen:
    • Capture Image of Deploy Image — onze belangrijkste tool, stelt ons in staat om een kopie van het geconfigureerde systeem te maken, dat vooraf is voorbereid met sysprep en onze sjabloon vormt.
    • Discovery Image — stelt het mogelijk om op computers die netboot niet ondersteunen, schone systeemafbeeldingen te uploaden.

  • In afwachting van Apparaten — apparaten die wachten op goedkeuring van de beheerder voor installatie. We willen immers weten wie onze schoonheid op zijn computer installeert.
  • Multicast Transmissies — multicast verzending. Wordt gebruikt om één afbeelding naar veel klanten te installeren.
  • Stuurprogramma's — stuurprogramma's. Helpen bij het toevoegen van de benodigde stuurprogramma's aan de afbeeldingen op de server en voorkomen dergelijke fouten:
    WDS aan universaliteit toevoegen
    Na het toevoegen van stuurprogramma's aan de WDS-server, moeten ze aan de juiste opstartafbeelding worden toegevoegd.

Ja, en bovendien — voor elke systeemarchitectuur moet je eigen opstarters en installers maken. Voor de diversiteit in de zoo moet je betalen.
In wezen is onze WDS al klaar. We kunnen netbooten vanaf de machine en een venster met keuze uit onze opstartafbeeldingen zien.
Ik zal niet alle stappen voor het voorbereiden van een perfecte afbeelding beschrijven, maar alleen een link achterlaten naar het artikel dat ik zelf heb gebruikt: Klik hier voor Windows 7 (Ik had om de een of andere reden een oude versie van WAIK geïnstalleerd — 6.1.7100.0, daarin kon je geen antwoordbestand voor Windows 7 SP1 maken. De nieuwste versie op dit moment is — 6.1.7600.16385)
En kijk nog een instructie voor het voorbereiden van Windows XP voor WDS. We zullen ook niet in detail treden — het meeste interessante hebben we in het tweede deel!

2. Universele Opstarter

Het is geweldig dat we nu zo'n systeem hebben. Het gebruik ervan is puur genot. Maar is er geen manier om ons leven nog gemakkelijker te maken?
Ik wil er Linux mee installeren!
Allereerst, zoals velen van jullie zich waarschijnlijk herinneren — de parallelle installatie van Windows en Ubuntu eindigt voor de Windows-opstarter niet goed. Deze wordt vervangen door de universele GRUB.
Hier is het hetzelfde. We hebben een universele opstarter nodig, maak kennis met — dit is PXELINUX
1) Download de laatste versie (op het moment van schrijven van dit artikel is dat 5.01
We zijn geïnteresseerd in deze bestanden:
corepxelinux.0
com32menuvesamenu.c32 (je kunt ook menu.c32 gebruiken voor de tekstinterface tijdens het opstarten)
com32chainchain.c32
In alle handleidingen voor dit opstartprogramma zeggen ze dat met deze drie alles werkt. Ik moest ook ldlinux.c32, libcom.c32 en libutil_com.c32 toevoegen. Je kunt het zo doen — de aanbevolen kopiëren en starten. Het bestand dat problemen oplevert — dat kopiëren naar de map.
Bovendien hebben we voor het opstarten van iso het bestand memdisk nodig. Deze leggen we ook in deze map.
2) Plaats ze in de map waar je alle WDS-images opslaat. Namelijk hier — RemoteInstallBootx64 (wij installeren alleen 64, voor 86 kun je dezelfde bestanden ook in die map plaatsen.)
3) Hernoem pxelinux.0 naar pxelinux.com
4) Laten we creëren een map pxelinux.cfg voor het configuratiebestand en het bestand zelf (natuurlijk al binnen deze map) — default (zonder extensie!) met de volgende inhoud:

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 voor achtergrond
MENU TITLE Kies je bestemming!

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

LABEL local
MENU DEFAULT
MENU LABEL Opstarten vanaf harde schijf
LOCALBOOT 0
Type 0x80

5) Maak een kopie van het bestand pxeboot.n12 en noem het pxeboot.0
6) Daarna moeten we onze WDS leren op te starten met de universele opstarter. In 2008 gebeurde dit via de GUI, in 2008 R2 — via de opdrachtregel. Open en voer in:

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

Opdrachtregeluitvoer:
WDS aan universaliteit toevoegen
Klaar, we starten op en zien het gewenste scherm:
WDS aan universaliteit toevoegen
Dit is de basisconfiguratie, deze kan worden aangepast aan je vereisten (bedrijfslogo, volgorde van opstarten, etc. Momenteel kan het alleen het beheer aan WDS overlaten en weer opstarten vanaf de harde schijf. Laten we het leren om Ubuntu te starten!

3. Laten we de jonge arend leren vliegen

Wat hadden we daarvoor nodig? Ubuntu, Gparted? Laten we ook memtest toevoegen voor de orde.
Laten we beginnen met het eenvoudigste:
Memtest
Laten we in de Boot/x64 map van WDS een aparte map maken voor Linux-bestanden, bijvoorbeeld Distr. En submappen daarin voor onze respectieve systemen:
WDS aan universaliteit toevoegen
Download iso mtmtest en voeg de volgende regels toe aan onze opstartconfiguratie (bestand default):

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

Zo laden we ons kleine beeld in het geheugen en starten we het vanaf daar. Helaas werkte dat niet voor grote beelden.

Gaprted
Download de laatste versie, pak het iso-image uit en neem drie bestanden — /live/vmlinuz, /live/initrd.img en /live/filesystem.squashfs
Wat zijn dat voor bestanden? (Ik kan fout zijn in de formuleringen, een grote vraag aan de lezers om me te corrigeren als ik het verkeerd heb)

  • vmlinuz (je ziet ook vaak vmlinux) — gecomprimeerd kernelbestand
  • initrd.img — afbeelding van het root-bestandssysteem (minimum vereiste voor opstarten)
  • filesystem.squashfs — de bestanden die worden gebruikt tijdens de werking

Plaats de eerste twee bestanden in de uploadmap (in mijn geval is dit Bootx64DistrGparted) en het derde bestand op de IIS-server (gelukkig draait die al voor WSUS).
Een lyrische uitweiding - helaas is de aanpak om het iso-image in memdisk te laden met grote distributies mij niet gelukt. Als je toevallig het geheim van succes weet, zou dit een prachtige oplossing zijn die het mogelijk maakt om elk systeem snel op te starten vanuit een iso-image.
Voeg filesystem.squashfs toe aan IIS, zodat het over het netwerk gelezen kan worden (vergeet niet de MIME-tag voor deze extensie toe te voegen)
WDS aan universaliteit toevoegen
Voeg nu de entry toe aan onze pxelinux.cfg/default:

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

We controleren - het werkt!
Ubuntu 12.04
Ik heb twee mogelijke installatiemethoden toegevoegd - volledig automatisch (dank aan de gebruiker Malamut voor artikel en handmatig)
Download het bestand met de alternate installatie en haal daaruit (zoals vroeger) twee bestanden - initrd.gz en linux en plaats ze in Distr/Ubuntu
Voeg de regels toe aan onze pxelinux.cfg/default
voor volledig handmatige installatie

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

Voor automatische installatie is een bestand met antwoordinstellingen nodig (je kunt het lezen here) en we plaatsen het op onze webserver. Mijn regel in de bootloader ziet er zo uit:

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

Nuttig voor de toekomst
Terwijl ik het materiaal over het onderwerp doorkeek en naar antwoorden op mijn vragen zocht, ontdekte ik een uitstekend artikel van Alexander_Erofeev met een beschrijving van het opstarten van Kaspersky Rescue Disk via het netwerk. Helaas werkte het niet voor mij. Maar het is een werkelijk nuttig hulpmiddel (af en toe kunnen vooral enthousiaste gebruikers zoiets wel eens vastgrijpen... Het is handig om zo'n hulpmiddel bij de hand te hebben)

Conclusie

Dit artikel biedt een overzicht van de mogelijkheden die de rol van WDS van Microsoft voor u biedt. Toen ik met dit artikel begon, waren de plannen groots: een uitgebreide HOWTO over alle aspecten van het opstarten van de bovengenoemde systemen... Maar naarmate het materiaal over WDS zich opstapelde, leidde het verhaal me naar diepten waar niemand ooit mee te maken zal krijgen, vermoed ik... Daarom is besloten om korte informatie te delen over wat mogelijk is, en waar mogelijk links naar goede artikelen. Als lezers geïnteresseerd zijn in het lezen, of als ik plotseling beroemdheid en geld wil om mijn Hubberg-spaarpot met artikelen aan te vullen, kan ik elk aspect van het instellen van een multifunctionele WDS-server meer in detail bespreken.
Ik wil de auteurs nogmaals bedanken Alexander_Erofeev en Malamut voor hun materiaal dat voor iedereen interessant zal zijn.
Op Habr waren er natuurlijk al artikelen over ditzelfde onderwerp, ik heb geprobeerd de kwestie vanuit een andere invalshoek te belichten of deze aan te vullen: Eén en twee, maar ze zijn niet gepubliceerd
Bedankt voor uw aandacht.
Eer aan de robots!

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster