مرحبا بالجميع!
توضح هذه المقالة الخطوات التي تحتاج إلى اتباعها لإضافة إمكانية تمهيد UEFI إلى WDS.
أولئك. تفترض الإرشادات الواردة في هذه المقالة أن لديك التكوين التالي بالفعل:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
أيضًا ، تم وصف الإجراءات التي لم تجلب لي النتيجة الصحيحة.
وصفتها لتسهيل البحث وتوفير الوقت.
مقدمة
لقد صنعت WDS في العمل مع الكثير من الأشياء الجيدة ، tk. تعبت من الركض باستمرار مع مجموعة من محركات أقراص فلاش والكتابة عليها.
هذه المقالات ساعدتني بالمناسبة:
وكان كل شيء على ما يرام ، تمت إضافة صور جديدة للتحميل ، واكتظت صورة winPE بميزات جديدة وعمل كل شيء.
ولكن ، بعيدًا عن جميع الأجهزة التي تدعم وضع BIOS / Legacy boot ، أو إذا كان الأمر كذلك ، فقد يكون تضمينه في مكان غير واضح تمامًا.
نعم ، وتثبيت النوافذ في الوضع القديم ، عندما يكون من الممكن التثبيت في UEFI ، ليس أمرًا رائعًا.
نتيجة لذلك ، قررت إضافة القدرة على التمهيد في UEFI ، وذهبت إلى Google.
لكنني لم أجد معلومات منظمة حول كيفية الحصول على 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.
البنى في ASCII لتكوين DHCP
PXEClient: القوس: 00000 - BIOS / قديم
PXEClient: قوس: 00006 - UEFI x86
PXEClient: قوس: 00007 - UEFI x64
أيضًا ، جربت خيارات مختلفة لملفات التمهيد. .efi
- syslinux
- نكش 2
حاولت أيضًا العثور على المشكلة في سجل الأحداث.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
ولكن ، كما قلت أعلاه ، تكمن المشكلة في الملف wdsmgfw.efi.
إما أنني حذفته عن طريق الخطأ بنفسي ، أو لم يتم نسخه أثناء التثبيت
وتكوين WDS.
حسنًا ، لنبدأ!
تعليمات
المرحلة 1 - تحقق من أن WDS يعمل
خذ أي جهاز أو جهاز افتراضي يدعم التشغيل في وضع UEFI عبر الشبكة وحاول التمهيد.
يجب أن يكون لديك الصورة التالية:
إذا كان الأمر كذلك ، عظيم ، يمكنك المتابعة.
إذا لم يكن كذلك ، فراجع ما كتبته في المقدمة.
المرحلة 2 - بناء ملف تمهيد iPXE
نقوم بتشغيل Ubuntu المُعد مسبقًا ، ونفتح Terminal ولصق هذا السطر:
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
.
للقيام بذلك ، تحتاج إلى إضافة أنواع MIME في لوحة تحكم IIS ، وفقًا
مع امتدادات الملفات التي ستقوم بتنزيلها عبر http.
لم أبحث عن نوع MIME الأفضل لهذا الغرض ، وسألت application/octet-stream
، وبعد ذلك عمل كل شيء.
بالنسبة للملفات التي ليس لها امتداد ، استخدم نقطة.
هنا حتى:
اختتام
في النهاية ، نحصل على القدرة على التمهيد عبر شبكة محلية من خلال UEFI.
إذا فعلنا كل شيء بشكل صحيح ، فسيكون هناك شيء مثل قائمة اختيار التمهيد هذه:
إذا كنت قد أعددت الأدوات الأساسية ولن تهتم بالتهيئة ، فسيستغرق تنفيذ هذه الميزة حوالي 10-20 دقيقة.
استغرق الأمر يومين عمل ، لأن. اضطررت إلى البحث في جوجل كثيرًا.
التنفيذ الناجح!
أشكركم على اهتمامكم وشكرًا جزيلاً لأولئك الأشخاص الذين ساعدتني مقالاتهم!
في حبري:
المصدر: www.habr.com