Hello everyone!
Այս հոդվածը նկարագրում է այն քայլերը, որոնք դուք պետք է հետևեք՝ ձեր WDS-ին UEFI բեռնման հնարավորությունը ավելացնելու համար:
Նրանք. Այս հոդվածի հրահանգները ենթադրում են, որ դուք արդեն ունեք հետևյալ կոնֆիգուրացիան.
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Նաև այստեղ նկարագրված են գործողություններ, որոնք ինձ պատշաճ արդյունքի չեն բերել:
Ես նկարագրեցի դրանք որոնումը հեշտացնելու և ձեր ժամանակը խնայելու համար:
Նախաբան
Ես աշխատավայրում պատրաստեցի WDS-ը շատ բարիքներով, tk. հոգնել եմ մի փունջ ֆլեշ կրիչներով անընդհատ վազելուց և դրանք վերագրանցելուց:
Ի դեպ, այս հոդվածներն ինձ օգնեցին.
Եվ ամեն ինչ լավ էր, բեռնելու համար ավելացվեցին նոր պատկերներ, winPE պատկերը ձեռք բերեց նոր հնարավորություններ և ամեն ինչ աշխատեց:
Բայց բոլոր սարքերը չեն աջակցում BIOS / Legacy boot ռեժիմին, կամ եթե դա անում են, ապա դրա ընդգրկումը կարող է լինել շատ ոչ ակնհայտ տեղում:
Այո, և Windows-ի հին ռեժիմում տեղադրելը, երբ հնարավոր է տեղադրել 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:
Ճարտարապետություններ ASCII-ում DHCP-ի կազմաձևման համար
PXEClient:Arch:00000 - BIOS/Legacy
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 Boot File-ի ստեղծում
Մենք գործարկում ենք նախապես պատրաստված Ubuntu-ն, բացում ենք տերմինալ և տեղադրում այս տողը.
git clone https://git.ipxe.org/ipxe.git ipxe
Այստեղ ես կցանկանայի մի փոքր դիտողություն անել, որ դուք կարող եք Ubuntu-ին ավելացնել փաթեթներ, որոնք անհրաժեշտ են 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
Այսքանը Ubuntu-ի համար է:
Քայլ 3 - ipxe.efi-ի ավելացում WDS-ում
Վերցնում ենք երկրորդ փուլում ստացած ֆայլը և ճանապարհին պատճենում.
%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 և կազմաձևեցի boot-ը դրա համար, ամեն դեպքում: 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 աշխատանքային օր պահանջվեց, քանի որ. Ստիպված էի շատ գուգլել։
Հաջող իրականացում:
Շնորհակալություն ուշադրության համար և շատ շնորհակալություն այն մարդկանց, ում հոդվածներն օգնեցին ինձ:
Habré-ում հետևյալն է.
Source: www.habr.com