En startserver är som ett startbart USB-minne, bara en server och över nätverket. AOMEI PXE Boot: Starta upp datorer över nätverket från en diskavbildningsfil Lägg till möjligheten att ladda olika diskverktyg och minnestest

Tja, det är dags att fortsätta ladda ner något annat intressant och, viktigast av allt, användbart via nätverket. I tittade vi på att starta Acronis-program, installera Debian/Ubuntu Linux, ladda ner små ISO:er och lansera färdiga WIM-bilder.

Så, planer för idag!

  1. Installera Windows i manuellt och automatiskt läge.
    1. Skapa en WIM-bild.
    2. Förbereder svarsfilen.
  2. Startar ERD Commander (MSDaRT).
  3. Som en bonus kommer vi att implementera lanseringen av Debianinstallationen med ytterligare installation via SSH.

Låt oss börja med Windows

VARNING

Alla ytterligare åtgärder relaterade till att förbereda Windows utförs i Windows-miljön.

Det första steget är att förbereda WinPE-miljön, med vilken vi kommer att lansera installationer av olika system i Windows-familjen. För att göra detta behöver vi Windows AIK-paketet, som kan laddas ner gratis från den officiella Microsoft-webbplatsen.


När du har installerat Windows AIK-paketet öppnar du kommandotolkskonsolen Deployment Tools. Låt oss kopiera WIM-bilden och starthanteraren och montera den i systemet:

Copype.cmd amd64 c:\winpe mkdir c:\pe\win\boot imagex /mountrw winpe.wim 1 mount 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

WinPE-menyskriptet startas av filen startnet.cmd. För att visa det kyrilliska alfabetet korrekt måste du ändra kodningen för denna fil till CP866. Nästa steg är att redigera skriptfilen om det behövs.

Lägga till parametrar till PXE-servermenyn

Menyn är klar. Som du kan se av parametrarna i skriptet är en viss nätverksmapp ansluten i varje steg. På en PXE-server, vars installation och lansering beskrevs i föregående artikel, måste du publicera en mapp via Samba som kommer att vara skrivskyddad (annars kan installationsprogrammet försöka stoppa in något där eller skriva över det).

Därefter måste du förbereda svarsfiler för automatiska installationer. När jag ser framåt kommer jag att säga att tack vare samma filer kan du uppnå absolut vilket resultat som helst, till exempel implementera en automatisk installation med en delning på 40/60% av den första disken med en anslutning till domänen, och sedan alla nödvändig programvara kan levereras med hjälp av domängrupppolicyer (men detta är en helt annan sak).

Imagex.exe /unmount /commit mount

Den resulterande WinPE-bilden - winpe.wim - kopieras till PXE-servern. Därefter, i PXE-startmenyn skapad i /var/lib/tftpboot/pxelinux.cfg/default, ansluter vi den underordnade filen, som kommer att innehålla Windows-partitionen.

Etikett Installera Windows-menyn passwd qwerty-menyetikett Installera/Starta Windows-kärnan boot/vesamenu.c32 lägg till pxelinux.cfg/windows

Menyetikett WinPE Install Windows All menu passwd my_password 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

Förbereder en svarsfil

Låt oss börja med Windows 7 Pro. För att förbereda svarsfilen behöver du filen install.wim, som finns på installationsskivan för Windows 7 i källmappen. Vi tar tag i det och kopierar det till en lättillgänglig plats. Starta sedan Windows System Image Manager.

Fortsättning är endast tillgänglig för medlemmar

Alternativ 1. Gå med i "site"-gemenskapen för att läsa allt material på sajten

Medlemskap i communityn inom den angivna perioden ger dig tillgång till ALLT hackermaterial, ökar din personliga kumulativa rabatt och låter dig samla ett professionellt Xakep Score-betyg!

PXE

Preload exekveringsmiljö ( Preboot Execution Environment, PXE, uttalas "pixie") är processen att starta upp ett operativsystem över ett nätverk. Det kan jämföras med att starta en LiveCD från en fjärransluten CD-enhet.

Denna nedladdningsmetod kräver:

    en fillagringsserver som körs med DHCP- och TFTP-protokollen (du kan köra varje protokoll på en separat server);

    klient med PXE-starthanteraren i BIOS. Kanske inte har någon hårddisk.

Steg 1. Konfigurera PXE-servern

PXE-server inkluderar:

    DHCP-server för anslutning till klienter;

    DHCP-nedladdningsfil för att konfigurera klienter;

    TFTP-server för att ladda operativsystemet.

SliTaz LiveCD kan användas som en PXE-server. För att göra detta, starta Netbox-applikationen (från System-menyn).

    På fliken Statip IP klick Start.

    • Ett DHCP-serverfönster visas som inte kan använda DHCP för att hämta IP-information.

    På fliken Server välj flik INETD och se till att linjen tftpd i filen /etc/initd.conf inte kommenterat. Dessa är standardinställningarna. Klick Start.

    • TFTP-servern startar och laddar ner SliTaz LiveCD över nätverket.

    På samma flik Server välj flik PXE.

    Redigera inställningarna enligt dina startalternativ.

    • Detta kommer automatiskt att uppdatera DHCP-serverns konfiguration.

    På fliken Server välj flik DHCP. Justera inställningarna så att de matchar din nätverkskonfiguration. Innan detta lade vi till raderna boot_file Och siaddr. Klick Start.

    • DHCP-servern startar. Om klienter inte kan få en IP-adress, kontrollera inställningarna för denna server.

    Se till att filerna bzImage Och rootfs.gz finns i katalogen /känga på LiveCD.

Steg 2. Konfigurera PXE-klienten

De senaste generationerna av datorer med inbyggt Ethernet-stöd har ett BIOS som stöder PXE. Markera det här alternativet i BIOS-menyn och se till att det är aktiverat. För att gå till BIOS-inställningarna måste du trycka på motsvarande tangent efter att ha slagit på datorn (till exempel F12).

Om din dator inte stöder PXE-start kan du använda SliTaz som klient på den. Skapa en startbar CD-ROM eller diskett med verktyget Starta diskett/CDROM på menyn Systemet.

På fliken PXE Network, välj Write floppy. Detta gör att du kan starta upp systemet på klientens dator.

SliTaz LiveCD innehåller inställningar för att ladda operativsystemet via Internet. Detta kan vara användbart när du använder en nyare version av SliTaz från ett äldre medium.

För att starta nätverksstart, anger du kommandot vid den första SliTaz-prompten

Det är allt!

För ytterligare information om hur du använder en internetanslutning när du laddar ner SliTaz, se hemsidan för nedladdning av SliTaz online.

Du behöver också en DHCP-server för att få IP-adress, subnätmask och gateway-adress, precis som när du ställer upp en vanlig anslutning – en vanlig hemmarouter klarar detta.

Om du inte har en enhet som kan konfigureras som en DHCP-server behöver du fortfarande en IP-adress, nätmask, gatewayadress och eventuellt en DNS-adress.

Titel Slitaz webbkärna /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

Title Slitaz webbkärna /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.192 d.192 dns=192.168.0.1 d. mirror.slitaz.org/pxe/pxelinux.0

Med den här nedladdningsmetoden är endast följande alternativ tillgängliga:

    nodhcp (hjälper till att undvika DHCP-timeout-fel)

Ytterligare anpassning av startprocessen

Nätverksnedladdningsprocessen kan konfigureras och distribueras över routrar och andra enheter.

Distribuerad uppstart via PXE och PROM (föregår PXE)

    installera gpxe.exe till /jffs/boot

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

Starta en tftp-server för ditt lokala nätverk (t.ex. 192.168.0.1/24):

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

Ändra startsidan för GPXE

$ dd bs=1 skip=519 count=255 if=gpxe 2> /dev/null | strängar $ echo -n "http://myurl.org/myboot" | cat - /dev/noll | 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" | cat - /dev/noll | 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

Ändra startsidan för gpxe.exe

$ dd bs=1 skip=5 count=255 if=gpxe.pxe 2> /dev/null | strängar

$ echo -n "http://myurl.org/myboot" | cat - /dev/noll | 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

Använda flera länkar när du arbetar med nedladdningsservrar

Här är ett exempel för nuvarande SliTaz-startservrar:

$ 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" | cat - /dev/noll | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe

PXE-tekniköversikt

PXE (Pre Execution Environment), uttalas Pixie, är ett tillvägagångssätt som gör att en dator (klientdator) kan starta med endast sitt nätverkskort. Denna startmetod skapades redan 1999 och om datorn är ansluten till ett nätverk (och stöder denna standard), är det möjligt att kringgå den normala startproceduren (dvs. slå på -> BIOS -> HD/CD) och göra några snygga saker, till att börja med felsökning, för vilket live OS vanligtvis används, och till och med fånga en bild av maskinen... men vi går före oss själva - låt oss gå tillbaka till början.

När PXE-metoden används ändras startprocessen från normal till följande:

Slå på -> BIOS -> NIC PXE-stack -> Network Boot Program (NBP) som startas upp via TFTP från server till klientdatorminne -> NBP ansvarar för nästa steg (2:a startsteget) ).

Genom att använda PXElinux NBP-programmet kan vi konfigurera servern att göra mer än att bara ladda ett enda PXE-program för våra klienter. På ett sätt är detta den hemliga ingrediensen som gör att vi kan göra allt ovan och mer. För en mer detaljerad förklaring av hela processen, dess historik och några av de tillgängliga inställningarna för detta program och gPXE-programmet (som är en mer avancerad klon av det första programmet), se denna föreläsning på YouTube, föreslagna av utvecklarna av dessa program. Nedan är dessutom en video från 2008 som leder dig genom installationen så att du snabbt kan hoppa in i några av nedladdningsalternativen.

