06.04.2014 | 21:41
Znam da je ovo primarno Mac forum i da se o Win elementima baš ne govori, ali u ovom tutorialu sam htio prvenstveno dati osvrt i prikaz kako se PXE servis može složiti na Synology NAS (ima nekoliko korisnika ovog NAS uređaja na forumu), te kako uopće isti konfigurirati i u konačnici napraviti mrežnu instalaciju.
Od verzije DSM 4.2, Synology nudi opciju mrežnog PXE boota za sve uređaje koji danas možda nemaju opciju boota preko optike i/ili USB uređaja ili jednostavno želite mogućnost mrežne instalacije.
Naravno ovo se primarno odnosi na bootanje Linux/Win OS sustava, pošto Mac već ionako ima nekoliko metoda bootanja, dok mrežni boot (NetBoot) traži praktički Mac OS Server kako bi se izvela mrežna instalacija.
Ovaj primjer pokriva setup za bootanje svih M$ OS-a (uključujući i WinXP koji traži malo više pažnje).
A. PXELINUX/SYSLINUX boot loader
Kako bi cijela priča funkcionirala, potrebno je odabrati bootloader koji će moći poslužiti u ovakvim scenarijima i bootati bilo koji potrebni OS korištenjem za to predviđenog medija/instalacije dostupnog na mreži.
U ovom primjeru ja sam koristio syslinux 4.06 (nije najmlađa verzija ali verzija 6.0+ ima problema pa sam temeljem nekih rasprava zaključio da ova starija verzija radi sasvim uredno) za sve MS instalacije (uključujući WinXP <--> Win 8.1 Update 1).
Syslinux moguće je pokupiti sa slijedeće adrese:
https://www.kernel.org/pub/linux/utils/boot/syslinux/
Nakon downloada i dekompresije potrebno je napraviti slijedeće:
01. Kreirati neki TFTP/PXE folder na Synologyu (za ovaj primjer to će biti folder PXE)
02. Dodijeliti prava nekog usera preko kojeg će se izvršiti net use naredba sa autorizacijom (kasnije u procesu)
03. Unutar roota novog folder kopirati slijedeće datoteke iz Syslinux instalacije:
memdisk,
menu.c32,
pxelinux.0
04. Također unutar roota PXE folder treba kreirati još jedan folder koje će se zvati
pxelinux.cfg (da ovo je folder koji u imenu ima .cfg)
05. Unutar pxelinux.cfg folder treba kreirati datoteku imena ‘
default’ (BEZ ekstenzije i apsostrofa). Dakle u konačnici to bi sve skupa trebalo izgledati ovako:
PXE
|--pxelinux.cfg
|-- default
|-- memdisk
|-- menu.c32
|-- pxelinux.0
Pošto DSM 5 nudi i novi Text Editor kao built in aplikaciju sada je moguće i elegantno preko nje raditi i modificiranje datoteka hostanih na NASu. U ovom slučaju trebamo napraviti modifikacije nad ‘default’ datotekom unutra pxelinux.cfg foldera.
Nakon što se otvori prazan file potrebno je složiti slijeće:
DEFAULT menu.c32
TIMEOUT 300
ALLOWOPTIONS 0
PROMPT 0
MENU TITLE PXE Boot Menu
LABEL Windows x64
MENU LABEL WinPE x64
KERNEL memdisk
append iso raw initrd=winpe_x64.iso
LABEL Windows x86
MENU LABEL WinPE x86
KERNEL memdisk
append iso raw initrd=winpe_x86.iso
Napravite save datoteke.
Naravno ovo je primjer cijele datoteke koju ja koristim i sada slijedi objašnjenje strukture.
Prve 4 linije su nešto što je defaultno definirano i kao što je vidljivo poziva se menu.c32 datoteka koja se nalazi u rootu PXE foldera.
Slijedeći parametar ‘MENU TITLE’ je naslov PXE izbornika koji će se pojaviti nakon uspješnog mrežnog boota. Tu naravno može ići apsolutno bilo što.
Slijedeći odlomak (4 linije) je potrebno složiti kako bi napravili valjanu stavku u PXE izborniku. U ovom primjeru ja sam za naslov (MENU LABEL) odabrao WinPE x64 (jer ću preko specifične ISO datoteke pokrenuti podršku za instalacijom x64 bit OS-a). Kernel koji će učitati je također datoteka koja se nalazi u rootu od PXE foldera i to je memdisk. Zadnji parametar je ime konkretne datoteke koju želimo bootati. Kao što je vidljivo u jednoj liniji se poziva winpe_x64 dok u drugoj x86 ISO.
WinPE - ovo su posebno kreirani Preinstalation Enviroment mediji koji su složeni unutar Win7 okoline koristeći Windows AIK kit -
http://www.microsoft.com/en-us/download/details.aspx?id=5753
DISCLAIMER
Sada dolazimo do pitanja legalnosti. AIK je free, čisto da to stavimo odmah na stranu. No međutim da bi se izveo i kreirao WinPE.ISO potreno je pod a) imati Win okolinu i b) imati Win OS medij. Iz ovog razloga neću objašnjavati kako se WinPE disk radi (postoji Technet uputa za to kao i krcato YT clipova), niti ću javno objaviti ISO image. Ako netko ima problema ili koje pitanje slobodno na PM.
ISO koji će se koristiti za boot nalazi se (za ovaj primjer) u rootu PXE foldera. PXE folder stanje sada izgleda ovako:
PXE
|--pxelinux.cfg
|-- default
|-- memdisk
|-- menu.c32
|-- pxelinux.0
|-- winpe_x64.iso
|-- winpe_x86.iso
Jedna napomena. PXE je case
SENSITIVE dakle bitno je što u default datoteci pišete i kako. Ako primjerice ISO file sadrži velika i mala slova, pišite doslovno.
B. KREIRANJE PXE/TFTP okoline
Prije svega moguće je ovo izvesti na dva načina. Korištenjem dediciranog DHCPa ili postojećeg (primjerice na nekom dostupnom routeru). Ukoliko se želi koristiti postojeći router i njegova DHCP role-a onda mora postojati i mogućnost prosljeđivanja informacije gdje se nalazi PXE ‘server’ i TFTP folder iz kojeg će se pokrenuti bootloader.
Pošto je većina router-a od strane ISPa zaključana ova opcija ne dolazi u obzir jer zahtjeva SSH spajanje i modifikaciju DHCP konfiguracijske datoteke (pošto kroz GUI to definitivno neće biti vidljivo).
U ovom primjeru je ću se poslužiti DHCP servisom koji će hostati sam Synology i to na način da ću mu pool adresa staviti unutar raspona postojećeg DHCPa kojeg mi nudi router (a znam da se te IP adrese ne koriste). Ovo nije preporučljivo, ali pošto znam da kolizije neće biti onda nema problema.
Unutar DSM
Control Panel potrebno je otvoriti kategoriju
File Service te unutar nje se prebaciti na
TFTP/PXE tab.
Ovdje treba aktivirati TFTP kvačicu i kao TFTP root folder odabrati PXE folder iz ovog primjera (ili naravno folder gdje ćete već hostati sve syslinux datoteke iz prethodnog koraka). Advanced Settings nije potrebno definirati.
Nakon toga aktivirati kvačicu u PXE kategoriji i popuniti sva potrebna polja:
Boot loader: pxelinux.0 (tipka browse će pogledati u root tftp foldera i potreno je odabrati pxelinux.0
Network interface: vjerojatno će biti ponuđena samo jedna opcija, a to je ime Synology LAN interface-a (pustite defaultno)
DNS server: IP adresa vašeg routera (ili dediciranog DNS servera)
Start IP: početna adresa DHCP poola (recimo nešto tipa 192.168.1.35)
End IP: krajnja adresa DHCP poola (192.168.1.40)
Ovime smo definirali da će se sve skupa dodijeliti 6 IP adresa (u praksi ako nećete raditi instalaciju na više od 1 računala u isto vrijeme onda je ovo previše, ali za primjer će poslužiti)
Netmask: ovisno o IP klasi ovisiti će i maska. Prateći gornji primjer IPa to bi bilo: 255.255.255.0
Gateway: IP adresa vašeg router
Nakon toga na ‘
Apply’ i to je to. Sve je spremo za PXE network boot. Ono što je sada potrebno je konfigurirati računalo da ima mrežnu karticu kao prvi uređaj u boot listi i PXE server na Synology strani će poslati potreban paket te startati boot loader na ciljanom računalu.
Nakon toga pojaviti će se izbornik koji će očitati stanje ‘default’ datoteke i dati izbor boota odgovarajućeg ISO-a. Nakon kratkog vremena ulazi se u Windows Preinstalation Enviroment.
Kako bi mogli napraviti instalaciju preko mreže potrebno je imati folder sa instalacijskim datotekama za odgovarajući OS. Syno NAS nudi opciju mounta ISO datoteka pa je navedeno potrebno učiniti za OS koji želite instalirati (kasnije će se tom folderu pristupiti putem net use naredbe)
C. KORIŠTENJE WINPE OKRUŽJA ZA MREŽNU INSTALACIJU
C.a (WIN XP)
Kao što sam u početku naveo Win XP mrežna instalacija za razliku od Win Vista --> 8.1 traži malo više pažnje kako bi se instalacija uredno izvršila. Kao što je poznato instalacija XPa prolazi kroz 2 faze (non GUI i GUI) te je potrebno odraditi slijedeće korake kako bi ona protekla uredno.
01. nakon što završi bootanje WinPE okoline dočekati će vas command prompt na
X: drive-u
02. Pošto XP neće vidjeti dostupan disk u ovom trenutku potrebno je sa diskpart naredbom odraditi kreiranje particije, dodjelu disk letter-a i formatiranje samog diska.
diskpart: list disk [enter]
(popis svih fizičkih diskova, potrebno je zabilježiti broj diska sa kojim ćemo raditi)
diskpart: select disk n [enter]
(gdje je n broj diska na koji ide instalcija, vjerojatno 0 ako je samo jedan disk u pitanju)
diskpart: create partition primary [enter]
diskpart: assign letter=C [enter]
diskpart: list partition [enter]
(zapamtiti broj particije na koju ide instalacija)
diskpart: select partition n [enter]
(vjerojatno je broj particije 1)
Sada bi trebali biti nazad na X: disku te imati pripremljen disk i particiju na slovu C:. Potrebno je još izvršiti i formatiranje:
(ovo je full NTFS format)
SLIJEDEĆI KORAK JE IZNIMNO VAŽAN
x:\ bootsect.exe /nt52 C: /force /mrb [enter]
(XP koriti NTLDR i /nt52 ga apliciramo na C: particiju koju smo kreirali)
x:\ net use z: \\IP_ADR_SYNO_NAS\WINXP folder /user:username [enter]
(radimo mapiranje mrežne lokacije XP sadražaja na slovo Z i koristimo /user switch kako bi proslijedili informaciju sa kojim se accountom autoriziramo. Biti će potrebno unijeti i password za pripadajućeg korisnika. Još jednom napominjem da je instalaciju prethodno kroz Syno sučelje trebalo mountati kao virtualni drive kako bi njegov sadržaj bio sada čitljiv putem mapiranog mrežnog diska
x:\ z:\<winxp folder>\i386\winnt32.exe /syspart:C: /tempdrive:C: /makelocalsource [enter]
(jako je važno da se kod syspart i tempdrive switcha NE RADI razmak između : i imena diska na koji ide instalacija. Također : nakon slova je nužna!)
Nakon ovog koraka ulazite u instalaciju XPa koja će samo kopirati datoteke na disk. Po završenom kopiranju Win XP GUI će se zatvoriti i vraćamo se u WInPE command prompt.
(završavamo rad u winpe i ovime iniciramo reboot)
Sada je potrebno u BIOSu podesiti HDD/SSD kao primarni boot uređaj i nastaviti instalaciju XP. Jasno mi je da za 2 dana prestaje support za XP, ali mislim da će se i dalje koristiti za tko zna što pa sam zato i odvojio veći dio ovog tutoriala za ovaj OS.
C.b (Win Vista -> 8.1)
Kod ‘modernijih’ MS OSa nije potrebno raditi nikakve predradnje (diskpart) već samo krenuti od koraka gdje se koristi naredba
net use. Naravno kada se mapira disk za instalacijom recimo Win 7 ili 8.1 jednostavno se pokrene
setup.exe i prate daljnje upute.
Nadam se da će nekom ove upute biti korisne, ako postoje kakva pitanja, korekcije ili slično slobodno se raspišite