Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Rozważamy rozszerzenie możliwości System Center Configuration Manager (produkt do zarządzania infrastrukturą IT) podczas uruchamiania komputerów użytkowników przez sieć przy użyciu środowiska PXE. Tworzymy menu startowe w oparciu o PXELinux z funkcjonalnością System Center oraz dodajemy skany antywirusowe, obrazy diagnostyczne i przywracające. Na końcu artykułu poruszamy funkcje programu System Center 2012 Configuration Manager w połączeniu z Usługami wdrażania systemu Windows (WDS) podczas uruchamiania przez środowisko PXE.

Wszystkie czynności wykonujemy na środowisku testowym, które ma już zainstalowany System Center 2012 Configuration Manager SP1, kontroler domeny i pewną liczbę maszyn testowych. Zakłada się, że program SCCM jest już wdrażany w sieci przy użyciu środowiska PXE.

Wejście

Środowisko testowe składa się z kilku maszyn wirtualnych. Wszystkie maszyny mają zainstalowany system gościa Microsoft Windows Server 2008 R2 (x64), kartę sieciową E1000, kontroler SCSI: LSI Logic SAS

Imię (role)
Adres IP / nazwa DNS
Funkcjonalne

SCCM (Menedżer konfiguracji Centrum Systemu)
192.168.57.102
sccm2012.test.lokalny

Zainstalowany System Center Configuration Manager 2012 SP1

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

Rola kontrolera domeny, serwera DHCP i serwera DNS

TEST (maszyna testowa)
192.168.57.103
test.test.lokalny

Dla testów

GW (brama)
192.168.57.1
Routing między sieciami. Rola bramy

1. Dodaj PXELinux do SCCM

Wykonujemy akcje na maszynie, na której zainstalowany jest System Center Configuration Manager

  • Określmy katalog, w którym znajdują się pliki WDS do pobrania, w tym celu szukamy w rejestrze wartości parametru RootFolder w oddziale HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
    Domyślna wartość C:RemoteInstall
    Pliki do pobrania z punktu wdrażania programu SCCM znajdują się w katalogach smsbootx86 и smsbootx64 w zależności od architektury.
    Najpierw skonfiguruj domyślnie katalog dla architektury 32-bitowej c:Remoteinstallsmsbootx86
  • Pobierz archiwum z najnowszym syslinux . Skopiuj z syslinux-5.01.zip do c:Remoteinstallsmsbootx86 następujące pliki:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    Aby uniknąć takiego błędu, potrzebne są dodatkowe pliki.
    Menu rozruchu środowiska PXE z programem System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 Przemianować pxelinux.0 в pxelinux.com
    W folderze c:remoteinstallsmsbootx86 Zrób kopię abortpxe.com i zmień jego nazwę na abortpxe.0
    Jeśli nie, zmień nazwę na rozszerzenie .0, a następnie na przykład instrukcja

    Kernel abortpxe.com

    zakończy się niepowodzeniem z następującym błędem: Uruchamianie jądra nie powiodło się: zły numer pliku
    Dla PXELINUX należy ustawić rozszerzenie pliku do pobrania zgodnie z tabliczką

    none or other	Linux kernel image
     .0		PXE bootstrap program (NBP) [PXELINUX only]
     .bin		"CD boot sector" [ISOLINUX only]
     .bs		Boot sector [SYSLINUX only]
     .bss		Boot sector, DOS superblock will be patched in [SYSLINUX only]
     .c32		COM32 image (32-bit COMBOOT)
     .cbt		COMBOOT image (not runnable from DOS)
     .com		COMBOOT image (runnable from DOS)
     .img		Disk image [ISOLINUX only]
    

    Źródło: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file Sekcja pliku jądra

  • Aby nie naciskać kilka razy klawisza F12 podczas ładowania SCCM przez menu, zmień nazwę pxeboot.com na pxeboot.com.f12, skopiuj pxeboot.n12 do pxeboot.com
    Jeśli tego nie zrobimy, to przy wyborze za każdym razem otrzymamy taki komunikat
    Menu rozruchu środowiska PXE z programem System Center Configuration Manager
    Uwaga: nie zapomnij zmienić nazwy tych plików również w folderze x64. kiedy się ładuje x86wdsnbp.com z folderu x86 program ładujący określa architekturę procesora iz folderu z odpowiednią architekturą ładowany jest następny plik. Tak więc dla x64 kolejny plik nie będzie x86pxeboot.comI x64pxeboot.com
  • Pobierz / utwórz tło.png, rozdzielczość 640x480, skopiuj do tego samego folderu. Utwórz folder ISO gdzie umieścimy obrazy ISO. Utwórz folder pxelinux.cfg dla konfiguracji.
  • W folderze pxelinux.cfg utwórz plik domyślny, w kodowaniu innym niż Unicode, z zawartością
    domyślny (kliknij, aby wyświetlić)

    # используем графическое меню
    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

    W folderze pxelinux.cfg utwórz plik graphics.conf z treścią
    graphics.conf (kliknij, aby wyświetlić)

    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

    W folderze pxelinux.cfg utwórz plik av.conf z treścią
    av.conf (kliknij, aby wyświetlić)

    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 по полному пути, можно загружать с другого TFTP
    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
    
  • W rezultacie katalog c:remoteinstallsmsbootx86 zawiera strukturę

    c:remoteinstallsmsbootx86
    pxelinux.cfg

    łańcuch.c32
    dllinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    tło.png
    pxelinux.cfg
    pxelinux.cfg
    pxelinux.cfg
    ISO
    przerwać pxe.0
    wdsnbp.com
    bootmgfw.efi
    wdsmgfw.efi
    bootmgr.exe
    kseboot.n12
    pxeboot.com
    abortpxe.com

    domyślnym
    śr.konf
    grafika.konf
    *.iso

  • W przypadku architektury x64 podobnie kopiujemy i tworzymy tę samą strukturę w folderze c:remoteinstallsmsbootx64

Dodatek
Podczas korzystania z polecenia menu PASSWD hasło można ustawić tak, jak jest, lub użyć algorytmu mieszania, dodając odpowiednią sygnaturę na początku parametru

Algorytm
Podpis

MD5
$ $ 1

SHA-1
$ $ 4

SHA-2-256
$ $ 5

SHA-2-512
$ $ 6

Tak dla hasła Qwerty i algorytm MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

Możesz wygenerować hasło, na przykład za pomocą internetowego generatora skrótów www.insidepro.com/hashes.php?lang=rus, linia MD5(Unix)

2. Skonfiguruj rozruch PXELinux

Teraz wskażemy, jak załadować pxelinux.com i uzyskać menu.
Określenie bootloadera pxelinux.com za pomocą funkcji WDS nie działa w SCCM. Wyświetl polecenia

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

nie są przetwarzane. Można sprawdzić, czy obrazy rozruchowe nie są ustawione, uruchamiając polecenie konfiguracji wyjściowego serwera WDS

wdsutil /get-server /show:images

Menu rozruchu środowiska PXE z programem System Center Configuration Manager
Dlatego w programie SCCM 2012 nie można określić pliku do pobrania w środowisku PXE u dostawcy SMSPXE. Dlatego skonfigurujemy aktywny obszar serwera DHCP.
W parametrach obszaru aktywnego DHCP ustawić parametry zgodnie z tabliczką

opcja DHCP
Nazwa parametru
Wartość

066
Nazwa hosta serwera rozruchowego
sccm2012.test.lokalny

067
Nazwa pliku rozruchowego
smsbootx86pxelinux.com

006
Serwery DNS
192.168.57.10

015
Nazwa domeny DNS
test.lokalny

W opcji 066 podajemy nazwę FQDN serwera sccm, w opcji 067 podajemy ścieżkę do bootloadera x86 pxelinux.com zaczynając od katalogu głównego TFTP, w opcji 006 podajemy adres IP serwera DNS. Jeśli w opcji 066 używana jest krótka nazwa serwera, w opcji 015 określamy sufiks DNS domeny.

Dodatek
Bardziej szczegółowo opisano konfigurację DHCP mvgolubiew tutaj. Ale dalej DC w ustawieniach zakresu DHCP brakowało opcji 150, adres IP serwera TFTP, a określenie opcji 150 przez netsh nie zadziałało.Menu rozruchu środowiska PXE z programem System Center Configuration Manager

3. Sprawdzanie pracy

Podstawowe ustawienia zostały zakończone i możesz rozpocząć sprawdzanie. Wskazujemy na komputerze testowym w systemie BIOS, który jest ładowany przez sieć i ładowany do menu
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Wybierz element «Start to SCCM» a jeśli sekwencja zadań jest przypisana do komputera, to po chwili pojawi się okno „Kreator sekwencji zadań” z monitem o podanie hasła
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Ponownie uruchamiamy maszynę, wracamy do menu, wybieramy w menu «Antivirus and tools» i wprowadź hasło Qwerty
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Wybieramy dowolny element i obserwujemy ładowanie obrazu ISO do pamięci
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Czekam i patrzę na wynik
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Weryfikacja zakończona
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

4. Dodatkowe ustawienia i funkcje

Konfiguracja routingu

Jeśli klient, serwer DHCP i serwer zawierający program ładujący sieci znajdują się w tym samym segmencie sieci, nie jest wymagana żadna dodatkowa konfiguracja. Jeśli jednak klient i serwer DHCP lub serwer WDS/SCCM znajdują się w różnych segmentach sieci, zaleca się skonfigurowanie routerów w taki sposób, aby przesyłały pakiety emisji od klienta do aktywnego serwera DHCP i aktywnego serwera WDS/SCCM. W literaturze angielskiej ten proces jest znany jako „Aktualizacje tabeli pomocy IP”. W takim przypadku klient po uzyskaniu adresu IP kontaktuje się bezpośrednio z serwerem zawierającym program ładujący sieci bezpośrednio poprzez pakiety DHCP w celu pobrania programu sieciowego.
W przypadku routerów Cisco użyj polecenia

ip helper-address {ip address}

gdzie {ip address} Adres serwera DHCP lub serwera WDS/SCCM. To polecenie wysyła również następujące pakiety emisji UDP

Port
Protokół

69
TFTP

53
System nazw domen (DNS)

37
Usługa czasu

137
Serwer nazw NetBIOS

138
Serwer datagramów NetBIOS

67
Protokół Bootstrap (BOOTP)

49
Tacacs

Drugą metodą uzyskiwania przez klienta informacji o ładowarce sieciowej bezpośrednio z serwera DHCP jest określenie opcji 60,66,67 na serwerze DHCP. Korzystanie z opcji DHCP 60 z wartością «PXEClient» do wszystkich zakresów DHCP, tylko jeśli serwer DHCP jest hostowany na tym samym serwerze co Usługi wdrażania systemu Windows. W takim przypadku klient komunikuje się bezpośrednio z serwerem Usług wdrażania systemu Windows przy użyciu protokołu TFTP na porcie UDP 4011 zamiast przy użyciu protokołu DHCP. Ta metoda nie jest zalecana przez firmę Microsoft ze względu na problemy z równoważeniem obciążenia, nieprawidłową obsługę opcji DHCP i opcji odpowiedzi Usług wdrażania systemu Windows po stronie klienta. A także dlatego, że użycie tylko dwóch opcji DHCP 66 i 67 pozwala ominąć parametry ustawione na sieciowym serwerze rozruchowym.
Należy również otworzyć następujące porty UDP na serwerze Usług wdrażania systemu Windows
port 67 (DHCP)
port 69 (TFTP)
port 4011 (PXE)
i port 68, jeśli na serwerze wymagana jest autoryzacja DHCP.

Bardziej szczegółowo proces konfiguracji i niuanse przekierowania między różnymi serwerami WDS opisano poniżej w źródłach:
Zarządzanie sieciowym programem rozruchowym http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
Zarządzanie serwerem http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
Granice wsparcia usług pomocy technicznej firmy Microsoft (PSS) dla rozruchu sieciowego Środowisko preinstalacji systemu Microsoft Windows (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
Jak przekazać transmisję UDP (BOOTP / DHCP) w Cisco http://www.cisco-faq.com/163/forward_udp_broadcas.html
Cechy działania i konfiguracji DHCP na routerach Cisco (część 2) http://habrahabr.ru/post/89997/

Dodatkowe opcje pobierania lokalnego

W środowisku testowym polecenie

localboot 0

podaje ten błąd
Menu rozruchu środowiska PXE z programem System Center Configuration Manager
Z dokumentacji syslinux wynika, że ​​kiedy

localboot 0

ładowanie będzie odbywać się z dysku lokalnego. A przy określaniu określonej wartości 0x00 z podstawowej (podstawowej) dyskietki, przy określaniu 0x80 z podstawowego (podstawowego) dysku twardego. Zmieniając polecenie na

localboot 0x80

załadował się lokalny system operacyjny.
Jeśli istnieje potrzeba rozruchu z określonego dysku, partycji lub polecenia localboot nie działa, to możesz skorzystać z możliwości modułu chain.c32. Po załadowaniu użyj polecenia append, aby określić konkretny dysk lub partycję dysku, numeracja dysków zaczyna się od 0, numeracja partycji zaczyna się od 1. jeśli określona jest partycja 0, ładowany jest MBR. Podczas określania dysku można pominąć partycję.

KERNEL chain.c32
APPEND hd0 0

lub

KERNEL chain.c32
APPEND hd0

Źródła: http://www.syslinux.org/wiki/index.php/SYSLINUX#LOCALBOOT_type_.5BISOLINUX.2C_PXELINUX.5D
http://www.gossamer-threads.com/lists/syslinux/users/7127

Kolejność i opis pobierania plików przez PXE

Jak wspomniano na początku artykułu katalog, w którym znajdują się pliki WDS do pobrania zawarty jest w wartości parametru RootFolder w oddziale rejestru HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Domyślna wartość C:RemoteInstall
Tutaj w parametrze ReadFilter katalogi są określone, w których serwer TFTP szuka plików do pobrania, zaczynając od katalogu głównego. Po zainstalowaniu programu SCCM 2012 z dodatkiem SP1 to ustawienie jest

boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages*

Jeśli zmienisz wartość parametru na * wtedy wszystkie pliki znajdujące się w katalogu zostaną przetworzone RemoteInstall.

Rola punktu wdrażania programu SCCM 2012 jest określona w wartości rejestru ProvidersOrderznajduje się w oddziale HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parametr ProvidersOrder może przyjmować wartości

SMSPXE
Punkt usługi PXE w SCCM

Filtr SMS.PXE
Program obsługi skryptów PXE z MDT (Microsoft Deployment Toolkit)

BINLSVC
Standardowy silnik WDS i RIS

Po zainstalowaniu programu SCCM parametr ProvidersOrder sprawy SMSPXE. Zmieniając parametr, możesz zmienić kolejność ładowania dostawców.

W katalogu RemoteInstall znajdują się następujące standardowe pliki

wdsnbp.com

Sieciowy program rozruchowy przeznaczony dla Usług wdrażania systemu Windows, który wykonuje następujące zadania:
1. Wykrywanie architektury.
2. Konserwacja oczekujących komputerów. Gdy zasada automatycznego dodawania jest włączona, ten sieciowy program rozruchowy jest wysyłany do komputerów oczekujących w celu zawieszenia rozruchu sieciowego i poinformowania serwera o architekturze komputera klienckiego.
3. Korzystanie z sieciowych łączy rozruchowych (w tym z wykorzystaniem opcji DHCP 66 i 67)

PXEboot.com

(Domyślnie) Wymaga od użytkownika naciśnięcia klawisza F12, aby kontynuować rozruch sieciowy

PXEboot.n12

Nie wymaga od użytkownika naciskania klawisza F12 i natychmiast rozpoczyna uruchamianie sieciowe

AbortPXE.com

Uruchamia komputer przy użyciu następnego elementu rozruchowego w systemie BIOS bez czekania

Bootmgr.exe

Menedżer rozruchu systemu Windows (Bootmgr.exe lub Bootmgr.efi). Ładuje program ładujący Windows za pomocą oprogramowania układowego z określonej partycji dysku lub przez połączenie sieciowe (w przypadku rozruchu sieciowego)

Bootmgfw.efi

Wersja EFI PXEboot.com i PXEboot.n12 (w EFI wybór uruchamiania lub nie uruchamiania PXE jest w powłoce EFI, a nie w sieciowym programie rozruchowym). Bootmgfw.efi łączy w sobie możliwości PXEboot.com, PXEboot.n12, abortpxe.com i bootmgr.exe. Obecnie istnieje tylko dla architektur x64 i Itanium.

Domyślny.bcd

Magazyn danych konfiguracji rozruchu (BCD), format REGF, można załadować do REGEDIT, zastępuje plik tekstowy Boot.ini

Ładowanie odbywa się w następującej kolejności, jak opisano powyżej
1. Pobierz wdsnbp.com.
2. Następnie ładowany jest plik pxeboot.com o odpowiedniej architekturze
3. PXEBoot.com pobiera plik bootmgr.exe i magazyn danych konfiguracji rozruchu BCD
4. Bootmgr.exe odczytuje wpisy danych konfiguracji rozruchu BCD systemu operacyjnego i ładuje plik Boot.sdi oraz obraz Windows PE (boot.wim)
5. Program Bootmgr.exe rozpoczyna ładowanie systemu Windows PE, uzyskując dostęp do narzędzia Winload.exe w obrazie systemu Windows PE

Jeśli jest RemoteInstall są foldery

Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend

ich obecność oznacza, że ​​przed dodaniem roli punktu dystrybucji w SCCM 2012 (punkty usług PXE w SCCM 2007) na zainstalowanych Usługach wdrażania systemu Windows (WDS) wykonano pewne działania konfiguracyjne, które automatycznie utworzyły te foldery.
W przypadku roli punktu dystrybucji (punkt usługi PXE w programie SCCM 2007) wystarczą tylko następujące foldery

SMSBoot
SMSIMAGES
SMSTemp
Stores

Nie oznacza to, że program SCCM jest zainstalowany nieprawidłowo, ale może wskazywać na możliwe źródło błędów.
Rozwiązanie różnych problemów pakietu WDS, SCCM i PXE zostało szczegółowo omówione w artykule. Rozwiązywanie problemów z PXE Service Point i WDS w Configuration Manager 2007

Łączny

Infrastruktura IT zarządzana przez System Center Configuration Manager dodała nowe narzędzie dla administratorów systemów terenowych.

Lista linków do obrazów ISO (kliknij, aby wyświetlić)pobierz.f-secure.com/estore/rescue-cd-3.16-52606.iso
git.ipxe.org/releases/wimboot/wimboot-latest.zip
pobierz.geo.drweb.com/pub/drweb/livecd/drweb-livecd-602.iso
Rescuedisk.kaspersky-labs.com/rescuedisk/updatable/kav_rescue_10.iso
esetsupport.com/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

Dziękuję za uwagę!
Menu rozruchu środowiska PXE z programem System Center Configuration Manager

Źródło: www.habr.com

Dodaj komentarz