Un server de boot este ca o unitate flash USB bootabilă, doar un server și prin rețea. AOMEI PXE Boot: Pornirea computerelor prin rețea dintr-un fișier imagine disc Adăugați capacitatea de a încărca diverse utilitare de disc și testare a memoriei

Ei bine, este timpul să continuați să descărcați altceva interesant și, cel mai important, util prin rețea. Am analizat lansarea programelor Acronis, instalarea Debian/Ubuntu Linux, descărcarea de ISO-uri mici și lansarea de imagini WIM gata făcute.

Deci, planuri pentru azi!

  1. Instalarea Windows în mod manual și automat.
    1. Construirea unei imagini WIM.
    2. Pregătirea fișierului de răspuns.
  2. Lansarea ERD Commander (MSDaRT).
  3. Ca bonus, vom implementa lansarea instalării Debian cu o instalare ulterioară prin SSH.

Să începem cu Windows

AVERTIZARE

Toate acțiunile ulterioare legate de pregătirea Windows sunt efectuate în mediul Windows.

Primul pas este pregătirea mediului WinPE, cu care vom lansa instalări ale diverselor sisteme din familia Windows. Pentru a face acest lucru, avem nevoie de pachetul Windows AIK, care poate fi descărcat gratuit de pe site-ul oficial Microsoft.


După instalarea pachetului Windows AIK, deschideți consola Prompt de comandă Instrumente de implementare. Să copiem imaginea WIM și bootloader-ul și să le montem în sistem:

Copype.cmd amd64 c:\winpe mkdir c:\pe\win\boot imagex /mountrw winpe.wim 1 montare xcopy c:\winpe\mount\windows\boot\pxe\pxeboot.n12 c:\npe\win xcopy c :\winpe\mount\windows\boot\pxe\bootmgr.exe c:\pe\win xcopy c:\winpe\iso\boot\boot.sdi c:\pe\win\boot

Scriptul de meniu WinPE este lansat de fișierul startnet.cmd. Pentru a afișa corect alfabetul chirilic, trebuie să schimbați codificarea acestui fișier în CP866. Următorul pas este să editați fișierul script dacă este necesar.

Adăugarea de parametri la meniul serverului PXE

Meniul este gata. După cum puteți vedea din parametrii din script, la fiecare etapă este conectat un anumit folder de rețea. Pe un server PXE, a cărui instalare și lansare au fost descrise în articolul anterior, trebuie să publicați un folder prin Samba care va fi doar pentru citire (în caz contrar, programul de instalare poate încerca să îndese ceva acolo sau să îl suprascrie).

Apoi, trebuie să pregătiți fișierele de răspuns pentru autoinstalări. Privind în viitor, voi spune că, datorită acestor fișiere, puteți obține absolut orice rezultat, de exemplu, implementați o autoinstalare cu o împărțire de 40/60% a primului disc cu o conexiune la domeniu și apoi toate software-ul necesar poate fi livrat folosind politici de grup de domenii (dar aceasta este o chestiune complet diferită). poveste).

Imagex.exe /unmount /commit montare

Imaginea WinPE rezultată - winpe.wim - este copiată pe serverul PXE. Apoi, în meniul de boot PXE creat în /var/lib/tftpboot/pxelinux.cfg/default, conectăm fișierul copil, care va conține partiția Windows.

Etichetă Instalare Windows meniu passwd qwerty meniu etichetă Instalare/Boot Windows kernel boot/vesamenu.c32 append pxelinux.cfg/windows

Eticheta meniului WinPE Instalare Windows All meniu parola parola_my com32 linux.c32 boot/wimboot APPEND initrdfile=/images/windows/bootmgr.exe,/images/windows/boot/BCD,/images/windows/boot/boot.sdi,/images /windows/boot/winpe.wim

Pregătirea unui fișier de răspuns

Să începem cu Windows 7 Pro. Pentru a pregăti fișierul de răspuns, veți avea nevoie de fișierul install.wim, care poate fi găsit pe discul de instalare Windows 7 în folderul sursă. Îl luăm și îl copiem într-un loc accesibil convenabil. Apoi, lansați Windows System Image Manager.

Continuarea este disponibilă numai pentru membri

Opțiunea 1. Alăturați-vă comunității „site” pentru a citi toate materialele de pe site

Calitatea de membru al comunității în perioada specificată vă va oferi acces la TOATE materialele Hacker, vă va crește discountul cumulat personal și vă va permite să acumulați un rating profesional Xakep Score!

PXE

Preîncărcați mediul de execuție ( Mediul de execuție de prepornire, PXE, pronunțat „pixie”) este procesul de pornire a unui sistem de operare printr-o rețea. Poate fi comparat cu pornirea unui LiveCD de pe o unitate CD la distanță.

Această metodă de descărcare necesită:

    un server de stocare a fișierelor care rulează folosind protocoalele DHCP și TFTP (puteți rula fiecare protocol pe un server separat);

    client cu încărcător de pornire PXE în BIOS. Este posibil să nu aibă un hard disk.

Pasul 1. Configurați serverul PXE

Serverul PXE include:

    Server DHCP pentru conectarea la clienți;

    Fișier de descărcare DHCP pentru configurarea clienților;

    Server TFTP pentru încărcarea sistemului de operare.

