Adăugăm versatilitatea WDS

Bună ziua, dragi membri ai Habr!

Scopul acestui articol este de a scrie o scurtă prezentare a posibilităților de desfășurare a diferitelor sisteme prin WDS (Windows Deployment Services)
Articolul va prezenta instrucțiuni concise pentru desfășurarea Windows 7 x64, Windows XP x86, Ubuntu x64 și pentru adăugarea unor instrumente utile în boot-ul rețelei, cum ar fi Memtest și Gparted.
Povestea va fi spusă în ordinea ideilor care îmi vin în minte. Și totul a început de la Microsoft...

Iată acum povestea:
Nu cu mult timp în urmă, mi-a venit o idee bună de a desfășura sisteme la lucru folosind WDS. Dacă cineva face o parte din lucru pentru noi, este plăcut. Iar dacă, pe deasupra, învățăm ceva nou — este și mai plăcut. Nu voi insista foarte mult asupra descrierii instalării rolului WDS — Microsoft o reduce la Următorul-Următorul-Următorul, iar articole pe această temă sunt cu duiumul. Voi spune pe scurt despre lucrul cu imaginile Windows, accentuând momentele care m-au pus în dificultate. Sistemele care nu sunt de la Microsoft vor fi descrise mai detaliat (pentru care este scris articolul).
Să începem.
Serverul care va acționa ca depozitul de imagini și coordonator de acțiuni are Windows Server 2008 R2 la bord. Pentru funcționarea corectă a acestui serviciu sunt necesare roluri precum DHCP și DNS. Și AD — pentru a introduce mașinile în domeniu. (Toate aceste roluri nu trebuie neapărat să fie pe aceeași mașină, pot fi distribuite pe întreaga structură. Principalul lucru este să funcționeze corect)

1. Configurarea WDS

Adăugăm rolurile necesare și ne grăbim în consola WDS, inițializăm serverul nostru și vedem următoarele:
Adăugăm versatilitatea WDS

  • Imagini de instalare — imagini de instalare. Sisteme configurate, frumoase, pe care le vom instala. Pentru comoditate, putem adăuga câteva grupuri în funcție de tipul sistemelor: Windows 7, XP sau în funcție de tipul de sarcini — IT Dept, Client Dept, Servers.
  • Imagini de boot — imagini de boot. Ceea ce se încarcă pe mașină în primul rând și permite efectuarea diferitelor acțiuni. Prima imagine care va fi acolo este cea de pe discul de instalare (pentru Windows 7 — este folderul sources și fișierele install.wim sau boot.wim.
    Aici, din ele se pot face lucruri interesante:
    • Imagine de captură sau imagine de scriere — instrumentul nostru principal, permite realizarea unei copii a sistemului configurat, care a fost anterior procesat cu sysprep și este șablonul nostru.
    • Imagine de descoperire — permite încărcarea imaginilor sistemelor configurate pe calculatoare care nu suportă bootarea prin rețea.

  • Dispozitive în așteptare — dispozitive care așteaptă aprobarea administratorului pentru instalare. Vrem să știm cine își instalează frumusețea aceasta pe computer.
  • Transmisiuni multicast — difuzare multipoint. Este folosită pentru a instala o singură imagine pentru un număr mare de clienți.
  • Driveri — drivere. Ajută la adăugarea driverelor necesare imaginilor de pe server și la evitarea unor astfel de erori:
    Adăugăm versatilitatea WDS
    După adăugarea driverelor pe serverul WDS, acestea trebuie incluse în imaginea de boot corespunzătoare.

Și da, încă un lucru — pentru fiecare arhitectură de sistem trebuie să se creeze bootloaderi și instalatori separați. Diversitatea în zoo costă.
În esență, WDS-ul nostru este deja pregătit. Putem boota prin rețea de pe mașină și să vedem fereastra de selecție cu imaginile noastre de boot.
Nu voi descrie toate etapele pregătirii unei imagini ideale, ci voi lăsa doar un link către articolul după care am lucrat eu: Click pentru Windows 7 (pare că aveam o versiune veche de WAIK — 6.1.7100.0, în care nu se putea crea un fișier de răspuns pentru Windows 7 SP1. Este nevoie de cea mai recentă — 6.1.7600.16385)
Și iată încă un ghid pentru pregătirea Windows XP pentru WDS. De asemenea, nu vom scrie detaliat — cele mai interesante sunt în a doua parte!

2. Bootloader universal

Este grozav că acum avem un astfel de sistem. Utilizarea lui este o plăcere. Dar nu putem cumva să ne simplificăm și mai mult viața?
Vreau să instalez Linux prin intermediul lui!
În primul rând, după cum mulți dintre voi vă amintiți — instalarea paralelă a Windows-ului și Ubuntu-ului nu are un rezultat bun pentru bootloader-ul Windows. Este înlocuit de GRUB universal.
Aici funcționează la fel. Avem nevoie de un bootloader universal, cunoașteți-l — acesta este PXELINUX
1) Descărcăm cea mai recentă versiune (la momentul scrierii articolului este aceasta 5.01
Ne interesează aceste fișiere:
corepxelinux.0
com32menuvesamenu.c32 (putem folosi menu.c32 pentru interfața text la boot)
com32chainchain.c32
În toate ghidurile de utilizare a acestui bootloader se spune că cu aceste trei totul funcționează. A trebuit să adaug și ldlinux.c32, libcom.c32 și libutil_com.c32. Se poate proceda astfel — copiați cele recomandate și rulați. Fișierul pe care îl va refuza — îl copiați în folder.
De asemenea, avem nevoie de fișierul memdisk pentru a încărca iso. Îl punem și pe acesta în folder.
2) Le punem într-un folder unde aveți stocate toate imaginile WDS. Anume aici — RemoteInstallBootx64 (vom instala doar 64, pentru 86 punem aceleași fișiere și în acel folder).
3) Renumiți pxelinux.0 în pxelinux.com
4) Vom crea folderul pxelinux.cfg pentru fișierul de configurare și fișierul în sine (deja în interiorul acestui folder, desigur) — default (fără extensie!) cu următorul conținut:

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 pentru fundal
MENU TITLE Alegeți-vă destinul!

LABEL wds
MENU LABEL Servicii de Implementare Windows (7, XP, Imagini de boot)
KERNEL pxeboot.0

LABEL local
MENU DEFAULT
MENU LABEL Boot de pe hard disk
LOCALBOOT 0
Tip 0x80

5) Vom face o copie a fișierului pxeboot.n12 și o vom numi pxeboot.0
6) După aceasta, trebuie să învățăm WDS-ul nostru să se încarce exact de la încărcătorul universal. În 2008, se realiza prin GUI, în 2008 R2 — prin linia de comandă. Deschideți și introduceți:

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

Ieșirea liniei de comandă:
Adăugăm versatilitatea WDS
Toate, ne încărcăm și vedem ecranul dorit:
Adăugăm versatilitatea WDS
Aceasta este configurația de bază, poate fi ajustată conform cerințelor dvs. (logo-ul companiei, ordinea de încărcare și altele). Până acum, știe doar să transferă controlul către WDS și să se încarce din nou de pe hard disk. Să-l învățăm să încarce Ubuntu!

3. Învățăm puiul să zboare

Ce ne trebuia acolo? Ubuntu, Gparted? Adăugăm și memtest pentru ordinea.
Să începem cu cel mai simplu:
Memtest
Vom crea în folderul Boot/x64 al WDS-ului o folder separată pentru fișierele Linux, de exemplu Distr. Și subfoldere în ea pentru sistemele noastre corespunzătoare:
Adăugăm versatilitatea WDS
Descărcăm iso mtmtest și adăugăm în configurația noastră de boot (fișierul default) următoarele linii:

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

