ProHoster > Blog > administracja > 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.
В 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]
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 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ę
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
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
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 mvgolubiewtutaj. 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.
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
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
Ponownie uruchamiamy maszynę, wracamy do menu, wybieramy w menu «Antivirus and tools» i wprowadź hasło Qwerty
Wybieramy dowolny element i obserwujemy ładowanie obrazu ISO do pamięci
Czekam i patrzę na wynik
Weryfikacja zakończona
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.
ł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ę.
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