SliTaz LiveCD poate fi folosit ca server PXE. Pentru a face acest lucru, lansați aplicația Netbox (din meniul System).

    Pe fila IP static clic start.

    • Va apărea o fereastră de server DHCP care nu poate utiliza DHCP pentru a obține informații IP.

    Pe fila Server selectați fila INETDși asigurați-vă că linia tftpdîn fișierul /etc/initd.conf necomentat. Acestea sunt setările implicite. Clic start.

    • Serverul TFTP va porni și va descărca SliTaz LiveCD prin rețea.

    Pe aceeași filă Server selectați fila PXE.

    Editați setările în funcție de opțiunile de pornire.

    • Aceasta va actualiza automat configurația serverului DHCP.

    Pe fila Server selectați fila DHCP. Ajustați setările pentru a se potrivi cu configurația rețelei dvs. Înainte de aceasta am adăugat rândurile boot_fileȘi siaddr. Clic start.

    • Serverul DHCP va porni. Dacă clienții nu pot obține o adresă IP, verificați setările acestui server.

    Asigurați-vă că fișierele bzImagineȘi rootfs.gz sunt în director /boot pe LiveCD.

Pasul 2. Configurați clientul PXE

Ultimele generații de computere cu suport Ethernet încorporat au un BIOS care acceptă PXE. Verificați această opțiune în meniul BIOS și asigurați-vă că este activată. Pentru a accesa setările BIOS, va trebui să apăsați tasta corespunzătoare după ce porniți computerul (de exemplu, F12).

Dacă computerul dvs. nu acceptă pornirea PXE, puteți utiliza SliTaz ca client pe acesta. Creați un CD-ROM sau o dischetă bootabilă cu utilitarul Boot Floppy/CDROMîn meniu Sistem.

În fila PXE Network, selectați Write floppy. Acest lucru vă va permite să porniți sistemul de pe computerul clientului.

SliTaz LiveCD conține setări pentru încărcarea sistemului de operare prin Internet. Acest lucru poate fi util atunci când utilizați o versiune mai nouă a SliTaz de pe un mediu mai vechi.

Pentru a începe pornirea în rețea, la promptul SliTaz inițial, introduceți comanda

Asta e tot!

Pentru mai multe informații despre utilizarea unei conexiuni la internet atunci când descărcați SliTaz, consultați pagina de pornire a descărcarii online SliTaz.

De asemenea, veți avea nevoie de un server DHCP pentru a obține adresa IP, masca de subrețea și adresa gateway-ului, la fel ca atunci când configurați o conexiune obișnuită - un router de acasă obișnuit va face pentru asta.

Dacă nu aveți un dispozitiv care poate fi configurat ca server DHCP, veți avea nevoie de o adresă IP, o mască de subrețea, o adresă de gateway și, eventual, o adresă DNS.

Titlu Slitaz Web kernel /boot/gpxe ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=http://mirror.slitaz.org/pxe/pxelinux.0

Titlu Slitaz Web kernel /boot/gpxe ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=ip=192.168.0.12/24 gw=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 dns=192.168.0.1. mirror.slitaz.org/pxe/pxelinux.0

Cu această metodă de descărcare, sunt disponibile doar următoarele opțiuni:

    nodhcp (va ajuta la evitarea erorii de timeout DHCP)

Personalizare suplimentară a procesului de pornire

Procesul de descărcare în rețea poate fi configurat și distribuit pe routere și alte dispozitive.

Pornire distribuită prin PXE și PROM (precedează PXE)

    instalați gpxe.exe în /jffs/boot

# echo "dhcp-boot=gpxe.pxe" >> /tmp/dnsmasq.conf

Porniți un server tftp pentru rețeaua locală (de ex. 192.168.0.1/24):

# /jffs/usr/sbin/tftpd 192.168.0.1 /jffs/boot

Schimbarea paginii de pornire GPXE

$ dd bs=1 skip=519 count=255 if=gpxe 2> /dev/null | șiruri de caractere $ echo -n „http://myurl.org/myboot” | pisică - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe $ echo -n "ip=192.168.0.10/24 gw=192.168.0.1 dns=192.168.0.1 url=http://myurl.org/myboot" | pisică - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe $ dd if=/dev/zero conv=notrunc bs=1 seek=519 count=255 of=gpxe

Schimbarea paginii de start pentru gpxe.exe

$ dd bs=1 skip=5 count=255 if=gpxe.pxe 2> /dev/null | siruri de caractere

$ echo -n „http://myurl.org/myboot” | pisică - /dev/zero | dd conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe

$ dd if=/dev/zero conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe

Utilizarea mai multor linkuri atunci când lucrați cu servere de descărcare

Iată un exemplu pentru serverele de boot SliTaz actuale:

$ echo -n "http://mirror.slitaz.org/pxe/pxelinux.0,http://mirror.switch.ch/ftp/mirror/pxe/pxelinux.0,http: download.tuxfamily.org/slitaz /pxe/pxelinux.0" | pisică - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe

Prezentare generală a tehnologiei PXE

PXE (Pre Execution Environment), pronunțat Pixie, este o abordare care permite unui computer (calculator client) să pornească folosind doar placa de rețea. Această metodă de pornire a fost creată în 1999 și dacă computerul este conectat la o rețea (și acceptă acest standard), atunci este posibil să ocoliți procedura normală de pornire (adică pornirea -> BIOS -> HD/CD) și să faceți ceva lucruri îngrijite, începând cu depanarea, pentru care se folosește de obicei sistemul de operare live și chiar și capturarea unei imagini a mașinii... dar ne avansăm pe noi înșine - să revenim la început.

Când se utilizează abordarea PXE, procesul de pornire se schimbă de la normal la următorul:

Pornire -> BIOS -> stiva NIC PXE -> Network Boot Program (NBP) pornit prin TFTP de la server la memoria computerului client -> NBP este responsabil pentru pasul următor (pasul al doilea de pornire) ).