Notera: Den här videon använder det äldre UDA-projektet som bas för servern, och anteckningarna var avsedda att förklara att de senaste (vid tillfället) tilläggen gjordes till den.

Mål

Denna handledning kommer att vara den första i en serie handledningar som täcker PXE. I den här guiden lägger vi grunden som vi kommer att bygga vidare på i efterföljande artiklar.

  • Klientmaskinen du testar på stöder PXE-start och du vet hur du aktiverar den.
  • Den här guiden skrevs och testades med Debian Squeeze, Ubuntu Server 9.10 och Linux Mint10. Därför antas det att du också har ett Debianbaserat system.
  • Du har möjlighet att titta på artikeln "Hur man konfigurerar programvara RAID" för en "Enkel filserver" och "Hur man konfigurerar ett helt nätverk (802.3ad)", eftersom diskhastigheten och bandbredden för detta serveralternativ bör vara mycket hög. Det rekommenderas starkt att montera ett sådant nätverk med hjälp av en server med mycket feltoleranta nätverk och diskundersystem.
  • Du kommer att se att vi använder VIM som editor, det är bara för att jag är van vid det... Du kan använda vilken annan editor du vill.

Installation - en svår start med FOG-systemet

Att använda FOG som grund för din PXE-server är ett bra sätt att ha alla nödvändiga delar på plats, såsom TFTP och, om så krävs, DHCP, utan att behöva installera och konfigurera dem manuellt, samtidigt som du får alla funktioner i FOG. paket som bonus.

Eftersom vårt mål är att lägga till nya funktioner till detta redan stora system, kommer vi inte att gå in i detalj om hur man använder själva FOG-paketet, och inte heller kommer vi att täcka installationsproceduren. FOG-wikin, både text- och videoinstruktioner, räcker för detaljerad information om du vill gå in på detaljerna. I allmänhet är stegen följande:

Detta är allt du behöver göra under installationen av FOG-paketet. Återigen, eftersom FOG är ett stort system, ligger dess användning utanför räckvidden för denna guide, och för att hjälpa dig att bättre förstå FOG-systemets funktioner och hur det kan hjälpa dig att hantera livscykeln för dina klientdatorer, rekommenderar vi att du hänvisar till till wikisidorna som beskriver detta system.

Om allt går bra bör du kunna starta upp din klientdator till PXE-läge (vanligtvis med F12) och få FOGs standardpromptmeny.


Bild via Hotfortech.

För att få en smak av möjligheterna direkt kan du välja alternativet "Kör Memtest86+" och bli tillfrågad av Memtest-programmet, som vi tar upp i vår artikel Diagnosing PC Hardware Problems Using Ubuntu Live CD.

Filer och kataloger

Som nämnts tidigare är vårt mål att utöka funktionerna i FOG-systemet och för detta ändamål måste vi lägga till några filer och kataloger.

Skapa följande underkataloger:

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

Dessa underkataloger kommer att fungera som mallar för alla bilder, program och konfigurationer som vi kommer att använda för att utöka FOG-systemet.

Ställ in standardkonfigurationsfilen som ska användas som standard

Vi kommer att skapa en ny huvudmeny och placera alla funktioner i FOG-systemet i en egen undermeny.

Kopiera konfigurationsfilen /tftpboot/pxelinux.cfg/default till howtogeek/menus/fog.cfg.

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

Redigera nu innehållet i standardkällfilen:

Sudo vim /tftpboot/pxelinux.cfg/default

Få dess innehåll att se ut så här:

Standard Vesamenu.c32 Meny Titel FOG 0.32 + HOWTOGEEK: s förbättringsmeny Inkludera /pxelinux.cfg/master.cfg Menu Color Title 1; 36; 44 #FF8C00 #00000000 STD Label Label Fog Meny Manual Fog Meny Kernel Vesamenu /menus/fog.cfg LABEL Utils MENULABEL Utilities KERNEL vesamenu.c32 BILAGA howtogeek/menus/utils.cfg ETIKET Linux MENY ETIKET Linux-grejer KERNEL vesamenu.c32 BILAGA howtogeek/menus/linuxboot.cfg MENY LABEL local fog0 från MElocal LABEL fog. hårddisk TEXT HJÄLP Starta från den lokala hårddisken. Om du är osäker, välj det här alternativet ENDTEXT PROMPT 0 TIMEOUT 300 ONTIMEOUT fog.local

När vi är klara kommer denna konfiguration att ge dig följande 3 undermenyer: Utilities, Manual FOGing, Linux stuff (Linux).

Skapa en masterfil

Masterfilen låter dig göra globala ändringar av menyns utseende utan att gå in i dem igen i en separat ordning om och om igen. Funktioner som standard tapeter, kantstilar, positioner etc. kommer alla att kombineras i denna master.cfg-fil.

Skapa en fil:

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

Se till att innehållet är som följer:

MENY BACKGROUND fog/genie.png meny färgskärm 37;40 #80ffffff #00000000 std meny färg kantlinje 30;44 #9370db #00000000 std meny färg titel 1;36;44 #ff8c00 #00000000 #ffd meny färg 4 stff meny färg nr ;44 #60cccccc #00000000 std menyfärg rullningslist 30;44 #40000000 #00000000 std menyfärg tabmsg 31;40 #90ffff00 #000000000 std menyfärg cmdmark 1;3000ffff #00 std 3; 0 # c0ffffff nr st d menyfärg timeout 1;37;40 #c0ffffff #00000000 std meny färghjälp 37;40 #c0ffffff #00000000 std meny färg msg07 37;40 #90ffffff #00000000 std MENY MARGINAL 0 MENY MENYN MENYN LÖSENORD 315WORDMAN CM DLINEROW 20 MENY LÖSENORD 11 MENY TIMEOUTROW 20 MENY HSHIFT 0 MENY VSHIFT 0

Konfigurationen ovan kommer att skapa lila ramar och textmarkering; om du vill ha ett annat utseende, ändra helt enkelt värdena.

För att ställa in en bakgrundsbild, placera bilden i katalogen /tftroot och ställ MENU BACKGROUND till en relativ sökväg till bilden (vi rekommenderar att du använder bilder med en upplösning på 640*480). Till exempel skulle den fullständiga sökvägen till bilden som konfigurerats ovan vara /tftroot/fog/bg.png.

Anslut FOG-undermenyn till huvudmenyn

Därför att vi gjorde en enkel kopia av den ursprungliga konfigurationsfilen till en underkatalog av menyn (bevarade färgschemat, timeouts, etc.), om du nu går till den här undermenyn från en laddad PXE-klient kommer det att fungera, men du kommer inte att vara kan återgå till huvudmenyn utan att starta om maskinen.

Så redigera filen /tftpboot/howtogeek/menus/fog.cfg:

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

Lägg till följande post efter "menyfärgsrubrik" och före FOG-funktionerna:

ETIKET tillbaka MENY ETIKET .. KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default

Skapa mallar för undermenyer

Vi har skapat 4 undermenyer, varav tre kommer att fyllas av oss. För att göra detta, låt oss skapa en mall som vi kommer att använda i framtiden.

Skapa en mallfil:

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

Dess innehåll bör vara följande:

MENY INKLUDERA /pxelinux.cfg/master.cfg #MENY BAKGRUND howtogeek/pics/fog-sub.jpgLABEL tillbaka MENYETIKET .. KÄRNA vesamenu.c32 BILAGA pxelinux.cfg/default

Låt oss skapa mallar för ytterligare undermenyer som vi behöver i följande artiklar:

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

Det är det, den grundläggande layouten är nu klar och nu måste vi använda den, vilket vi kommer att göra i följande artiklar. Eftersom dessa artiklar ännu inte har publicerats rekommenderar vi att du bekantar dig med FOG-systemet, eftersom... Detta system i sig är oerhört intressant.

PXE har en mycket användbar funktion; allt som är konfigurerat i det är ganska svårt att förlora eftersom allt detta lagras på servern, och inte på flyttbara media, som tenderar att gå vilse, stjälas, glömmas bort i DVD-enheter/hemma, lämnas att användas och "hamnade", så sannolikheten att de tar det från dig och "play" tenderar till noll, ja, kanske tillsammans med servern... Genom att ansluta en enhet som har förmågan att boota PXE kan du göra en hel del användbara saker, nämligen: diagnostisera utrustning, distribuera operativsystem, starta upp ett livesystem osv. vad är tillräckligt med kunskap och fantasi?
För att göra detta måste vi konfigurera en DHCP-server och en TFTP-server.
Tidigare har jag redan skrivit om hur man ställer in en server för, jag rekommenderar den starkt för granskning, huvudpunkterna fördes över från den.
Vad får vi som resultat?!
Och vi kommer att få en startmeny med möjligheten att välja applikationen som vi ska ladda ner till klientdatorn, såväl som standardåtgärderna som kommer att utföras av systemet om inga kommandon tas emot från användarna.

För arbete behöver vi:
1) Installerad Ubuntu-server
2) En konfigurerad DHCP-server, ett exempel på konfiguration finns i artikeln:
3) Disk- eller ISO-avbildning av Ubuntu-installationsdistributionen - bitdjupet spelar ingen roll, men det är bättre att ta en nyare version.

Vi kommer att installera allt annat längs vägen... Jag kommer inte att uppehålla mig vid DHCP-inställningarna, förutsatt att du har konfigurerat det, enligt artikeln, vars länk finns i systemkraven.

Installera en tftp-server
Låt oss installera det nödvändiga paketet:
Vi höjer rätten till root:
sudo su

Låt oss installera det nödvändiga paketet
aptitude installera tftpd-hpa

Nu ska alla filer som relaterar till vår tfpt-server finnas i katalogen /var/lib/tftpboot/, är alla sökvägar specificerade i förhållande till den.

Låt oss gå vidare till att skapa startmenyn
Först och främst måste vi skaffa en ställföreträdande lastare, hur gör man detta?! Den kan hittas på vilken disk som helst med ubuntu, i andra Linux-distributioner är platsen nästan alltid densamma. Vi kommer att behöva en ISO-installationsavbild eller -skiva insatt i DVD-enheten, där vi går till följande katalog:
Om installationsskivan är x86-arkitektur:
/install/netboot/ubuntu-installer/i386
Vi är intresserade av filen pxelinux.0 det här är starthanteraren, ta den och kopiera den till katalogen:
/var/lib/tftpboot/
Då ser vägen dit ut så här:
/var/lib/tftpboot/pxelinux.0
Vi kommer också att behöva själva startmenyn, som kan tas på samma disk, i katalogen startskärmar vi är intresserade av en fil som heter vesamenu.c32

Kopiera den till samma katalog som laddaren så att sökvägen ser ut så här:
/var/lib/tftpboot/vesamenu.c32

Konfigurera innehållet i PXE-menyn

Som ett exempel kommer vi att göra en startmeny som består av 2 objekt.
Punkt ett: Starta från lokal hårddisk. Detta objekt kommer att vara standardobjektet om användaren startar datorn via PXE och inom 15 sekunder. inte utförde några åtgärder, kommer systemet automatiskt att starta från den lokala disken.
Punkt två: låt oss ringa honom Testning Inuti den här menyn kommer det att finnas ett objekt med möjlighet att ladda ner Memtest x86+. Det här programmet kommer alltid att vara användbart för att diagnostisera problem med arbetsstationer och servrar; i allmänhet är det en nödvändig sak och kommer att vara användbar för alla på gården...

Först måste vi skapa en katalog för konfigurationsfiler som heter pxelinux.cfg - namnet är avgörande för arbetet!
mkdir /var/lib/tftpboot/pxelinux.cfg

Låt oss nu skapa en konfigurationsfil med parametrarna för menyalternativ, namngivna standard
nano /var/lib/tftpboot/pxelinux.cfg/default

Med följande innehåll:
standard vesamenu.c32 prompt 0 menytitel PXE Boot Menu MENY AUTOBOOT Startar lokalt system om # sekunder etikett Boot från lokal enhet meny etikett ^Starta från lokal enhet meny standard localboot 0 timeout 150 TOTALTIMEOUT 9000 ETIKET Test MENY ETIKET ^Test KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

De mest uppmärksamma lade märke till att vi i föregående fil hade en post som rör en annan fil test.menyn, i den kommer vi att ha inställningarna för objektet Testning
Låt oss skapa den här filen:

Med följande innehåll:
MENY TITEL Testa ETIKET Testprogramvara MENY ETIKET ^Återgå till huvudmenyn KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default label Minnestest menyetikett ^Minnetest: Memtest86+ v4.20 kernel memtest/mt86plus

Det första menyalternativet kommer att ansvara för att återgå till föregående meny och det andra för att laddas Memtest86+ v4.20

Allt är bra, men vi skapade inte katalogen där Memtest-filen är lagrad, vi kommer att fixa detta nu, låt oss skapa lämplig katalog.
Vi gör det:
mkdir /var/lib/tftpboot/memtest
Allt vi behöver göra är att lägga till den körbara filen för Memtest86+ själv, den finns på installationsskivan, i katalogen /Installera/ vi är intresserade av filen mt86plus vi måste kopiera den till memtest-katalogen så att sökvägen till den ser ut så här:
/var/lib/tftpboot/memtest/mt86plus

Vid det här laget är vi klara med tftp-servern, vi behöver bara avsluta DHCP-servern lite.

Konfigurera en DHCP-server

Det här objektet kan bara kallas en inställning med en stretch; om du konfigurerade DHCP-servern enligt artikeln behöver du bara lägga till en post till:
nano /etc/dhcp/dhcpd.conf

Vi hittar objektet med inställningarna för IP-adresspoolen, som ser ut så här:
subnät 192.168.10.0 nätmask 255.255.255.0 ( intervall 192.168.10.10 192.168.10.254; option domännamn-servrar 192.168.10.1; option domännamn "exempel1. org. 9 router 1. sändning; 9 router -adress 19 2.168. 10.255 ; default-lease-time 604800; max-lease-time 604800;)

Och vi lägger till en post som pekar på vår PXE bootloader:
ping-check = 1; filnamn = "pxelinux.0";
Sökvägen till filen är relativ till katalogen /var/lib/tftpboot/ de där. det anses vara rotkatalogen, som jag skrev om tidigare...

Hela inlägget ser ut så här:
ping-check = 1; filnamn = "pxelinux.0"; subnät 192.168.10.0 nätmask 255.255.255.0 ( intervall 192.168.10.10 192.168.10.254; option domännamn-servrar 192.168.10.1; option domännamn "exempel1. org. 9 router 1. sändning; 9 router -adress 19 2.168. 10.255 ; default-lease-time 604800; max-lease-time 604800;)

Spara ändringarna och starta om DHCP-servern:
/etc/init.d/isc-dhcp-server omstart

Nu kan vi ansluta till vårt lokala nätverk en enhet som stöder PXE-start och där denna funktion är aktiverad (se dokumentationen för din utrustning) eller ansluta en virtuell maskin med adaptometern ansluten i bryggläge och utan startbar media.

Om du gjorde allt korrekt kommer menyn att se ut så här:

Och om du går till menyn Testning:


Om du väljer objektet med Memtest kommer ett minnestest att köras.
Andra menyalternativ läggs till i enlighet med detta.

Låt oss föreställa oss en situation där du behöver ge tillgång till en av menyerna till ett begränsat antal personer, till exempel har du ett distributionspaket där som kostar mycket pengar. För detta ändamål kan du ställa in ett lösenord för ett menyalternativ, hur gör man det?!
Låt oss föreställa oss en situation där du behöver ställa in ett lösenord (till exempel: Lösenord) på Memory Test är det lätt att göra

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

Vi måste lägga till en post:
MENY LÖSENORD lösenord

Då ser filen ut så här:
MENY TITEL Testa ETIKET Testprogramvara MENY ETIKET ^Återgå till huvudmenyn KERNEL vesamenu.c32 BILAGA pxelinux.cfg/default label memtest MENY PASSWD lösenord menyetikett ^Minnetest: Memtest86+ v4.20 kernel memtest/mt86plus

Skyddet är givetvis så som så, men det kan hjälpa för vanliga användare.

När du sedan försöker starta visas följande fönster:


Om du anger rätt lösenord startar Memtest.
På så sätt kan du dölja hela menyer eller blockera åtkomst till enskilda objekt.
Om ändringar görs i dessa konfigurationsfiler finns det inget behov av att starta om DHCP-servern, det räcker med att starta om klientdatorn om den startade via PXE.
När det gäller hastigheten på tftp är hastigheten inte hög, och om du bestämmer dig för att överföra stora mängder information, försök att använda en WEB- eller FTP-server för detta, var beredd att lägga lite tid på det. Om det finns ett behov av att ladda ner någon form av distribution, så är det bättre att ladda ner ett litet OS, ett exempel skulle vara Windows PE, eller en Linux-distribution i miniatyr.
Jag antar att jag slutar här...

För att fortsätta serien av artiklar om Windows-distribution, kommer vi idag att förbereda en nätverksstartserver baserad på Linux OS och organisera uppstarten av Windows PE från en sådan server, samt förbereda en installationsdistribution av Windows 7 eller Windows Server 2008 R2 för installation från en nätverksresurs. I den här handledningen kommer jag att ge ett exempel för Debian Linux 8.

För att fungera behöver vi en Windows PE-avbildning och en Windows-installationsdistribution.

  • Skapa din egen distributionsbild för Windows 7 eller Windows Server 2008 R2
  • Konfigurera en Linux PXE-server för en nätverksinstallation av Windows 7 eller Windows Server 2008 R2

Förbereder Windows Boot-filer för PXE

För att starta ett Windows-system från en PXE-server behöver vi följande filer:
  • winpe/boot/fonts/wgl4_boot.ttf - från Windows-distributionen
  • winpe/boot/bcd - konfigurationslagring (måste genereras)
  • winpe/boot/boot.sdi - från Windows-distribution
  • winpe/boot/winpe.wim - Windows PE-bild (monteringsinstruktioner)
  • winpe/pxeboot.0 - pxeboot.n12 från Windows-distributionen
  • winpe/bootmgr.exe - från Windows-distributionen
Låt oss skapa en mapp där vi kommer att samla det PXE-startade systemet:
Låt oss kopiera typsnittet som använder bootfix.bin och boot.sdi-filen, som är nödvändig för att skapa en virtuell disk i minnet:
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
Nu behöver vi en bootloader som laddar starthanteraren och konfigurationsarkivet. De ingår i Windows PE-startavbildningen. För att göra detta, anslut Windows PE-bilden:
dism /mount-wim /wimfile:C:\WinPE\x86\winpe.wim /index:1 /mountdir:C:\WinPE\x86\mount
Och kopiera filen pxeboot.n12 därifrån, döp om den till pxeboot.0 och 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
Vi har de nödvändiga filerna förutom startkonfigurationen och systemavbildningen, så Windows PE-avbildningen kan inaktiveras utan att spara ändringar:
dism /unmount-wim /mountdir:C:\WinPE\x86\mount /discard
Kopiera Windows PE-systemavbildningen till nedladdningsmappen:
xcopy C:\WinPE\x86\winpe.wim c:\tftpboot\winpe\boot\
Nu är det dags att generera startkonfigurationen; för att göra detta, skapa filen makebcd.cmd:
anteckningsblock c:\tftpboot\makebcd.cmd
Med följande innehåll:
bcdedit -createstore %1\BCD
bcdedit -store %1\BCD -create (ramdiskoptions) /d "Ramdisk options"
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdidevice boot
bcdedit -store %1\BCD -set (ramdiskoptions) ramdisksdipath \boot\boot.sdi
för /F "tokens=2 delims=()" %%i in ("bcdedit -store %1\BCD -create /d "Windows PE Boot Image" /application osloader") ställ in guid=(%%i)
bcdedit -store %1\BCD -set %guid% systemrot \Windows
bcdedit -store %1\BCD -set %guid% detecthal Ja
bcdedit -store %1\BCD -set %guid% winpe Ja
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%
flytta %1\BCD %1\bcd
Och låt oss köra det för exekvering och skicka det platsen och namnet på konfigurationslagringsfilen som ett argument:
c:\tftpboot\makebcd.cmd c:\tftpboot\winpe\boot
Detta slutför förberedelsen av de nödvändiga filerna för uppstart från PXE i Windows-miljön, och vi börjar konfigurera Linux-servern.

Installera en PXE-server

Installerar TFTP

Installera de nödvändiga paketen:
# aptitude installera tftpd-hpa syslinux pxelinux -y
Konfigurera en TFTP-server:
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="ja"
Därför att Windows kommer att leta efter sina nedladdningsfiler i förhållande till tftp-roten, vi mappar och associerar dessa filer med winpe-katalogen på servern.

Skapa en mappningsfil:

# vim /etc/default/tftp-remap.conf
Med följande innehåll:
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\\/
Den sista raden "gr \\ /" talar om för tftp om sökvägar innehåller snedstreck, ändra dem till snedstreck framåt.
Uppmärksamhet! Det är viktigt att fallet med bokstäver i filnamn är exakt detsamma som du anger i filerna. Om du angav /boot/bcd i konfigurationsstadiet och namngav filen /Boot/BCD, kommer starthanteraren inte att kunna starta upp systemet, eftersom hittar inte den önskade filen.

Låt oss skapa vår nedladdningskatalog:

Nu måste du kopiera filer till den från katalogen c:\tftpboot\:
c:\tftpboot\winpe\> pscp -r * [e-postskyddad]:/srv/tftpboot/winpe

Skapa en startmeny

För att startmenyn ska fungera behöver vi följande filer, kopiera dem till rotkatalogen på vår tftp-server:
# 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
Och skapa en katalog där själva startmenyn kommer att lagras:
# mkdir -p /srv/tftpboot/pxelinux.cfg
Vi behöver också en vacker laddningsbild till vår meny. Det måste vara i jpg-format och 640x480 upplösning. Låt oss kopiera det från vår maskin:
C:\Users\golovlevmv\> pscp Pictures\menu.jpg [e-postskyddad]:/srv/tftpboot/pxelinux.cfg/menu.jpg
Nu är det dags att skapa startmenyn:
Med följande innehåll:
PROMPT 0
UI vesamenu.c32
MENY TITEL PXE Server Boot Menu
MENY BAKGRUND pxelinux.cfg/menu.jpg
TIMEOUT 600

LABEL ^0) Starta från hårddisk
TEXT HJÄLP
Starta från första (hdd 0)
SLUTTEXT
COM32 kedja.c32
BILAGA hd0 1

ETIKET ^1) Ladda Windows PE 3.1 x86
TEXT HJÄLP
Starta Windows PE x86 från pxeboot
SLUTTEXT
kärna winpe/pxeboot.0

Starta om tftpd:
# /etc/init.d/tftpd-hpa starta om

Alternativt PXE-startalternativ

Du kan också organisera ett annat alternativ för att starta upp systemet från PXE med memdisk, men det kommer att kräva en betydligt större mängd minne och du kan ha problem med datorer med mindre än 1 GB minne.

Tftp-servern bör redan vara förberedd enligt instruktionerna ovan.

Vi behöver memdisk, kopiera det från syslinux-paketet:

# cp /usr/lib/syslinux/memdisk /srv/tftpboot
Kopiera Windows PE ISO-bilden:
C:\WinPE\x86\> pscp WinPE_x86.iso [e-postskyddad]:/srv/tftpboot/winpe/winpe_x86.iso
Vi lägger till ytterligare ett objekt till vår startmeny:
# vim /srv/tftpboot/pxelinux.cfg/default
LABEL ^2) Ladda Windows PE 3.1 x86 (iso)
TEXT HJÄLP
Starta Windows PE x86 från iso-avbildning
behöver mer 512MB RAM för att fungera korrekt
SLUTTEXT
KERNEL memdisk
BILAGA iso raw
INITRD winpe/winpe_x86.iso

DHCP-inställning

För att våra klienter ska kunna starta upp över nätverket måste en DHCP-server finnas, och den måste i sin tur förse klienterna med en nätverksstartreferensadress och namnet på filen som ska laddas.
Du kan använda vilken befintlig DHCP-server som helst; du måste skicka följande parametrar till den:
  • filnamn = "pxelinux.0";
  • nästa server ;
Om du inte har en DHCP-server kommer jag också att ge ett exempel på hur du installerar och konfigurerar den på vår PXE-server.

Installera en DHCP-server:

# aptitude installera isc-dhcp-server -y
Vi aktiverar DHCP på nätverksgränssnittet vi behöver:
# vim /etc/default/isc-dhcp-server
Vi tar dhcpd.conf till det formulär vi behöver:
ddns-update-style ingen;
alternativet domännamn "home.local";
option domännamn-servrar 192.168.140.10;
default-lease-time 600;
max-lease-tid 7200;
auktoritativ;
log-anläggning lokal7;
subnät 192.168.140.0 nätmask 255.255.255.0 (
intervall 192.168.140.51 192.168.140.254;
option routrar 192.168.140.10;
alternativet domännamn "home.local";
filnamn = "pxelinux.0";
nästa server 192.168.140.10;
}
Starta isc-dhcp-server:
# /etc/init.d/isc-dhcp-serverstart
Nu bör vi ladda Windows PE-miljön. Genom den kan vi kopiera data från nödsystemet och installera ett rent system på maskinen.

Vi ställer in den virtuella maskinen att starta från nätverksadaptern och försöker starta via nätverket.

Om allt fungerade, är den huvudsakliga och svåraste delen av arbetet gjort. Låt oss nu förbereda distributionssatsen för att installera systemet över nätverket.

Windows nätverksinstallation

Sedan, för en nätverksinstallation, kan du använda en befintlig Windows- eller SAMBA-filserver. Men eftersom jag bestämde mig för att organisera lagringen av spå samma server, kommer jag kort att visa hur man organiserar en sådan SAMBA-server på vår PXE-server.

Installerar SAMBA

Allt är ganska enkelt här. Jag kommer att tillhandahålla den minimala smb.conf config, utan att ansluta servern till domänen och ställa in användarkonton. Det kommer bara att vara en server med gästläsbehörighet.

Redigera samba-konfigurationen:


arbetsgrupp = ARBETSGRUPP
dns proxy = nej
loggfil = /var/log/samba/log.%m
max stockstorlek = 1000
syslog = 0
panikåtgärd = /usr/share/samba/panikåtgärd %d
serverroll = fristående server
följ pam-restriktioner = ja
unix lösenordssynkronisering = ja
passwd program = /usr/bin/passwd %u
passwd chat = *Ange\snew\s*\slösenord:* %n\n *Skriv om\snew\s*\slösenord:* %n\n *lösenord\uppdaterat\slyckat* .
pam lösenordsändring = ja
map till gäst = dålig användare
acl tillåt exekvera alltid = sant


kommentar = Windows 7
sökväg = /srv/dist/win7x86
gäst ok = ja
bläddringsbar = ja
skapa mask = 0644
katalogmask = 0755
acl tillåt exekvera alltid = sant

Glöm inte att ange "acl tillåter kör alltid = sant". Denna parameter måste anges så att du kan starta exe-filer för körning, annars kommer du inte att kunna köra setup.exe.

Låt oss ta installationsdistributionen för Windows 7 SP1 x86 av den nödvändiga versionen och kopiera alla filer till vår server i distributionsmappen:

C:\Users\golovlevmv\> pscp -r E:\ [e-postskyddad]:/srv/dist/win7x86/
Låt oss starta om samba
Låt oss försöka komma åt vår nätverksresurs med namn eller IP-adress "\\pxeboot\" eller "\\192.168.140.10\".

Nu, för att vårt system ska kunna installeras från vår server, tar vi filen install.wim, som vi skapade när vi monterade vår egen Windows-distribution, och ersätter distributionsfilen med den.

C:\Users\golovlevmv\> pscp C:\Win7\x86\dist\sources\install.wim [e-postskyddad]:/srv/dist/win7x86/sources/
Men filen /srv/dist/win7x86/sources/boot.wim kan raderas, eftersom Vid den tiden hade vi redan laddat ner med Windows PE.

Startar installationen av Windows 7 x86-systemet

För att starta installationen måste du ansluta en nätverksresurs:
nätanvändning *\\192.168.140.10\win7x86
Anslut nätverksenheten "Z:" och kör kommandot:
Därefter, för att automatisera installationen av systemet, kan du använda "Windows System Image Manager" för att förbereda svarsfilen autounattend.xml och köra installationen med svarsfilen:
Z:\setup.exe /unattend:autounattend.xml
I det här fallet, för att distribuera Windows-system på ett stort antal datorer, behöver du bara starta från PXE, ansluta en nätverksresurs och köra installationen som anger svarsfilen.


Dela med sig