Astfel vom încărca mică imagine a noastră în memorie și de acolo o vom porni. Din păcate, cu imagini mari, nu mi-a funcționat.

GParted
Descărcăm cea mai recentă versiune, dezarhivăm imaginea iso și luăm trei fișiere — /live/vmlinuz, /live/initrd.img și /live/filesystem.squashfs
Ce sunt aceste fișiere? (S-ar putea să greșesc în formulări, vă rog pe cititori să corecteze dacă greșesc)

  • vmlinuz (mai des poate fi văzut vmlinux) — fișierul comprimat al nucleului
  • initrd.img — imaginea sistemului de fișiere rădăcină (minimum necesar pentru boot)
  • filesystem.squashfs — fișierele utilizate în procesul de lucru

Plasăm primele două fișiere în folderul de încărcare (în cazul meu, acesta este Bootx64DistrGparted), iar al treilea pe serverul IIS (din fericire, acesta este deja configurat pentru WSUS).
O mică digresiune — din păcate, metoda de încărcare a imaginii ISO în memdisk cu distribuții mari nu mi-a reușit. Dacă cumva știți secretul succesului — ar fi o soluție excelentă care ar permite încărcarea rapidă a oricărui sistem dintr-o imagine ISO.
Adăugăm filesystem.squashfs pe IIS, astfel încât să poată fi citit prin rețea (nu uitați să adăugați o etichetă MIME pentru această extensie).
Adăugăm versatilitatea WDS
Acum adăugăm o înregistrare în 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

Verificăm — funcționează!
Ubuntu 12.04
Am adăugat două posibile metode de instalare — complet automatizată (multumesc utilizatorului Malamut pentru articol și în modul manual).
Descarcăm fișierul cu instalarea alternativă și extragem de acolo (ca înainte) două fișiere — initrd.gz și linux și le punem în Distr/Ubuntu.
Adăugăm în pxelinux.cfg/default liniile
pentru instalarea complet manuală.

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

Pentru instalarea automată, avem nevoie de un fișier cu setările răspunsurilor (puteți citi despre asta aici) și îl vom pune pe serverul nostru web. În bootloader, linia mea arată așa:

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

Utilitate pentru viitor
Răsfoind materialul pe tema și căutând răspunsuri la întrebările mele, am descoperit un articol remarcabil de la Alexander_Erofeev despre încărcarea Kaspersky Rescue Disk prin rețea. Din păcate, nu a mers. Dar instrumentul este cu adevărat util (nu, nu, în special utilizatorii foarte interesanți pot să încerce ceva de genul... Este util să ai un astfel de instrument la îndemână).

Concluzie

Acest articol prezintă o revizuire a posibilităților pe care le oferă rolul WDS de la Microsoft. Când am început să scriu acest articol, planurile erau grandioase: un ghid detaliat despre toate aspectele încărcării sistemelor menționate mai sus... Dar pe măsură ce materialul despre WDS s-a acumulat, firul narativ m-a dus către adâncimi pe care nimeni nu le va întâlni, probabil... Așa că s-a luat decizia de a împărtăși informații scurte despre ce este posibil, precum și linkuri către articole bune. Dacă cititorilor le va plăcea să citească sau dacă mi s-ar face brusc dor de glorie și bani pentru a completa cămara Habrhabr cu articole, putem să ne oprim mai detaliat la fiecare dintre etapele configurării unui server WDS multifuncțional.
Aș dori să le mulțumesc din nou autorilor Alexander_Erofeev și Malamut pentru materialul lor, care va fi interesant pentru toată lumea fără excepție.
Pe Habr, evident, au fost articole pe aceleași teme, am încercat să abordez subiectul dintr-o altă perspectivă sau să-l completez: Unu și două, dar nu au fost publicate
Vă mulțumesc pentru atenție.
Oda roboților!

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster