PXE rendszerindító menü a System Center Configuration Manager segítségével

PXE rendszerindító menü a System Center Configuration Manager segítségével

A System Center Configuration Manager (a product for IT infrastructure management) capabilities extension is considered for booting user PCs via PXE. We create a boot menu based on PXELinux with System Center functionality and add antivirus scanning capabilities, diagnostic and recovery images. At the end of the article, we address the features of System Center 2012 Configuration Manager working together with Windows Deployment Services (WDS) when booting through PXE.

All actions are performed in a test environment, which already has System Center 2012 Configuration Manager SP1, a domain controller, and a number of test machines installed. It is assumed that SCCM is already using network deployment via PXE.

Bevezetés

The test environment consists of several virtual machines. All machines have Microsoft Windows Server 2008 R2 (x64) guest OS installed, E1000 network adapter, SCSI Controller: LSI Logic SAS.

Name (Roles)
IP address/DNS name
Funkció

SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local

System Center Configuration Manager 2012 SP1 is installed

DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local

Domain controller, DHCP server, and DNS server role

TEST (Test machine)
192.168.57.103
test.test.local

A teszteléshez

GW (Gateway)
192.168.57.1
Routing between networks. Gateway role

1. Add PXELinux to SCCM

Actions are performed on the machine where System Center Configuration Manager is installed.

  • We will define the directory where the WDS files for booting are located, for this we will look at the registry parameter value. RootFolder in the branch HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
    Alapértelmezett érték C:\RemoteInstall
    Files for booting from the SCCM deployment point are located in directories smsboot\x86 és smsboot\x64 depending on the architecture.
    First, configure the directory for 32-bit architecture, by default c:\RemoteInstall\smsboot\x86
  • Download the archive with the latest syslinux . Copy the following files from syslinux-5.01.zip to c:\RemoteInstall\smsboot\x86 the following files:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Additional files are needed to avoid such an error
    PXE rendszerindító menü a System Center Configuration Manager segítségével
  • A c:\RemoteInstall\smsboot\x86 rename pxelinux.0 be. pxelinux.com
    A mappában c:\remoteInstall\smsboot\x86 make a copy of abortpxe.com and rename it to abortpxe.0
    If you do not rename to the extension .0, then for example, the instruction
    Kernel abortpxe.com

    will be executed with an error: Booting kernel failed: Bad file number
    For PXELINUX, the boot file extension should be set according to the table.

    nincs vagy más	Linux kernel kép
     .0		PXE bootstrap program (NBP) [csak PXELINUX]
     .bin		"CD indító szektor" [csak ISOLINUX]
     .bs		Indító szektor [csak SYSLINUX]
     .bss		Indító szektor, DOS szuperblokk javítva lesz [csak SYSLINUX]
     .c32		COM32 kép (32-bites COMBOOT)
     .cbt		COMBOOT kép (nem futtatható DOS-ból)
     .com		COMBOOT kép (futtatható DOS-ból)
     .img		Lemezkép [csak ISOLINUX]
    

    Forrás: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file „Kernel fájl” szekció

  • Annak érdekében, hogy ne kelljen többször nyomkodni az F12 gombot a SCCM betöltésekor a menüből, nevezzük át a pxeboot.com-ot pxeboot.com.f12-re, másoljuk át a pxeboot.n12-t a pxeboot.com-ba
    Ha ezt nem tesszük meg, akkor választáskor minden alkalommal ezt az üzenetet kapjuk
    PXE rendszerindító menü a System Center Configuration Manager segítségével
    Megjegyzés: Ne felejtsük el átnevezni ezeket a fájlokat az x64 mappában is, mert amikor betöltődik x86wdsnbp.com az x86 mappából a betöltő az architektúrát és a következő fájlt már a megfelelő architektúrájú mappából tölt be. Így a x64-hez a következő fájl nem x86pxeboot.com, és x64pxeboot.com
  • Letöltjük/létrehozzuk background.png, 640x480 felbontással, átmásoljuk ugyanabba a mappába. Létrehozunk egy mappát ISO ahová az ISO képeket fogjuk elhelyezni. Létrehozunk egy mappát pxelinux.cfg a konfigurációkhoz.
  • A pxelinux.cfg mappában létrehozunk egy default nevű fájlt, nem Unicode kódolásban, a következő tartalommal
    default (Kattintson a megjelenítéshez)
    # используем графическое меню
    DEFAULT vesamenu.c32
    PROMPT 0
    timeout 80
    TOTALTIMEOUT 9000
    
    MENU TITLE PXE Boot Menu (x86)
    MENU INCLUDE pxelinux.cfg/graphics.conf
    MENU AUTOBOOT Starting Local System in 8 seconds
    
    # Boot local HDD (default)
    LABEL bootlocal
    menu label Boot Local
    menu default
    localboot 0x80
    # if it doesn't work 
    #kernel chain.c32
    #append hd0
    
    # Вход в меню по паролю Qwerty, алгоритм MD5
    label av
    menu label Antivirus and tools
    menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0
    kernel vesamenu.c32
    append pxelinux.cfgav.conf 
    
    label sccm
    menu label Start to SCCM
    COM32 pxechn.c32
    APPEND sccm2012.test.local::smsbootx86wdsnbp.com -W
    
    label pxe64
    menu label Start to x64 pxelinux
    COM32 pxechn.c32
    APPEND sccm2012.test.local::smsbootx64pxelinux.com
    
    LABEL Abort
    MENU LABEL Exit
    KERNEL abortpxe.0

    A mappában pxelinux.cfg létrehozunk egy fájlt graphics.conf a tartalommal
    graphics.conf (Kattintson a megjelenítéshez)

    MENU MARGIN 10
    MENU ROWS 16
    MENU TABMSGROW 21
    MENU TIMEOUTROW 26
    MENU COLOR BORDER 30;44 #00000000 #00000000 none
    MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none
    MENU COLOR TITLE 0 #ffffffff #00000000 none
    MENU COLOR SEL 30;47 #40000000 #20ffffff
    MENU BACKGROUND background.png
    NOESCAPE 0
    ALLOWOPTIONS 0

    A mappában pxelinux.cfg létrehozunk egy fájlt av.conf a tartalommal
    av.conf (Kattintson a megjelenítéshez)

    DEFAULT vesamenu.c32
    PROMPT 0
    MENU TITLE Antivirus and tools
    MENU INCLUDE pxelinux.cfg/graphics.conf
    
    label main menu
    menu label return to main menu
    kernel vesamenu.c32
    append pxelinux.cfg/default
    
    label drweb
    menu label DrWeb
    kernel memdisk
    append iso raw initrd=isodrweb.iso
    
    label eset
    menu label Eset
    kernel memdisk
    append iso raw initrd=isoeset_sysrescue.iso
    
    label kav
    menu label KAV Rescue CD
    KERNEL kav/rescue
    APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset quiet splash
    
    # ISO betöltése teljes úton, más TFTP-ről is betölthető
    label winpe
    menu label WinPE from another TFTP
    kernel sccm2012.test.local::smsbootx86memdisk
    append iso raw initrd=sccm2012.test.local::smsbootx86isoWinPE_RaSla.iso
    
    label clonezilla
    menu label Clonezilla
    kernel memdisk
    append iso raw initrd=isoclonezilla.iso
    
  • Ennek eredményeként a c:remoteinstallsmsbootx86 mappa tartalmazza a struktúrát

    c:\remoteInstall\smsboot\x86
    pxelinux.cfg

    chain.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    background.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    abortpxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    pxeboot.n12
    pxeboot.com
    abortpxe.com

    alapértelmezett
    av.conf
    graphics.conf
    *.iso

  • x64 architektúra esetén hasonlóan másoljuk és létrehozzuk ugyanezt a struktúrát a mappában c:remoteinstallsmsbootx64

Kiegészítés
A menü PASWORD parancs használatakor a jelszó megadható vagy az alapértelmezett formában, vagy a hash algoritmust használva a megfelelő aláírás hozzáadásával a paraméter elejére Algoritmus

SHA-1
Aláírás

: 0826bd11b2c130c4c8ac137e395ac2d4
$1$

SHA-2-256
$4$

SHA-2-512
$5$

Így a jelszó
$6$

Qwerty Qwerty és az MD5 algoritmus

menü PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Jelszót generálhatunk például online hash generátor segítségével www.insidepro.com/hashes.php?lang=hun, szöveg MD5(Unix)

2. PXELinux betöltés beállítása

Most megadjuk, hogyan kell betölteni a pxelinux.com-ot és megkapni a menüt.
A pxelinux.com betöltőprogram megadása WDS funkcióval nem működik az SCCM-ben. Az ilyen parancsok, mint

wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86

nem kerülnek feldolgozásra. Győződjön meg róla, hogy a betöltő képek nincsenek beállítva a WDS szerver konfigurációs kimenetét megjelenítő parancs végrehajtásával

wdsutil /get-server /show:images

PXE rendszerindító menü a System Center Configuration Manager segítségével
Így az SCCM 2012-ben nem lehet megadni a saját fájlt a PXE betöltéshez az SMSPXE szolgáltató számára. Ezért az aktív DHCP tartományt fogjuk beállítani.
Az aktív DHCP tartomány beállításaiban az alábbi táblázat szerint adjuk meg a paramétereket

DHCP opció
Paraméter neve
Value

066
Boot server host name
sccm2012.test.local

067
Bootfile name
smsbootx86pxelinux.com

006
DNS szerverek
192.168.57.10

015
DNS domain név
test.local

A 066 opcióban megadjuk a sccm szerver FQDN nevét, a 067 opcióban a pxelinux.com x86 betöltő útját a TFTP gyökérétől kezdve, a 006 opcióban pedig a DNS szerver IP-címét. Ha a 066 opcióban rövid név szerepel, akkor a 015 opcióban a DNS domain suffix-et kell megadnunk.

Kiegészítés
A DHCP beállítások részletes leírását adta mvgolubev itt. De a DC 150 opció, a TFTP-server IP-címe, hiányzott a DHCP zónabeállításokból, és a 150. opció netsh általi megadása nem működött.PXE rendszerindító menü a System Center Configuration Manager segítségével

3. A működés ellenőrzése

Alapvető beállítások befejeződtek, és lehet kezdeni az ellenőrzést. A tesztgépen a BIOS-ban a hálózati indítást kell megadni, és belépni a menübe
PXE rendszerindító menü a System Center Configuration Manager segítségével

Válassza a «Start to SCCM» elemet, és ha a számítógéphez fel van tüntetve a feladat sorozat, akkor egy idő után megjelenik a „Task Sequence Wizard” ablak, amely kéri a jelszó megadását.
PXE rendszerindító menü a System Center Configuration Manager segítségével

Indítsa újra a gépet, lépjen be újra a menübe, és válassza a «Antivirus and tools» elemet, és adja meg a jelszót. Qwerty
PXE rendszerindító menü a System Center Configuration Manager segítségével

Válasszon egy tetszőleges elemet, és figyelje meg az ISO kép betöltését a memóriába.
PXE rendszerindító menü a System Center Configuration Manager segítségével

Várjunk, és figyeljük az eredményeket.
PXE rendszerindító menü a System Center Configuration Manager segítségével

Az ellenőrzés befejeződött.
PXE rendszerindító menü a System Center Configuration Manager segítségével

4. További beállítások és jellemzők

A forgalomirányítás beállítása

Ha az ügyfél, a DHCP-szerver és a hálózati indítót tartalmazó szerver ugyanabban a hálózati szegmensben található, akkor nincs szükség további beállításokra. Ha viszont az ügyfél és a DHCP-szerver vagy a WDS/SCCM szerver különböző hálózati szegmensekben helyezkedik el, ajánlott a routereken beállítani a széles sávú csomagok továbbítását az ügyfél és a működő DHCP-szerver, valamint a WDS/SCCM szerver között. Az angol nyelvű szakirodalomban ezt a folyamatot „IP Helper table updates”-nak nevezik. Ebben az esetben az ügyfél, miután megkapta az IP címet, közvetlenül a DHCP csomagok segítségével lép kapcsolatba a hálózati indítót tartalmazó szerverrel, hogy letöltse azt.
Cisco routerek esetén a parancs

ip helper-address {ip address}

ahol {ip address} a DHCP-szerver vagy WDS/SCCM szerver címe. E parancs használata esetén az alábbi széles sávú UDP csomagok is továbbításra kerülnek

Port
Protokoll

69
TFTP

53
Domain Name System (DNS)

37
Időszolgáltatás

137
NetBIOS Név Szolgáltató

138
NetBIOS Datagram Szolgáltató

67
Bootstrap Protocol (BOOTP)

49
TACACS

A második módszer, amellyel az ügyfél közvetlenül információkat szerezhet a hálózati indítóról a DHCP szervertől, az opciók 60, 66, 67 megadása a DHCP szerveren. A 60-as DHCP paraméter használata a következő értékkel „PXEClient” minden DHCP hatókörben, csak abban az esetben, ha a DHCP-szerver ugyanazon a szerveren helyezkedik el, mint a Windows telepítési szolgáltatások. Ilyen esetben az ügyfél közvetlenül a Windows telepítési szolgáltatások szerverével lép kapcsolatba TFTP protokollon keresztül az UDP 4011-es portján, nem pedig DHCP használatával. E módszert a Microsoft nem ajánlja a terheléselosztással, a DHCP paraméterek helytelen kezelésével, valamint a Windows telepítési szolgáltatások válaszparamétereivel kapcsolatos problémák miatt az ügyfél oldalán. Továbbá, mert csupán a 66 és 67 DHCP opciók használata lehetővé teszi a hálózati indító szerveren megadott paraméterek megkerülését.
Nyitnia kell a következő UDP portokat a Windows telepítési szolgáltatások szerverén is
67-es port (DHCP)
69-es port (TFTP)
4011-es port (PXE)
és a 68-as port, ha DHCP-engedélyezés szükséges a szerveren.

A konfigurációs folyamat részletesebben és a különböző WDS szerverek közötti irányítással kapcsolatos finomságok az alábbi forrásokban találhatók:
Hálózati indító programok kezelése http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Szerver kezelése http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Microsoft Product Support Services (PSS) szolgáltatási határok a Microsoft Windows Előtelepítési Környezet (Windows PE) 2.0 hálózati indításához http://support.microsoft.com/kb/926172/en-us
Hogyan kell továbbítani a UDP széles sávú forgalmat (BOOTP / DHCP) Cisco eszközökön http://www.cisco-faq.com/163/forward_udp_broadcas.html
A DHCP működésének és beállításának jellemzői Cisco routereken (2. rész) http://habrahabr.ru/post/89997/

További lehetőségek a helyi indításhoz

A tesztkörnyezetben a parancs

localboot 0

például ilyen hibát ad
PXE rendszerindító menü a System Center Configuration Manager segítségével
A syslinux dokumentációja szerint

localboot 0

a rendszer indítása helyi lemezről fog megtörténni. Egy adott 0x00 érték megadása esetén az első (primary) floppy lemezről, 0x80 érték megadása esetén az első (primary) merevlemezről. A parancs módosításával

localboot 0x80

a helyi operációs rendszer elindult.
Ha szükséges az indítás egy konkrét lemezről, partícióról vagy parancsról, localboot nem működik, akkor a modul lehetőségeit kell igénybe venni. chain.c32A betöltés után, az append paranccsal meg kell adni a konkrét lemezt vagy partíciót, a lemezek számozása 0-tól kezdődik, a partíciók számozása 1-től, mivel a 0-s partíció megadása esetén az MBR töltődik be. Lehetőség van a partíció kihagyására.

KERNEL chain.c32
APPEND hd0 0

vagy

KERNEL chain.c32
APPEND hd0

Források: http://www.syslinux.org/wiki/index.php/SYSLINUX#LOCALBOOT_type_.5BISOLINUX.2C_PXELINUX.5D
http://www.gossamer-threads.com/lists/syslinux/users/7127

A fájlok indításának sorrendje és leírása PXE-n keresztül

Mint ahogy a cikk elején már említettük, a könyvtár, ahol a WDS indítófái találhatók, a RootFolder regisztráló ágban lévő paraméterben található HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WDSServer\Providers\WDSTFTP
Alapértelmezett érték C:\RemoteInstall
Itt a paraméternél ReadFilter fel vannak tüntetve azok a könyvtárak, ahol a TFTP szerver a fájlokat keresi az indításhoz, kezdve a gyökérből. A SCCM 2012 SP1 telepítésekor ez a paraméter

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Ha a paraméter értékét megváltoztatjuk, akkor * minden fájlt feldolgoznak, ami a RemoteInstall könyvtárban található..

Az SCCM 2012 telepítési pont szerepe a következő regisztráló paraméterben van rögzítve ProvidersOrder, ami a következő ágon található HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
A parameter ProvidersOrder értékei lehetnek

SMSPXE
a PXE kiszolgáló a SCCM-ben

SMS.PXE.Filter
MDT-ből származó PXE szkript kezelő (Microsoft Deployment Toolkit)

BINLSVC
A WDS és RIS alapértelmezett kezelője

A SCCM telepítésekor a paraméter ProvidersOrder értéke SMSPXE. A paraméter módosításával a szolgáltatók betöltésének sorrendje módosítható.

A mappa RemoteInstall könyvtárban található. a következő alapértelmezett fájlok találhatók

wdsnbp.com

A hálózati indító program, amely a Windows telepítési szolgáltatásokhoz készült, és a következő feladatokat látja el:
1. Az architektúra észlelése.
2. Várakozó számítógépek kiszolgálása. Amikor az automatikus hozzáadás politikája be van kapcsolva, ez a hálózati indító program elküldésre kerül a várakozó számítógépeknek, hogy leállítsák a hálózati indítást, és tájékoztassák a szervert a kliens számítógép architektúrájáról.
3. A hálózati indítási hivatkozások használata (beleértve a DHCP protokoll 66 és 67 paraméterek alkalmazását)

PXEboot.com

(Alapértelmezetten) Megköveteli, hogy a felhasználó megnyomja az F12 billentyűt a hálózati indítás folytatásához.

PXEboot.n12

Nem igényel F12 billentyű lenyomását a felhasználótól, és azonnal megkezdi a hálózati betöltést

AbortPXE.com

A számítógép a BIOS következő betöltési elemével indul el várakozás nélkül

Bootmgr.exe

A Windows betöltő kezelője (Bootmgr.exe vagy Bootmgr.efi). A Windows betöltőt a lemez egy meghatározott partíciójáról vagy hálózati kapcsolaton keresztül (hálózati betöltés esetén) indítja el a beépített szoftver segítségével.

Bootmgfw.efi

Az EFI verziója a PXEboot.com és PXEboot.n12 programoknak (EFI alatt a PXE betöltésének engedélyezése vagy letiltása az EFI shellben történik, nem a hálózati betöltő program által). A Bootmgfw.efi integrálja a PXEboot.com, PXEboot.n12, abortpxe.com és bootmgr.exe funkcióit. Jelenleg csak x64 és Itanium architektúrákhoz érhető el.

Default.bcd

A betöltési konfigurációs adatbázis (BCD), REGF formátumú, REGEDIT-be betölthető, a Boot.ini szöveges fájlt helyettesíti.

A betöltés a fenti leírásnak megfelelően a következő sorrendben történik.
1. A wdsnbp.com tölti be.
2. Ezután a megfelelő architektúrájú pxeboot.com töltődik be.
3. A PXEBoot.com betölti a bootmgr.exe fájlt és a betöltési konfigurációs adatbázist (BCD).
4. A Bootmgr.exe olvassa a betöltési konfigurációnak megfelelő operációs rendszer fájljait a BCD-ből, és betölti a Boot.sdi fájlt és a Windows PE képet (boot.wim).
5. A Bootmgr.exe elindítja a Windows PE betöltését, a Winload.exe elérve a Windows PE képből.

Ha a RemoteInstall könyvtárban található. mappák léteznek

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

a létezésük azt jelenti, hogy a SCCM 2012 terjesztési pont szerepkörének (SCCM 2007 PXE szolgáltatási pontjának) hozzáadása előtt valamilyen konfigurációs lépés történt a Windows Deployment Services (WDS) telepítése során, amely automatikusan létrehozta ezeket a mappákat.
A terjesztési pont szerepkörhöz (SCCM 2007 PXE szolgáltatási pontjához) elegendő csak a következő mappák.

SMSBoot
SMSIMAGES
SMSTemp
Stores

Ez nem jelenti azt, hogy a SCCM helytelenül van telepítve, de jelezheti a hibák lehetséges forrását.
A WDS, SCCM és PXE közt jelentkező problémák részletes megoldását a cikkben találja. Hibaelhárítás a PXE Szolgáltató Pont és WDS esetén a Configuration Manager 2007-ben

Result

A System Center Configuration Manager által irányított IT-infrastruktúrában új eszköz került bevezetésre a helyi rendszergazdák számára.

ISO képek linkjeinek listája (Kattintson a megjelenítéshez)download.f-secure.com/estore/rescue-cd-3.16-52606.iso
git.ipxe.org/releases/wimboot/wimboot-latest.zip
download.geo.drweb.com/pub/drweb/livecd/drweb-livecd-602.iso
rescuedisk.kaspersky-labs.com/rescuedisk/updatable/kav_rescue_10.iso
esetsupport.ru/eset_sysrescue.iso
boot.ipxe.org/ipxe.iso
citylan.dl.sourceforge.net/project/clonezilla/clonezilla_live_alternative/20130226-quantal/clonezilla-live-20130226-quantal-i386.iso
ftp.rasla.ru/_Distr_/WinPE/RaSla/WinPE_RaSla.iso
www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.zip

Köszönöm a figyelmet!
PXE rendszerindító menü a System Center Configuration Manager segítségével

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster