W przypadku awarii czy też braku napędu DVD lub CD w komputerze , a także braku innej mozliwości wgrania plików instalacyjnych systemu operacyjnego bezpośrednio na dysk, (gdy np nie mamy złącza USB w komputerze w celu podlączenia pendrive'a, a komputer dodatkowo jest na gwarancji i posiada zaplombowaną obudowę i nie możemy wyciągnąć z niego dysku twardego) jedyną możliwością jest uruchomienie badź zainstalowanie oprogramowania z sieci przez PXE boot . Rozwiązanie to się nazywa PXE czyli Preboot Execution Enviroment, i pozwala nam na zdalne uruchomienie sytemów operacyjnych.
Jest parę sposobów na instalację Windowsa XP przez sieć. Najłatwiejszy z nich to instalacja Windowsa XP z serwera opartego na Windows 2000 bądź Windows 2003, które mają wbudowaną Usługę Instalacji Zdalnej czyli RIS (Remote Installation Services). Kolejny sposób to Winner Project przedstawiony pod adresem http://winner.windowsdream.com/winner.html . Umożliwia on dostosowanie instalki Windowsa XP do własnych potrzeb. Możemy dodać Service Packi, sterowniki, a dostępny na stronie winnera DVD Generator utworzy nam płytę instalacyjną według naszych upodobań, która można potem wczytać przez sieć lokalną.
Jednak my zrobimy to inaczej, potrzebna bedzie orginalna płytka Windowsa XP Professional SP3 (na innych nie sprawdzałem), no i oczywiscie licencja na instalacje na dany komputer. Jako serwera użyjemy Wndows XP z zainstalowanym programem Tftpd32, służącym nam jako serwer DHCP i TFTP. Można też bez problemu jako serwer wykorzystać Linuxa. Od razu zakładam, że masz już skonfigurowany program Tftpd32, jesli nie to musisz się cofnąc tutaj
Konfiguracja SERWERA
Utwórzmy w katalogu C:\tftp folder o nazwie winxp. Następnie kopiujemy katalog I386 z plyty CD z Windowsem XP do katalogu c:\tftp\winxp.
Kolejną rzeczą jest skopiowanie plików SETUPLDR.EX_ , STARTROM.N1_ , NTDETECT.COM oraz BOOTFONT.BIN z c:\tftp\winxp\I386 do katalogu c:\tftp. Te 3 pierwsze pliki potrzebne są do poprawnego startu instalatora, ten ostatni zaś do obsługi polskich znaków podczas instalacji.
Otwieramy konsolę Menu Start => Uruchom... i wpisujemy cmd
Przechdzimy do katalogu c:\tftp
cd c:\tftp
Ponieważ pliki SETUPLDR.EX_ i STARTROM.N1_ są spakowane w microsoftowskim formacie CAB użyjemy standardowo dostępnego w Windowsie programu expand do rozpakowania ich:
expand -r C:\tftp\SETUPLDR.EX_
expand -r C:\tftp\STARTROM.N1_
Pojawią się nam dwa dodatkowe pliki startrom.n12 i setupldr.exe. Zmieniamy nazwę rozpakowanych plików startrom.n12 na startrom.0 (zero), a setupldr.exe na ntldr
rename setupldr.exe ntldr
rename startrom.n12 startrom.0
Po wykonaniu tych czynności możemy skasowac pliki SETUPLDR.EX_ i STARTROM.N1_ z katalogu c:\tftp
Tworzymy także w katalogu c:\tftp plik winnt.sif i wklejamy do niego podobną zawartość, oczywiście wpisując w SetupSourceDevice i OsiSrc adres IP swojego serwera TFTP, na któym mamy pliki instalacyjne Windowsa. Zamiast IP można wpisać nazwę komputera.
[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\192.168.0.2\tftp\winxp"
[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
OriSrc = "\\192.168.0.2\tftp\winxp\I386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1
AutoPartition=0
[UserData]
; ProductID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
ComputerName="*"
Teraz ściągnijmy BINL (Boot Information Negotiation Layer) ze strony http://oss.netfarm.it/guides/. Plik nazywa się ris-linux-0.4.tar.gz. Po ściągnięciu rozpakujmy archiwum do dowolnego katalogu. Następnie utwórzmy katalog c:\binl i skopiujemy tam pliki binlserv.py i infparser.py. W Katalogu c:\binl utwórzmy jeszcze dwa podkatalogi inf i drivers.
Potrzebujemy także Pythona do pobrania stad http://www.python.org/download/ Pobieramy wersję pod windows, (ja testowałem całosć na wersji 2.7.1) i ją instalujemy.
Aby instalacja Windowsa przez sieć przebiegła poprawnie potrzebujemy także sterowniki do karty sieciowej zainstalowanej na komputerze klienta. Najlepiej ściągnąć sterowniki ze strony producenta naszej karty sieciowej. Pliki *.sys badż *.sy_(zależy od producenta karty sieciowej) kopiujemy do katalogi c:\binl\drivers zas pliki *.inf do katalogu c:\binl\inf. Gdy mamy już skopowiane drivery, uruchamiamy kosolę Menu Start => Uruchom => cmd i przechodzimy do katalogu c:\binl
cd c:\binl
i tworzymy baze sterowników dla binlsrv
infparser.py c:\binl\inf
powinnismy otrzymac informacje o prawidlowym skompilowaniu sterowników
Nastepnie uruchamiamy w konsoli binlsrv.py, który nasłuchuje i odpowiada na żądania klientów DHCP
binlsrv.py
Po uruchomieniu otrzymamy informację prawidłowym wczytaniu sterowników
Kolejna sprawa to skopiowanie pliku, lub plików z rozszerzeniem *.sys badż *.sy_ z katalogu c:\binl\drivers do katalogu c:\tftp\winxp\I386
Następną rzeczą jest udostępnienie katalogu c:\tftp przez protokół SMB. Klikamy prawym przyciskiem myszy na katalogu i wybieramy Właściwości, i pojawi się nam okno w którym zaznaczmy Udostępnij ten folder w sieci i klikamy na Zastosuj.
Następnie ściągnijmy syslinuxa ze strony http://www.kernel.org/pub/linux/utils/boot/syslinux/
Rozpakujmy ściągnięte archiwum do dowolnego katalogu np. przy pomocy Winrara. po czym skopiujmy pliki pxelinux.0, vesamenu.c32, chain.c32 i reboot.c32 do katalogu c:\tftp:
1. pxelinux.0 z katalogu \core do katalogu c:\tftp
2. vesamenu.c32 z katalogu \com32\menu do c:\tftp
3. chain.c32 z katalogu \com32\modules do c:\tftp
4. reboot.c32 z katalogu \com32\modules do c:\tftp
Następnie utwórzmy w katalogu c:\tftp katalog o nazwie pxelinux.cfg, po czym w katalogu c:\tftp\pxelinux.cfg utwórzmy plik o nazwie default z taką zawartością:
default vesamenu.c32
prompt 0
timeout 300
MENU TITLE PXE Menu
label Instalacja Windows XP
MENU LABEL Instalacja Windows XP
KERNEL startrom.0
label Uruchomienie z lokalnego dysku twardego
MENU LABEL Uruchomienie z lokalnego dysku twardego
com32 chain.c32
label Reboot
MENU LABEL Restart
com32 reboot.c32
Po tych wszystkich operacjach nasz folder c:\tftp będzie zawierał:
Konfiguracja klienta:
Jeśli chodzi o komputer kliencki czyli ten, na którym będziemy instalowali Windowsa jedyną potrzebną rzeczą jest zmienienie w BIOSIE kolejności bootowania i ustawienie jako piewsze uruchamianie z sieci.
Najczęstsze błedy:
1)brak pliku ntldr w katalogu c:\tftp i napis
TFTP Failed.
lub
2) brak pliku ntdetect.com, i ciągly restart sytemu
3) Gdy nie utworzymy pliku winnt.sif w katalogu c:\tftp podczas instalacji wyświetli się nam błąd, o braku tego pliku.
4) Również zobaczymy błąd gdy wstawimy błędną ściezke w SetupSourceDevice w pliku winnnt.sif, instalator poinformuje nas o braku pliku txtsetup.sif.
5)brak uruchomionego binlsrv.py (Instalacja zatrzyma się na unsupdrv.inf)
4)użycie nieodpowiednich sterowników dla binlsrv (Instalacja zatrzyma się na unsupdrv.inf)
a w konsoli binlsrv wyswietli sie nam Driver not found
5) nieskopiwanie plikow .sys badz _.sy_ z katalogu c:\binl\drivers do katalogu c:\tftp\winxp\I386
6)brak udostepnionego katalogu c:\tftp. Instalacja zatrzyma się na wczytywaniu pliku mrxsmb.sy_ a my ciągle bedziemy obserwali ekran
Comments
oto ostatnia linia z logu Tftp32:
: sent 153 blks, 218413 bytes in 1 s. 0 blk resent [22/01 17:47:18.046]
A swoją drogą to b. dobry tutorial!
PXE-E51: No DHCP or proxyDHCP offers were received.
PXE-M0F: Exiting PXE ROM
Co z tym zrobić?
gdzie i co zmienić?
pula adresów zaczyna się od 192.168.1.100. Maska 255.255.255.0. Tylko nie bardzo wiem skąd mam wziąć DNS. Jak by ktoś mógł mi powiedzieć.
Ostatnia linia w tftp32
: sent
Mam Windows 7 udostepniłem katalog ale niestety staje na pliku mrxsmb.sy co robic dalej?
Wszystko idzie ładnie ale to tego etapu
wkradł się mały błąd miałbyć el90Xbc5.sys
RSS feed for comments to this post