హలో అందరికీ!
మీ WDSకి UEFI బూట్ సామర్థ్యాన్ని జోడించడానికి మీరు అనుసరించాల్సిన దశలను ఈ కథనం వివరిస్తుంది.
ఆ. ఈ కథనంలోని సూచనలు మీరు ఇప్పటికే ఈ క్రింది కాన్ఫిగరేషన్ని కలిగి ఉన్నారని ఊహిస్తుంది:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
అలాగే, నాకు సరైన ఫలితాన్ని అందించని చర్యలు ఇక్కడ వివరించబడ్డాయి.
శోధనను సులభతరం చేయడానికి మరియు మీ సమయాన్ని ఆదా చేయడానికి నేను వాటిని వివరించాను.
ముందుమాట
నేను చాలా గూడీస్తో పనిలో WDS చేసాను, tk. ఫ్లాష్ డ్రైవ్ల సమూహంతో నిరంతరం పరిగెత్తడం మరియు వాటిని ఓవర్రైట్ చేయడం ద్వారా అలసిపోతుంది.
ఈ కథనాలు నాకు సహాయం చేశాయి:
మరియు ప్రతిదీ బాగానే ఉంది, లోడ్ చేయడానికి కొత్త చిత్రాలు జోడించబడ్డాయి, winPE చిత్రం కొత్త లక్షణాలతో నిండిపోయింది మరియు ప్రతిదీ పని చేసింది.
కానీ, అన్ని పరికరాలకు దూరంగా BIOS / లెగసీ బూట్ మోడ్కు మద్దతు ఇస్తుంది, లేదా వారు అలా చేస్తే, దాని చేరిక చాలా స్పష్టమైన ప్రదేశంలో ఉండవచ్చు.
అవును, మరియు లెగసీ మోడ్లో విండోలను ఇన్స్టాల్ చేయడం, UEFIలో ఇన్స్టాల్ చేయడం సాధ్యమైనప్పుడు, చల్లగా ఉండదు.
ఫలితంగా, నేను UEFIకి బూట్ చేసే సామర్థ్యాన్ని జోడించాలని నిర్ణయించుకున్నాను మరియు Googleకి వెళ్లాను.
కానీ నేను పని చేసే WDS + UEFIని ఎలా పొందాలనే దానిపై నిర్మాణాత్మక సమాచారాన్ని కనుగొనలేదు.
నిజానికి, అందుకే ఈ వ్యాసం రాయాలని నిర్ణయించుకున్నాను.
నేను ప్రారంభించడానికి ముందు, ఎక్కువ సమయం తీసుకున్న సమస్యను వివరిస్తాను.
WDSకి UEFIని జోడించేటప్పుడు, కింది, స్పష్టమైన కాని పరిస్థితి సాధ్యమే:
మీరు WDSకి బూట్ ఫైల్ను జోడించినట్లయితే మరియు మీరు పరికరంలో బూట్ చేయడానికి ప్రయత్నించినప్పుడు
UEFIలో మీరు ఈ క్రింది వచనాన్ని చూస్తారు:
The selected boot device failed. Press <Enter> to Continue.
లేదా Boot Device Not Found
కానీ లెగసీలో లోడ్ చేయడం మీ కోసం పని చేస్తుంది.
అప్పుడు సాధ్యమయ్యే ఎంపికలలో ఒకటి ఫైల్ లేకపోవడం wdsmgfw.efi,
కింది మార్గం వెంట: %WDSpath%Bootx64wdsmgfw.efi
మీరు దీన్ని ఇక్కడ తీసుకోవచ్చు: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
లేదా, కొన్ని కారణాల వల్ల ఈ ఫైల్ మీ కోసం మిస్ అయినట్లయితే, నేను దీన్ని పోస్ట్ చేసాను
ఈ పరిష్కారం కోసం, అబ్బాయిలకు ధన్యవాదాలు
ఈ సమస్యతో, నేను ఎక్కువ సమయం చంపాను, ఎందుకంటే. సమస్య WDS లేదా DHCP కాన్ఫిగరేషన్లో ఎక్కడో ఉందని నేను అనుకున్నాను.
వివిధ ఆర్కిటెక్చర్ల కోసం వెండర్ క్లాస్లను జోడించడం మరియు DHCP ఎంపికలు 060, 066, 067 సెట్ చేయడం ద్వారా కాన్ఫిగర్ చేయబడిన విధానాలు.
DHCPని కాన్ఫిగర్ చేయడానికి ASCIIలో ఆర్కిటెక్చర్లు
PXEClient:Arch:00000 - BIOS/లెగసీ
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
అలాగే, నేను బూట్ ఫైల్స్ కోసం వివిధ ఎంపికలను ప్రయత్నించాను. .efi
- syslinux
- గ్రబ్ 2
నేను ఈవెంట్ లాగ్లో సమస్యను కనుగొనడానికి కూడా ప్రయత్నించాను.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
కానీ, నేను పైన చెప్పినట్లుగా, సమస్య ఫైల్లో ఉంది wdsmgfw.efi.
నేనే అనుకోకుండా తొలగించాను లేదా ఇన్స్టాలేషన్ సమయంలో కాపీ చేయబడలేదు
మరియు WDSని కాన్ఫిగర్ చేస్తోంది.
సరే, ప్రారంభిద్దాం!
సూచనల
దశ 1 - WDS పనిచేస్తోందని ధృవీకరించండి
నెట్వర్క్లో UEFI మోడ్లో బూట్ చేయడానికి మద్దతు ఉన్న ఏదైనా పరికరం లేదా వర్చువల్ మెషీన్ని తీసుకోండి మరియు బూట్ చేయడానికి ప్రయత్నించండి.
మీరు ఈ క్రింది చిత్రాన్ని కలిగి ఉండాలి:
అలా అయితే, గొప్పది, మీరు కొనసాగించవచ్చు.
కాకపోతే ముందుమాటలో ఏం రాశానో చూడండి.
దశ 2 - iPXE బూట్ ఫైల్ను రూపొందించడం
మేము ముందుగా సిద్ధం చేసిన ఉబుంటును ప్రారంభించాము, టెర్మినల్ను తెరిచి ఈ లైన్ను అతికించండి:
git clone https://git.ipxe.org/ipxe.git ipxe
ఇక్కడ నేను ఒక చిన్న వ్యాఖ్య చేయాలనుకుంటున్నాను, మీరు ఉబుంటుకు C మరియు C ++లను కంపైల్ చేయడానికి అవసరమైన ప్యాకేజీలను జోడించవలసి ఉంటుంది.
నేను వాటిని ఇన్స్టాల్ చేసాను.
డౌన్లోడ్ చేశారా? - గొప్ప!
ఇప్పుడు మీరు అసెంబ్లీ కోసం కాన్ఫిగరేషన్ ఫైల్ను తయారు చేయాలి.
టెర్మినల్లో, మేము వ్రాస్తాము:
cd ipxe/src
gedit chain.ipxe
మరియు ఈ ఫైల్లో కింది కోడ్ను అతికించి, ఆపై సేవ్ చేయండి:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
మేము టెర్మినల్కు తిరిగి వెళ్లి సంకలనాన్ని ప్రారంభిస్తాము:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
ప్రతిదీ క్రమంలో ఉంటే, మీరు టెర్మినల్లో క్రింది అవుట్పుట్ను పొందాలి:
మరియు ఫైల్ ipxe.efi, దారి పొడవునా: ipxe/src/bin-x86_64-efi/ipxe.efi
కొన్ని కారణాల వల్ల మీరు స్వంతంగా కంపైల్ చేయలేకపోతే,
నేను నాది జత చేసాను
ఇది బూట్ చేయడానికి కంపైల్ చేయబడింది http://192.168.0.100/install.ipxe
ఉబుంటుకి అంతే.
దశ 3 - WDSకి ipxe.efiని కలుపుతోంది
మేము రెండవ దశలో అందుకున్న ఫైల్ను తీసుకొని, దానిని మార్గంలో కాపీ చేస్తాము:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
మేము దానిని BOOTX64.EFI గా పేరు మార్చిన తర్వాత.
ఇది అవసరం లేదు, ఇది మరింత సౌకర్యవంతంగా ఉంటుంది.
అప్పుడు మేము ప్రారంభించాము cmd నిర్వాహకుని తరపున, మరియు కింది ఆదేశాలను వ్రాయండి:
wdsutil /set-server /bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
и
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
ఇది ఫలిత ఫైల్ను WDS ద్వారా డౌన్లోడ్ చేయడానికి సెట్ చేస్తుంది.
కాన్ఫిగరేషన్ని తనిఖీ చేద్దాం:
wdsutil /get-server /Show:Config
నేను ipxe.efi ఫైల్ని కూడా కాపీ చేసాను, దానికి BOOTIA32.EFI అని పేరు మార్చాను మరియు దాని కోసం బూట్ కాన్ఫిగర్ చేసాను. architecture:x86uefi
కానీ పెద్దగా, దీనికి అర్ధమే లేదు, ఎందుకంటే. Bootmgfw.efi ఫైల్ x86కి మద్దతివ్వదు
ఏం జరిగిందో చెక్ చేద్దాం.
గ్రేట్, WDS డౌన్లోడ్ కోసం మా ఫైల్ను పంపుతుంది మరియు ఇది మార్గంలో కాన్ఫిగరేషన్ కోసం చూస్తుంది: http://192.168.0.100/install.ipxe
దశ 4 - మెనూ కాన్ఫిగరేషన్
మీ సైట్ యొక్క రూట్ ఫోల్డర్కి వెళ్లండి.
డిఫాల్ట్: C:inetpubwwwroot
టెక్స్ట్ ఫైల్ను సృష్టించండి install.ipxe.
మరియు దాని ప్రకారం కాన్ఫిగర్ చేయండి
రష్యన్ భాష కూడా ఉంది
నేను ఆనందించాను
install.ipxe కాన్ఫిగరేషన్ ఉదాహరణ
#!ipxe
:start
menu Please choose an operating system to start/install
item --gap Start Win PE
item WinPE-x64 WinPE x64
item --gap ipxe shell
item shell Drop to iPXE shell
choose target && goto ${target}
:failed
echo Booting failed, dropping to shell
goto shell
:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start
:WinPE-x64
kernel http://192.168.0.100/wimboot
initrd http://192.168.0.100/peSE/Boot/bcd
initrd http://192.168.0.100/peSE/Boot/boot.sdi
initrd http://192.168.0.100/peSE/Boot/peSE64.wim
boot || goto failed
మీరు winPEని లోడ్ చేయడం కోసం కాన్ఫిగరేషన్ గురించి చదువుకోవచ్చు
దశ 5 - MIME రకాలు
మెనుని సృష్టించి, అవసరమైన అన్ని ఫైళ్లను IIS రూట్ ఫోల్డర్కు జోడించిన తర్వాత,
మీరు వారికి యాక్సెస్ ఇవ్వాలి.
ఎందుకంటే మీరు బ్రౌజర్ నుండి ఫైల్ను డౌన్లోడ్ చేయడానికి ప్రయత్నించినప్పటికీ, మీరు దాని చిరునామాలో లోపం పొందుతారు: HTTP 404.3 - Not Found
.
దీన్ని చేయడానికి, మీరు IIS నియంత్రణ ప్యానెల్లో MIME రకాలను జోడించాలి
మీరు http ద్వారా డౌన్లోడ్ చేసుకునే ఫైల్ ఎక్స్టెన్షన్లతో.
ఈ ప్రయోజనం కోసం ఏ MIME రకం ఉత్తమమో నేను చూడలేదు మరియు అడిగాను application/octet-stream
, దాని తర్వాత ప్రతిదీ పని చేసింది.
పొడిగింపు లేని ఫైల్ల కోసం, డాట్ని ఉపయోగించండి.
ఇక్కడ
తీర్మానం
అంతిమంగా, మేము UEFI ద్వారా లోకల్ నెట్వర్క్ ద్వారా బూట్ చేయగల సామర్థ్యాన్ని పొందుతాము.
మేము ప్రతిదీ సరిగ్గా చేస్తే, ఈ బూట్ ఎంపిక మెను లాంటిది ఉంటుంది:
మీరు ప్రాథమిక సాధనాలను సిద్ధం చేసి, మీరు కాన్ఫిగరేషన్తో బాధపడకపోతే, ఈ లక్షణాన్ని అమలు చేయడానికి సుమారు 10-20 నిమిషాలు పడుతుంది.
నాకు 2 పని దినాలు పట్టింది, ఎందుకంటే. నేను చాలా గూగుల్ చేయాల్సి వచ్చింది.
విజయవంతమైన అమలు!
మీ దృష్టికి ధన్యవాదాలు మరియు కథనాలు నాకు సహాయం చేసిన వ్యక్తులకు చాలా ధన్యవాదాలు!
హబ్రేలో ఇది:
మూలం: www.habr.com