Utilizând programul PXElinux NBP, putem configura serverul să facă mai mult decât să încărcăm un singur program PXE pentru clienții noștri. Într-un fel, acesta este ingredientul secret care ne va permite să facem toate cele de mai sus și multe altele. Pentru o explicație mai detaliată a întregului proces, istoricul acestuia și câteva dintre setările disponibile pentru acest program și programul gPXE (care este o clonă mai avansată a primului program), consultați această prelegere pe YouTube, propus de dezvoltatorii acestor programe. În plus, mai jos este un videoclip din 2008 care vă prezintă configurarea, astfel încât să puteți accesa rapid unele dintre opțiunile de descărcare.

Notă: acest videoclip folosește proiectul UDA vechi ca bază pentru server, iar adnotările au fost menite să explice că au fost aduse cele mai recente completări (la momentul respectiv).

Ţintă

Acest tutorial va fi primul dintr-o serie de tutoriale care acoperă PXE. În acest ghid, vom pune bazele pe care le vom construi în articolele următoare.

  • Mașina client pe care testați acceptă boot PXE și știți cum să o activați.
  • Acest ghid a fost scris și testat folosind Debian Squeeze, Ubuntu Server 9.10 și Linux Mint10. Prin urmare, se presupune că aveți și un sistem bazat pe Debian.
  • Aveți ocazia să vă uitați la articolul „Cum să configurați software-ul RAID” pentru un „Server de fișiere simplu” și „Cum să configurați o întreagă rețea (802.3ad)”, deoarece viteza discului și lățimea de bandă pentru această opțiune de server ar trebui să fie foarte înalt. Este recomandat să asamblați o astfel de rețea folosind un server cu rețea foarte tolerantă la erori și subsisteme de disc.
  • Veți vedea că folosim VIM ca editor, asta doar pentru că m-am obișnuit... Puteți folosi orice alt editor care vă place.

Instalare - un început dificil de utilizare a sistemului FOG

Folosirea FOG ca bază pentru serverul dvs. PXE este o modalitate bună de a avea toate piesele necesare la locul lor, cum ar fi TFTP și, dacă este necesar, DHCP, fără a fi nevoie să le instalați și să le configurați manual, oferindu-vă în același timp toate caracteristicile FOG. pachet ca bonus.

Deoarece scopul nostru este să adăugăm noi caracteristici acestui sistem deja mare, nu vom intra în detalii despre cum să folosim pachetul FOG în sine și nici nu vom acoperi procedura de instalare. Wiki-ul FOG, atât text, cât și video, este suficient pentru informații detaliate dacă doriți să intrați în detalii. În general, pașii sunt următorii:

Acesta este tot ce trebuie să faceți în timpul instalării pachetului FOG. Din nou, deoarece FOG este un sistem mare, utilizarea lui depășește domeniul de aplicare al acestui ghid și pentru a vă ajuta să înțelegeți mai bine capacitățile sistemului FOG și cum vă poate ajuta să gestionați ciclul de viață al computerelor dvs. client, vă încurajăm să consultați la paginile wiki care descriu acest sistem.

Dacă totul merge bine, ar trebui să puteți porni mașina client în modul PXE (de obicei folosind F12) și să obțineți meniul implicit de prompt FOG.


Imagine prin Hotfortech.

Pentru a obține imediat un gust al posibilităților, puteți selecta opțiunea „Run Memtest86+” și puteți fi solicitat de programul Memtest, pe care îl acoperim în articolul nostru Diagnosticarea problemelor hardware ale PC-ului utilizând Ubuntu Live CD.

Fișiere și directoare

După cum am menționat mai devreme, scopul nostru este să extindem capacitățile sistemului FOG și în acest scop trebuie să adăugăm câteva fișiere și directoare.

Creați următoarele subdirectoare:

Sudo mkdir -p /tftpboot/howtogeek/meniuri sudo mkdir -p /tftpboot/howtogeek/linux sudo mkdir -p /tftpboot/howtogeek/pics sudo mkdir -p /tftpboot/howtogeek/utils

Aceste subdirectoare vor servi ca șabloane pentru toate imaginile, programele și configurațiile pe care le vom folosi pentru a extinde sistemul FOG.

Setați fișierul de configurare implicit pentru a fi utilizat în mod implicit

Vom crea un nou meniu principal și vom plasa toate funcțiile sistemului FOG în propriul submeniu.

Copiați fișierul de configurare /tftpboot/pxelinux.cfg/default în howtogeek/menus/fog.cfg.

Sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg

Acum editați conținutul fișierului sursă implicit:

Sudo vim /tftpboot/pxelinux.cfg/default

Faceți conținutul său să arate astfel:

DEFAULT vesamenu.c32 MENIU TITLE FOG 0.32 + îmbunătățirile HowToGeek MENIU INCLUDE /pxelinux.cfg/master.cfg culoarea meniului titlul 1;36;44 #ff8c00 #00000000 std LABEL FOG MENU LABEL Manual how FOG MENIU3geek APPEND. /menus/fog.cfg LABEL Utils MENULABEL Utilities KERNEL vesamenu.c32 APPEND howtogeek/menus/utils.cfg LABEL Linux MENU LABEL Lucruri Linux KERNEL vesamenu.c32 APPEND howtogeek/menus/linux.cfg LABEL fog.local LABEL Boot de la MENU localboot 0 hard disk TEXT HELP Pornire de pe hard diskul local. Dacă nu sunteți sigur, selectați această opțiune. ENDTEXT PROMPT 0 TIMEOUT 300 ONTIMEOUT fog.local

Când terminăm, această configurație vă va oferi următoarele 3 submeniuri: Utilități, Manual FOGing, Linux chestii (Linux).

Creați un fișier principal

Fișierul principal vă va permite să faceți modificări globale la aspectul meniului fără a le reintroduce într-o ordine separată din nou și din nou. Caracteristici precum imaginea de fundal implicită, stilurile de chenar, pozițiile etc. vor fi toate combinate în acest fișier master.cfg.

Creați un fișier:

Sudo vim /tftpboot/pxelinux.cfg/master.cfg

Asigurați-vă că conținutul său este după cum urmează:

MENIU BACKGROUND ceață/genie.png ecran color meniu 37;40 #80ffffff #00000000 chenar culoare meniu std 30;44 #9370db #00000000 culoare meniu standard titlu 1;36;44 #ff8c00 #000000000 culoare stdff meniu uns4; #00000000 tasta rapidă culoare meniu standard 1;37;44 #ffffffff #00000000 selecție culoare meniu standard 7;37;40 #4eee94 #9370db toate culorile meniului hotsel 1;7;37;40 #e0400000 #20ff8000 dezactivare toate culorile meniului ;44 #60cccccc #00000000 bara de derulare a culorii meniului std 30;44 #40000000 #00000000 culoarea meniului standard tabmsg 31;40 #90ffff00 #00000000 culoarea meniului standard cmdmark 1;36;40ffline a meniului #00000000000000000000000000000 #c0 ffffff #00000000 culoarea meniului std pwdborder 30;47 #80ffffff #20ffffff culoarea meniului std pwdheader 31;47 #80ff8080 #20ffffff culoarea meniului std pwdentry 30;47 #80ffffff #20ffffff timp de meniu std_0ff0 #20ffffff 0000000 #20ffffff 000000000 Culoarea meniului 00 std timeout 1;37;40 #c0ffffff #00000000 std meniu culoare ajutor 37;40 #c0ffffff #00000000 std meniu culoare msg07 37;40 #90ffffff #00000000 std MENU MARGIN 0 MENIU MENIU PASSWORD MARGIN MENIU MENIU PAROLA MENIU MENU2 RU52 MENIU MENIU 1 MENUI 0000000 MENIU PAROLA 11 MENIU TIMEOUTROW 20 MENU HSHIFT 0 MENU VSHIFT 0

Configurația de mai sus va crea margini violet și evidențierea textului; dacă doriți un aspect diferit, schimbați pur și simplu valorile.

Pentru a seta o imagine de fundal, plasați imaginea în catalog /tftprootși setați MENU BACKGROUND la o cale relativă către imagine (recomandăm să utilizați imagini cu o rezoluție de 640*480). De exemplu, calea completă către imaginea configurată mai sus ar fi /tftproot/fog/bg.png.

Conectați submeniul FOG la meniul principal

Deoarece am făcut o copie simplă a fișierului de configurare original într-un subdirector al meniului (păstrând schema de culori, timeout-uri etc.), dacă acum accesați acest submeniu dintr-un client PXE încărcat, va funcționa, dar nu veți fi posibilitatea de a reveni la meniul principal fără a reporni mașina.

Deci editați fișierul /tftpboot/howtogeek/menus/fog.cfg:

Sudo vim /tftpboot/howtogeek/menus/fog.cfg

Adăugați următoarea intrare după intrarea „titlu culoarea meniului” și înainte de funcțiile FOG:

LABEL înapoi MENU LABEL .. KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Creați șabloane pentru submeniuri

Am creat 4 submeniuri, dintre care trei vor fi completate de noi. Pentru a face acest lucru, să creăm un șablon pe care îl vom folosi în viitor.

Creați un fișier șablon:

Sudo vim /tftpboot/howtogeek/menus/template.cfg

Conținutul său ar trebui să fie după cum urmează:

MENIU INCLUDE /pxelinux.cfg/master.cfg #MENU BACKGROUND howtogeek/pics/fog-sub.jpg LABEL înapoi MENIU LABEL .. KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Să setăm șabloane pentru submeniuri suplimentare de care vom avea nevoie în următoarele articole:

Cd /tftpboot/howtogeek/menus/ sudo cp template.cfg ./utils.cfg sudo cp template.cfg ./linux.cfg

Gata, aspectul de bază este acum gata și acum va trebui să îl folosim, ceea ce vom face în articolele următoare. Deoarece aceste articole nu au fost încă publicate, vă recomandăm să vă familiarizați cu sistemul FOG, deoarece... Acest sistem în sine este extrem de interesant.

PXE are o caracteristică foarte utilă; tot ceea ce este configurat în el este destul de greu de pierdut, deoarece toate acestea sunt stocate pe server, și nu pe medii amovibile, care tind să se piardă, să se fure, să se uite în unități DVD/acasă, lăsate pentru a fi folosite și „sfârșit”, deci probabilitatea că ți-l vor lua iar „play” tinde la zero, ei bine, poate împreună cu serverul... Prin conectarea unui dispozitiv care are capacitatea de a porni PXE, puteți face destul de multe lucruri utile, și anume: diagnosticați echipamentul, implementați sisteme de operare, porniți un sistem live etc. ce este suficientă cunoaștere și imaginație?
Pentru a face acest lucru, va trebui să configuram un server DHCP și un server TFTP.
Anterior, am scris deja despre cum să configurați un server pentru, îl recomand cu căldură pentru revizuire, punctele principale au fost transferate de pe acesta.
Ce vom obține ca rezultat?!
Și vom obține un meniu de pornire cu posibilitatea de a selecta aplicația pe care o vom descărca pe computerul client, precum și acțiunile implicite care vor fi efectuate de sistem dacă nu se primesc comenzi de la utilizatori.

Pentru lucru vom avea nevoie de:
1) Server Ubuntu instalat
2) Un server DHCP configurat, un exemplu de configurare poate fi găsit în articol:
3) Disk sau imagine ISO a distribuției de instalare Ubuntu - adâncimea de biți nu contează, dar este mai bine să luați o versiune mai recentă.

Vom instala totul pe parcurs... Nu mă voi opri asupra setărilor DHCP, presupunând că îl aveți configurat, conform articolului, linkul către care este prevăzut în cerințele de sistem.

Instalarea unui server tftp
Să instalăm pachetul necesar:
Creștem drepturile de root:
sudo su

Să instalăm pachetul necesar
aptitude install tftpd-hpa

Acum toate fișierele care se referă la serverul nostru tfpt ar trebui să fie în director /var/lib/tftpboot/, toate căile sunt specificate în raport cu acesta.

Să trecem la crearea meniului de pornire
În primul rând, trebuie să obținem un încărcător adjunct, cum să facem asta?! Poate fi găsit pe orice disc cu ubuntu, în alte distribuții Linux, locația este aproape întotdeauna aceeași. Vom avea nevoie de o imagine ISO de instalare sau un disc introdus în unitatea DVD, în care mergem în următorul director:
Dacă discul de instalare are arhitectură x86:
/install/netboot/ubuntu-installer/i386
Ne interesează dosarul pxelinux.0 acesta este bootloader-ul, luați-l și copiați-l în directorul:
/var/lib/tftpboot/
Apoi calea spre ea arată astfel:
/var/lib/tftpboot/pxelinux.0
De asemenea, vom avea nevoie de meniul de boot în sine, care poate fi luat pe același disc, în director ecrane de boot ne interesează un fișier numit vesamenu.c32

Copiați-l în același director ca și încărcătorul, astfel încât calea să arate așa:
/var/lib/tftpboot/vesamenu.c32

Configurarea conținutului meniului PXE

De exemplu, vom realiza un meniu de boot format din 2 elemente.
Punctul unu: Porniți de pe hard disk local. Acest element va fi elementul implicit dacă utilizatorul pornește computerul prin PXE și în decurs de 15 secunde. nu a efectuat nicio acțiune, sistemul va porni automat de pe discul local.
Punctul doi: hai să-l sunăm TestareÎn interiorul acestui meniu va exista un articol cu ​​posibilitatea de a descărca Memtest x86+. Acest program va fi întotdeauna util în diagnosticarea problemelor cu stațiile de lucru și serverele; în general, este un lucru necesar și va fi util tuturor celor din fermă...

În primul rând, trebuie să creăm un director pentru fișierele de configurare numite pxelinux.cfg - numele este critic pentru muncă!
mkdir /var/lib/tftpboot/pxelinux.cfg

Acum să creăm un fișier de configurare cu parametrii elementelor de meniu, numite Mod implicit
nano /var/lib/tftpboot/pxelinux.cfg/default

Cu următorul conținut:
prompt vesamenu.c32 implicit 0 titlu meniu PXE Boot Menu MENU AUTOBOOT Pornirea sistemului local în # secunde etichetă Pornire din meniul unității locale eticheta ^Pornire din meniul unității locale implicit localboot 0 timeout 150 TOTALTIMEOUT 9000 LABEL Testare MENU LABEL ^Testing KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

Cei mai observatori au observat ca in dosarul anterior aveam o intrare care se refera la un alt dosar testare.meniu, în el vom avea setările pentru articol Testare
Să creăm acest fișier:

Cu următorul conținut:
TITLUL MENIU Testarea LABEL Software-ul de testare MENIU LABEL ^Reveniți la meniul principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label Eticheta meniului Test memorie ^Test memorie: Memtest86+ v4.20 kernel memtest/mt86plus

Primul element de meniu va fi responsabil pentru revenirea la meniul anterior, iar al doilea pentru încărcare Memtest86+ v4.20

Totul este în regulă, dar nu am creat directorul în care este stocat fișierul Memtest, vom remedia acest lucru acum, să creăm directorul corespunzător.
Hai să o facem:
mkdir /var/lib/tftpboot/memtest
Tot ce trebuie să facem este să adăugăm fișierul executabil Memtest86+ în sine, acesta poate fi găsit pe discul de instalare, în directorul /instalare/ ne intereseaza dosarul mt86plus trebuie să-l copiem în directorul memtest, astfel încât calea către el să arate astfel:
/var/lib/tftpboot/memtest/mt86plus

În acest moment am terminat cu serverul tftp, trebuie doar să terminăm puțin serverul DHCP.

Configurarea unui server DHCP

Acest element poate fi numit doar o configurare cu o întindere; dacă ați configurat serverul DHCP conform articolului, atunci trebuie să adăugați o singură intrare la:
nano /etc/dhcp/dhcpd.conf

