ہر کسی کو خوش!
یہ مضمون ان اقدامات کی وضاحت کرتا ہے جن کی پیروی کرنے کی آپ کو اپنے WDS میں UEFI بوٹ کی اہلیت شامل کرنے کی ضرورت ہے۔
وہ. اس مضمون میں دی گئی ہدایات یہ مانتی ہیں کہ آپ کے پاس پہلے سے درج ذیل ترتیب موجود ہے:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
نیز، یہاں ایسے اعمال بیان کیے گئے ہیں جن کا مجھے صحیح نتیجہ نہیں ملا۔
میں نے انہیں تلاش میں سہولت اور آپ کا وقت بچانے کے لیے بیان کیا۔
کردار
میں نے بہت ساری چیزوں کے ساتھ کام پر ایک WDS بنایا، tk. فلیش ڈرائیوز کے ایک گروپ کے ساتھ مسلسل دوڑنے اور ان کو اوور رائٹ کرنے سے تھک گیا ہوں۔
ان مضامین نے میری مدد کی:
اور سب کچھ ٹھیک تھا، لوڈنگ کے لیے نئی تصاویر شامل کی گئیں، winPE امیج کو نئی خصوصیات کے ساتھ بڑھا دیا گیا اور سب کچھ کام کر گیا۔
لیکن، تمام آلات BIOS / Legacy بوٹ موڈ کی حمایت کرتے ہیں، یا اگر وہ ایسا کرتے ہیں، تو اس کی شمولیت ایک بہت ہی غیر واضح جگہ پر ہوسکتی ہے۔
ہاں، اور ونڈوز کو لیگیسی موڈ میں انسٹال کرنا، جب UEFI میں انسٹال کرنا ممکن ہو، اچھا نہیں ہے۔
نتیجے کے طور پر، میں نے UEFI میں بوٹ کرنے کی صلاحیت کو شامل کرنے کا فیصلہ کیا، اور گوگل کے پاس گیا۔
لیکن مجھے کام کرنے والے WDS + UEFI حاصل کرنے کے طریقے کے بارے میں ساختی معلومات نہیں ملی۔
دراصل، اسی لیے میں نے یہ مضمون لکھنے کا فیصلہ کیا۔
شروع کرنے سے پہلے، میں اس مسئلے کو بیان کروں گا جس میں سب سے زیادہ وقت لگتا ہے۔
UEFI کو WDS میں شامل کرتے وقت، درج ذیل، بلکہ غیر واضح صورت حال ممکن ہے:
اگر آپ 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/Legacy
PXEClient: Arch: 00006 - UEFI x86
PXEClient: Arch: 00007 - UEFI x64
اس کے علاوہ، میں نے بوٹ فائلوں کے لیے مختلف اختیارات آزمائے۔ .efi
- سیسلنکس
- گرب 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
یہاں میں ایک چھوٹا سا تبصرہ کرنا چاہوں گا کہ آپ کو 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
یہ سب اوبنٹو کے لیے ہے۔
مرحلہ 3 - ipxe.efi کو WDS میں شامل کرنا
ہم دوسرے مرحلے میں موصول ہونے والی فائل کو لیتے ہیں اور راستے میں اسے کاپی کرتے ہیں:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
جب ہم اس کا نام تبدیل کر کے BOOTX64.EFI رکھ دیں۔
یہ ضروری نہیں ہے، یہ صرف زیادہ آسان ہے.
پھر ہم لانچ کرتے ہیں۔ سییمڈی منتظم کی جانب سے، اور درج ذیل کمانڈز لکھیں:
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 کام کے دن لگے، کیونکہ۔ مجھے بہت گوگل کرنا پڑا۔
کامیاب نفاذ!
آپ کی توجہ کا شکریہ اور ان لوگوں کا بہت شکریہ جن کے مضامین نے میری مدد کی!
Habré پر یہ ہے:
ماخذ: www.habr.com