Dodajemy instalatory Windows do serwera PXE cz 2
Data: 2016-08-06, autor: Michał MisztalNastępnym krokiem będzie instalacja i konfiguracja samby na serwerze. A więc
[root@komputer]# pacman -Syy && pacman -S samba [root@komputer]# touch /etc/samba/smb.conf [root@komputer]# nano /etc/samba/smb.conf
Zawartość pliku z konfiguracją samby
[global] workgroup = MSHOME server string = Samba Server Version %v log file = /var/log/samba/log.%m idmap config * : backend = tdb cups options = raw netbios name = pxe map to guest = bad user dns proxy = no public = yes kernel oplocks = no nt acl support = no security = user guest account = nobody [install] comment = Instalacje systemów Windows path = /home/user/share read only = no browseable = yes public = yes printable = no guest ok = yes oplocks = no level2 oplocks = no locking = no
Tworzymy folder na udział, nadajemy mu uprawnienia oraz kasujemy właściciela
[root@komputer]# mkdir /home/user/share [root@komputer]# chmod 777 /home/user/share [root@komputer]# chown nobody:nobody /home/user/share
Włączamy usługi samby
[root@komputer]# systemctl enable samba [root@komputer]# systemctl enable smbd [root@komputer]# systemctl enable nmbd
W tej chwili powinniśmy mieć działający udział \\pxe\install. Tworzymy w nim katalogi dla każdego z Windows (pełnego obrazu, nie PE) i do każdego z tych katalogów należy wypakować pliki ISO systemów. Teraz pora na edycję pliku /srv/tftp/pxelinux.cfg/default i dodajemy wpis dla Windows 7 32 bit, dla reszty analogicznie
label W732BIT menu label Windows 7 32 bit com32 linux.c32 wimboot append initrdfile=http://192.168.10.99/w7_32bit/bootmgr,http://192.168.10.99/w7_32bit/boot/bcd,http://192.168.10.99/w7_32bit/boot/boot.sdi,http://192.168.10.99/w7_32bit/sources/boot.wim
A teraz krótkie uwagi na koniec. Gdy już wszystkie wersje systemów będą na swoim miejscu warto zmienić w konfiguracji samby read only na yes. Dzięki temu nikt z postronnych nam nie skasuje plików systemu. O ile /srv/http, /srv/tftp czy /home/user/pxe_serwer nie wystawialiśmy na świat to nie musimy blokować im uprawnień. Jako, że mamy tutaj tak naprawdę dwa środowiska PE (32 i 64 bit) to pliki bootmgr, bcd, boot.sdi można uznać za wspólne i nie powielać ich. Więcej, tak na prawdę pliki boot.wim też praktycznie niczym się nie różnią, jedynie modyfikacją pliku startnet.cmd. Można napisać skrypt który będzie ładował wspólne PE i z tego PE będzie można wybrać system do zainstalowania (wrócę do tego w opisie implementacji UEFI).
A na koniec jeszcze wesoła lektura
- https://social.technet.microsoft.com/Forums/windowsserver/en-US/c999b70c-b69a-4861-acaa-5e2656e64f3a/net-use-doesnt-work-with-winpe?forum=itprovistadeployment
- http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/
- http://www.tecmint.com/installing-windows-7-over-pxe-network-boot-in-centos/
- http://www.syslinux.org/wiki/index.php?title=PXELINUX
- http://www.howtogeek.com/162070/it-geek-how-to-network-boot-pxe-the-winpe-recovery-disk-with-pxelinux-v5-wimboot/
- http://ipxe.org/wimboot
- https://technet.microsoft.com/en-us/library/cc766521(v=ws.10).aspx
- https://technet.microsoft.com/en-us/library/cc721977(v=ws.10).aspx
- https://technet.microsoft.com/en-us/library/cc749478(v=ws.10).aspx
No i jeszcze fotki


PS. Tak sobie rozkminiałem opcje w stylu podmontowania obrazów ISO do share ale ISO instalatorów Windows od Visty zawierają system UDF-13346 (wspólna hierarchia uprawnień dla Windows i dla "Unix like systems") i niektóre pliki (np setup.exe) są tylko do odczytu i mamy info "Odmowa dostępu" w momencie wywołania z PE. Szkoda bo wyglądałoby to całkiem elegancko. Oczywiście całość można przepakować zmieniając uprawnienia. Albo przez ADS ale to gra niewarta świeczki.
PPS. Drugi problem jaki udało mi się napotkać to błąd w momencie ładowania przez wimboot pliku Boot/BCD (jest on ładowany ale w momencie uruchomienia Windows wyskakuje błąd tego pliku). W jakiś sposób musiałem ten plik uszkodzić, być może jak przenosiłem przez pendrive'a. Operacja przenoszenia między NTFS a FAT kasuje podpięte pod plik strumienie danych (Alternate Data Streams i całkiem fajnie po naszemu). I tylko tak sobie to mogę tłumaczyć. Zastąpienie Boot/BCD jego oryginalną wersją wypakowaną z ISO rozwiązała sprawę.