Găsim elementul cu setările pool-ului de adrese IP, care arată astfel:
subrețea 192.168.10.0 mască de rețea 255.255.255.0 (interval 192.168.10.10 192.168.10.254; opțiunea nume-domeniu-servere 192.168.10.1; opțiunea nume-domeniu "example.168.10.19; opțiunea opțiunea.1adresă-adresă.19. 192. 168.10 .255; timp de închiriere implicit 604800; timp de închiriere maxim 604800; )

Și adăugăm o intrare care indică la bootloader-ul nostru PXE:
ping-check = 1; nume fișier = "pxelinux.0";
Calea către fișier este relativă la director /var/lib/tftpboot/ acestea. este considerat directorul rădăcină, așa cum am scris mai devreme...

Întreaga intrare arată astfel:
ping-check = 1; nume fișier = "pxelinux.0"; subrețea 192.168.10.0 mască de rețea 255.255.255.0 (interval 192.168.10.10 192.168.10.254; opțiunea nume-domeniu-servere 192.168.10.1; opțiunea nume-domeniu "example.168.10.19; opțiunea opțiunea.1adresă-adresă.19. 192. 168.10 .255; timp de închiriere implicit 604800; timp de închiriere maxim 604800; )

Salvați modificările și reporniți serverul DHCP:
/etc/init.d/isc-dhcp-server restart

Acum putem conecta la rețeaua noastră locală un dispozitiv care acceptă boot PXE și în care această funcție este activată (consultați documentația echipamentului dvs.) sau conectați o mașină virtuală cu adaptometrul conectat în modul bridge și fără suport de pornire.

Dacă ați făcut totul corect, meniul va arăta astfel:

Și dacă te duci la meniu Testare:


Dacă selectați elementul cu Memtest, va rula un test de memorie.
Alte elemente de meniu sunt adăugate în consecință.

Să ne imaginăm o situație în care trebuie să oferiți acces la unul dintre meniuri unui număr limitat de persoane, de exemplu, aveți acolo un kit de distribuție care costă foarte mulți bani. În acest scop, puteți seta o parolă pentru un element de meniu, cum se face asta?!
Să ne imaginăm o situație în care trebuie să setați o parolă (de exemplu: parola) la Testul de memorie, este ușor de făcut

Nano /var/lib/tftpboot/pxelinux.cfg/testing.menu

Trebuie să adăugăm o intrare:
MENIU PAROLĂ parola

Apoi fișierul arată astfel:
MENIU TITLE Testare LABEL Testare software MENU LABEL ^Reveniți la meniul principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label memtest MENIU PASSWD parola meniu etichetă ^Memory Test: Memtest86+ v4.20 kernel memtest/mt86plus

Protecția este, desigur, așa, dar poate ajuta utilizatorii obișnuiți.

Apoi, când încercați să porniți, va apărea următoarea fereastră:


Dacă introduceți parola corectă, Memtest va porni.
În acest fel, puteți ascunde meniuri întregi sau puteți bloca accesul la articole individuale.
Dacă se fac modificări la aceste fișiere de configurare, nu este nevoie să reporniți serverul DHCP; este suficient să reporniți PC-ul client dacă acesta a pornit prin PXE.
În ceea ce privește viteza tftp, viteza nu este mare, iar dacă decideți să transferați cantități mari de informații, încercați să utilizați un server WEB sau FTP pentru asta, fiți pregătiți să petreceți ceva timp pe el. Dacă este nevoie să descărcați un fel de distribuție, atunci este mai bine să descărcați un sistem de operare mic, un exemplu ar fi Windows PE, sau o distribuție Linux în miniatură.
Presupun că voi încheia aici...

Continuând seria de articole despre implementarea Windows, astăzi vom pregăti un server de boot de rețea bazat pe sistemul de operare Linux și vom organiza boot-ul Windows PE de pe un astfel de server, precum și o distribuție de instalare a Windows 7 sau Windows Server 2008 R2 pentru instalare dintr-o resursă de rețea. În acest tutorial voi da un exemplu pentru Debian Linux 8.

Pentru a funcționa, vom avea nevoie de o imagine Windows PE și de o distribuție de instalare Windows.

  • Crearea propriei imagini de distribuție Windows 7 sau Windows Server 2008 R2
  • Configurarea unui server Linux PXE pentru o instalare în rețea a Windows 7 sau Windows Server 2008 R2

Pregătirea fișierelor de boot Windows pentru PXE

Pentru a porni un sistem Windows de pe un server PXE, avem nevoie de următoarele fișiere:
  • winpe/boot/fonts/wgl4_boot.ttf - din distribuția Windows
  • winpe/boot/bcd - stocare de configurare (trebuie generată)
  • winpe/boot/boot.sdi - din distribuția Windows
  • winpe/boot/winpe.wim - imagine Windows PE (instrucțiuni de asamblare)
  • winpe/pxeboot.0 - pxeboot.n12 din distribuția Windows
  • winpe/bootmgr.exe - din distribuția Windows
Să creăm un folder în care vom colecta sistemul pornit de PXE:
Să copiem fontul care folosește bootfix.bin și fișierul boot.sdi, care este necesar pentru a crea un disc virtual în memorie:
xcopy c:\WinPE\x86\ISO\boot\fonts\wgl4_boot.ttf c:\tftpboot\winpe\boot\fonts\wgl4_boot.ttf
xcopy c:\WinPE\x86\ISO\boot\boot.sdi c:\tftpboot\winpe\boot\boot.sdi
Acum avem nevoie de un bootloader care va încărca managerul de boot și magazinul de configurare. Sunt incluse în imaginea de pornire Windows PE. Pentru a face acest lucru, conectați imaginea Windows PE:
dism /mount-wim /wimfile:C:\WinPE\x86\winpe.wim /index:1 /mountdir:C:\WinPE\x86\mount
Și copiați fișierul pxeboot.n12 de acolo, redenumindu-l pxeboot.0 și bootmgr.exe:
xcopy c:\WinPE\x86\mount\Windows\Boot\PXE\pxeboot.n12 c:\tftpboot\winpe\pxeboot.0
xcopy c:\WinPE\x86\mount\Windows\Boot\PXE\bootmgr.exe c:\tftpboot\winpe\bootmgr.exe
Avem fișierele necesare, cu excepția configurației de pornire și a imaginii de sistem, astfel încât imaginea Windows PE poate fi dezactivată fără a salva modificările:
dism /unmount-wim /mountdir:C:\WinPE\x86\mount /discard
Copiați imaginea sistemului Windows PE în folderul de descărcare:
xcopy C:\WinPE\x86\winpe.wim c:\tftpboot\winpe\boot\
Acum este momentul să generați configurația de pornire; pentru a face acest lucru, creați fișierul makebcd.cmd:
notepad c:\tftpboot\makebcd.cmd
Cu următorul conținut:
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create (ramdiskoptions) /d „Opțiuni Ramdisk”
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdidevice boot
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdipath \boot\boot.sdi
pentru /F "tokens=2 delims=()" %%i în ("bcdedit -store %1\BCD -create /d "Windows PE Boot Image" /application osloader") setați guid=(%%i)
bcdedit -store %1\BCD -set %guid% systemroot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Da
bcdedit -store %1\BCD -set %guid% winpe Da
bcdedit -store %1\BCD -set %guid% osdevice ramdisk=\Boot\winpe.wim,(ramdiskoptions)
bcdedit -store %1\BCD -set %guid% device ramdisk=\Boot\winpe.wim,(ramdiskoptions)
bcdedit -store %1\BCD -create (bootmgr) /d „Windows BootManager”
bcdedit -store %1\BCD -set (bootmgr) timeout 30
bcdedit -store %1\BCD -set (bootmgr) displayorder %guid%
mutați %1\BCD %1\bcd
Și să-l rulăm pentru execuție, trecându-i locația și numele fișierului de stocare de configurare ca argument:
c:\tftpboot\makebcd.cmd c:\tftpboot\winpe\boot
Aceasta completează pregătirea fișierelor necesare pentru pornirea din PXE în mediul Windows și începem configurarea serverului Linux.

Instalarea unui server PXE

Instalarea TFTP

Instalarea pachetelor necesare:
# aptitude install tftpd-hpa syslinux pxelinux -y
Configurarea unui server TFTP:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -m /etc/default/tftp-remap.conf -v"
RUN_DAEMON="da"
Deoarece Windows va căuta fișierele de descărcare în raport cu rădăcina tftp, facem maparea și asociem aceste fișiere cu directorul winpe de pe server.

Creați un fișier de mapare:

# vim /etc/default/tftp-remap.conf
Cu următorul conținut:
r pxeboot.0 /pxeboot.0
r bootmgr.exe /winpe/bootmgr.exe
r\\Boot\\BCD /winpe/boot/bcd
r \\boot\\boot.sdi /winpe/boot/boot.sdi
r \\Boot\\winpe.wim /winpe/boot/winpe.wim
r \\Boot\\Fonts\\wgl4_boot.ttf /winpe/boot/fonts/wgl4_boot.ttf
gr\\/
Ultima linie „gr \\ /” spune tftp dacă căile conțin bare oblice inverse, schimbați-le în bare oblice.
Atenţie! Este important ca literele din numele fișierelor să fie exact aceleași cu cele specificate în fișiere. Dacă ați specificat /boot/bcd în etapa de configurare și ați numit fișierul /Boot/BCD, bootloader-ul nu va putea porni sistemul, deoarece nu va găsi fișierul necesar.

Să creăm directorul nostru de descărcare:

Acum trebuie să copiați fișiere în el din directorul c:\tftpboot\:
c:\tftpboot\winpe\> pscp -r * [email protected]:/srv/tftpboot/winpe

Crearea unui meniu de pornire

Pentru ca meniul de pornire să funcționeze, avem nevoie de următoarele fișiere, copiați-le în directorul rădăcină al serverului nostru tftp:
# cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/chain.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/libcom32.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/libutil.c32 /srv/tftpboot
# cp /usr/lib/syslinux/modules/bios/vesamenu.c32 /srv/tftpboot
Și creați un director în care va fi stocat meniul de pornire în sine:
# mkdir -p /srv/tftpboot/pxelinux.cfg
Avem nevoie și de o imagine frumoasă de încărcare pentru meniul nostru. Trebuie să fie în format jpg și rezoluție 640x480. Să-l copiem de pe mașina noastră:
C:\Users\golovlevmv\> pscp Pictures\menu.jpg [email protected]:/srv/tftpboot/pxelinux.cfg/menu.jpg
Acum este timpul să creați meniul de pornire:
Cu următorul conținut:
PROMPT 0
UI vesamenu.c32
TITLUL MENIU Meniul de pornire al serverului PXE
FUNDAL MENIU pxelinux.cfg/menu.jpg
TIMEOUT 600

LABEL ^0) Pornire de pe hard disk
AJUTOR TEXT
Pornire de la prima (hdd 0)
ENDTEXT
lanț COM32.c32
ANEXA hd0 1

LABEL ^1) Încărcați Windows PE 3.1 x86
AJUTOR TEXT
Porniți Windows PE x86 de pe pxeboot
ENDTEXT
kernel winpe/pxeboot.0

Reporniți tftpd:
# /etc/init.d/tftpd-hpa reporniți

Opțiune alternativă de pornire PXE

De asemenea, puteți organiza o altă opțiune pentru pornirea sistemului de pe PXE folosind memdisk, dar va necesita o cantitate semnificativ mai mare de memorie și este posibil să aveți probleme cu computerele cu mai puțin de 1 GB de memorie.

Serverul Tftp ar trebui să fie deja pregătit conform instrucțiunilor de mai sus.

Avem nevoie de memdisk, copiați-l din pachetul syslinux:

# cp /usr/lib/syslinux/memdisk /srv/tftpboot
Copiați imaginea ISO Windows PE:
C:\WinPE\x86\> pscp WinPE_x86.iso [email protected]:/srv/tftpboot/winpe/winpe_x86.iso
Adăugăm încă un element în meniul nostru de pornire:
# vim /srv/tftpboot/pxelinux.cfg/default
LABEL ^2) Încărcați Windows PE 3.1 x86 (iso)
AJUTOR TEXT
Porniți Windows PE x86 din imaginea ISO
nevoie de mai mult 512 MB RAM pentru a corecta funcționarea
ENDTEXT
KERNEL memdisk
ANEXA ISO raw
INITRD winpe/winpe_x86.iso

Configurare DHCP

Pentru ca clienții noștri să poată porni prin rețea, trebuie să existe un server DHCP, care, la rândul său, trebuie să furnizeze clienților o adresă de referință de pornire în rețea și numele fișierului care trebuie încărcat.
Puteți utiliza orice server DHCP existent; trebuie să îi transmiteți următorii parametri:
  • nume fișier = "pxelinux.0";
  • următorul server ;
Dacă nu aveți un server DHCP, voi da și un exemplu de instalare și configurare pe serverul nostru PXE.

Instalarea unui server DHCP:

# aptitude install isc-dhcp-server -y
Activem DHCP pe interfața de rețea de care avem nevoie:
# vim /etc/default/isc-dhcp-server
Aducem dhcpd.conf în forma de care avem nevoie:
ddns-update-style none;
opțiunea nume-domeniu „home.local”;
opțiune domain-name-servers 192.168.140.10;
default-lease-time 600;
max-lease-time 7200;
autoritar;
log-facilitate local7;
subrețea 192.168.140.0 mască de rețea 255.255.255.0 (
gama 192.168.140.51 192.168.140.254;
routere opționale 192.168.140.10;
opțiunea nume-domeniu „home.local”;
nume fișier = "pxelinux.0";
următorul server 192.168.140.10;
}
Lansați isc-dhcp-server:
# /etc/init.d/isc-dhcp-server start
Acum ar trebui să încărcăm mediul Windows PE. Prin intermediul acestuia putem copia datele din sistemul de urgență și putem instala un sistem curat pe mașină.

Setăm mașina virtuală să pornească de la adaptorul de rețea și încercăm să pornăm prin rețea.

Dacă totul a funcționat, atunci partea principală și cea mai dificilă a muncii este gata. Acum să pregătim kitul de distribuție pentru instalarea sistemului în rețea.

Instalare în rețea Windows

Apoi, pentru o instalare în rețea, puteți utiliza un server de fișiere Windows sau SAMBA existent. Dar, din moment ce am decis să organizez stocarea distribuțiilor de instalare a sistemului pe același server, voi arăta pe scurt cum să organizez un astfel de server SAMBA pe serverul nostru PXE.

Instalarea SAMBA

Totul este destul de simplu aici. Voi furniza configurația minimă smb.conf, fără a conecta serverul la domeniu și a seta conturi de utilizator. Va fi doar un server cu acces de citire pentru invitați.

Editarea configurației samba:


grup de lucru = WORKGROUP
dns proxy = nr
fișier jurnal = /var/log/samba/log.%m
dimensiune maximă a jurnalului = 1000
syslog = 0
acțiune de panică = /usr/share/samba/panic-action %d
rol server = server independent
respectă restricțiile pam = da
Sincronizarea parolei unix = da
program passwd = /usr/bin/passwd %u
password chat = *Introduceți\snew\s*\parola:* %n\n *Reintroduceți\snew\s*\parola:* %n\n *parola\actualizată\succes* .
schimbarea parolei pam = da
map to guest = utilizator prost
acl allow execute always = true


comentariu = Windows 7
cale = /srv/dist/win7x86
invitat ok = da
browseable = da
creați mască = 0644
masca director = 0755
acl allow execute always = true

Nu uitați să specificați „acl allow execute always = true”. Acest parametru trebuie specificat astfel încât să puteți lansa fișiere exe pentru execuție, altfel nu veți putea rula setup.exe.

Să luăm distribuția de instalare Windows 7 SP1 x86 a ediției necesare și să copiem toate fișierele pe serverul nostru în folderul de distribuție:

C:\Users\golovlevmv\> pscp -r E:\ [email protected]:/srv/dist/win7x86/
Să repornim samba
Să încercăm să accesăm resursa noastră de rețea după nume sau adresa IP „\\pxeboot\” sau „\\192.168.140.10\”.

Acum, pentru ca sistemul nostru să fie instalat de pe serverul nostru, luăm fișierul install.wim, pe care l-am creat când ne-am asamblat propria distribuție Windows și înlocuim fișierul de distribuție cu acesta.

C:\Users\golovlevmv\> pscp C:\Win7\x86\dist\sources\install.wim [email protected]:/srv/dist/win7x86/sources/
Dar fișierul /srv/dist/win7x86/sources/boot.wim poate fi șters, deoarece Până atunci, descărcasem deja folosind Windows PE.

Începe instalarea sistemului Windows 7 x86

Pentru a începe instalarea, trebuie să conectați o resursă de rețea:
utilizare net *\\192.168.140.10\win7x86
Conectați unitatea de rețea „Z:” și executați comanda:
Apoi, pentru a automatiza instalarea sistemului, puteți utiliza „Windows System Image Manager” pentru a pregăti fișierul de răspuns autounattend.xml și rulați instalarea cu fișierul de răspuns:
Z:\setup.exe /unattend:autounattend.xml
În acest caz, pentru a implementa sisteme Windows pe un număr mare de computere, va trebui doar să porniți de pe PXE, să conectați o resursă de rețea și să rulați instalarea specificând fișierul de răspuns.


Acțiune