ثبّت أي نظام تشغيل عبر الشبكة دون مفتاح USB مع Gola Bootlace
تاريخ النشر

Gola Bootlace برنامج مجاني ومفتوح المصدر يحوّل مجلداً من ملفات ISO إلى قائمة إقلاع لكل أجهزة الحاسوب في شبكتك. صِل الجهاز بكابل الشبكة، واختر «الإقلاع من الشبكة»، ثم اختر Windows 11 أو Ubuntu أو أداة إسعاف من القائمة فيبدأ العمل. لا مفتاح USB ولا درج مملوء بالمفاتيح. وهو موجّه إلى الفنيين والورش والمكاتب والمختبرات المنزلية التي تثبّت أجهزة كثيرة أو تصلحها.
تستخدم Gola برنامج Bootlace داخلياً في عمليات التثبيت الخاصة بها. وهو حرّ ومفتوح المصدر، وما زال في بداياته (قبل الإصدار 1.0): نبحث عن مختبِرين ومساهمين. ستجد في نهاية هذا المقال كيف تساعدنا.
لماذا صنعناه
تثبيت الأجهزة وإصلاحها هو عملنا اليومي، ولذلك نعرف روتين مفاتيح USB جيداً: نبحث عن المفتاح المناسب، ثم نكتشف أنه يحمل نسخة Windows من العام الماضي، فنعيد كتابته وننتظر، ثم نوصله وننتظر مرة أخرى. كرّر ذلك على عشرين جهازاً وعشرة أنظمة مختلفة، فتحصل على درج مليء بالمفاتيح نصفها قديم.
الإقلاع من الشبكة هو الحل المعروف منذ زمن، وكل الأجهزة الحديثة تدعمه. ما أردناه هو نسخة منه يستطيع فنّي الورشة تشغيلها دون أن يكون مهندس شبكات: يضع ملفات ISO في مجلد، فيراها في قائمة، ويشغّلها كما هي. لم نجد برنامجاً واحداً يفعل ذلك لنظامي Windows وLinux معاً، فكتبناه بأنفسنا، ونطلقه مفتوح المصدر ليستعمله كل من يثبّت الأجهزة وليتحقق منه ويحسّنه.
من أين جاء الاسم
رباط الحذاء يشدّ الحذاء، والحاسوب «يُقلِع» عند بدء تشغيله. يربط Bootlace إقلاع الحاسوب عبر الشبكة: يشدّ الجهاز الرباط فيقوم النظام، دون مفتاح USB.
تستمد أدواتنا أسماءها من حِرف النسيج، النسج والخياطة، وهما حرفتان حيّتان في تونس. NTLoom هو النول، أما Shuttle (المكّوك) فهو الجزء من النول الذي ينقل الخيط من جهة إلى أخرى، وأما Stitch (الغرزة) فيجمع القطع في ثوب واحد، وأما Bootlace (رباط الحذاء) فيربط إقلاع الحاسوب عبر الشبكة، وأما Bobbin (البكرة) فتحمل عدة خيوط معاً، فيحمل مفتاح USB واحد عدة تثبيتات، وأما Kit فهي عدة الفنّي.
ما الذي يميّزه
• مجلد واحد بدل درج كامل. لإضافة ملف ISO انسخه إلى المجلد، ولحذفه احذف الملف. لا شيء يُفكّ ضغطه أو يُعدَّل أو يُكتب على أقراص الجهاز: يعمل الملف كما هو.
• Windows وLinux في القائمة نفسها. يُثبَّت Windows 10 و11 وServer مباشرة من الشبكة، وتبدأ معظم مثبّتات Linux وأنظمته الحية وأدوات الإسعاف من القائمة نفسها، على أجهزة UEFI وBIOS القديم على حد سواء.
• لا حاجة لتغيير شيء في الراوتر. يردّ Bootlace فقط على الأجهزة التي تطلب الإقلاع من الشبكة، ويترك خادم DHCP الخاص بالشبكة وشأنه. أوقف البرنامج فلا يبقى أي أثر على الأجهزة.
• Secure Boot مدمج. ملفات الإقلاع الموقّعة داخل البرنامج نفسه: لا شيء يُنزَّل ولا مفتاح يُسجَّل في أي جهاز. ولـ Windows وUbuntu طريق إضافي عبر مدير الإقلاع الخاص بالبرنامج الثابت.
• تثبيت دون إشراف. احتفظ في صفحة واحدة بملفات إجابات لأنظمة Debian وUbuntu وRed Hat وopenSUSE وWindows، وأرفق أحدها بملف ISO أو بجهاز واحد.
• يتعرّف على ملفات ISO لم يرها من قبل. إذا لم يتعرّف Bootlace على ملف ISO من اسمه فهو لا يرفضه: يقرأ قوائم الإقلاع داخل الملف ليعرف ما هو، وإن لم ينجح قدّمه للجهاز كقرص CD-ROM شبكي.
• تتأكد من أن كل شيء يعمل قبل أن تذهب إلى الجهاز. اختبار ذاتي بنقرة واحدة يطلب من الخادم ما يطلبه الجهاز، وبحث يكشف الخوادم الأخرى التي قد تردّ على PXE.
• خفيف. ملف برنامج واحد بحجم 16 ميغابايت (وصورة Docker بحجم 42 ميغابايت)، ونحو 15 إلى 20 ميغابايت من الذاكرة في وضع الخمول، وحدّ أدنى مقيس قدره 256 ميغابايت من الذاكرة ونواة واحدة للحاوية. لا قاعدة بيانات ولا شيء آخر يلزم تثبيته.
• مفتوح المصدر وإصدارات موقّعة. برخصة GPL-3.0-or-later، مع شرح للتحقق من توقيع كل تنزيل.
كيف يقلع الجهاز مع Bootlace
يعمل Bootlace على حاسوب يبقى قيد التشغيل: خادم صغير أو جهاز احتياطي أو حاوية Proxmox. يطلب جهاز في الشبكة نفسها الإقلاع من الشبكة (ويسمى ذلك PXE) فتتتابع الخطوات التالية.

تصل القائمة نفسها إلى كل أنواع الأجهزة مهما كان برنامجها الثابت:

كل الميزات
الأنظمة التي يشغّلها
• Windows 10 وWindows 11 وWindows Server. يقرأ برنامج التثبيت ملفاته من مشاركة صغيرة للقراءة فقط يوفّرها الخادم نفسه، فيُثبَّت الجهاز مباشرة من الشبكة.
• معظم مثبّتات Linux وأنظمته الحية: Ubuntu وDebian وFedora وArch وAlpine وKali وProxmox VE وTrueNAS وغيرها كثير، وكذلك أدوات الإسعاف والصيانة مثل SystemRescue وClonezilla وGParted وRescuezilla واختبارات الذاكرة.
• تقرأ الأنظمة الحية ملف ISO من الخادم أثناء التشغيل (كقرص شبكي أو قرص CD عبر iSCSI) بدل نسخه إلى ذاكرة الجهاز، فلا يحتاج الجهاز إلى مساحة تتسع للملف كله.
• مثبّتا Debian وKali يثبّتان عبر الشبكة: يمنح Bootlace المثبّت قرص CD يستطيع إيجاده، فيصل ملف netinst إلى نهاية التثبيت.
• ملفات ISO غير المعروفة يتعرّف عليها من قوائم الإقلاع داخلها، وإن لم ينجح تلقّى الجهاز الملف كقرص CD-ROM شبكي.
• صور الأقراص والملفات المضغوطة: .iso و.img و.raw، والملفات المضغوطة .xz و.gz و.zst و.bz2 و.zip (يُفكّ ضغطها مرة واحدة عند الطلب مع فحص المساحة الحرة على القرص).
• FreeBSD يبدأ أيضاً، بصفة تجريبية.


لا نصنّف ملف ISO على أنه يعمل إلا بعد أن نراه يصل فعلاً إلى برنامج التثبيت أو سطح المكتب في مختبر الاختبار لدينا. وقائمة ما جرّبناه ونتائجه منشورة للجميع: قائمة التوافق. بعضها لا يعمل بعد (مثل pfSense على UEFI)، والقائمة تذكر ذلك.
تثبيت Windows
• تجاوز فحوص تثبيت Windows 11 التي تختارها: TPM 2.0 وSecure Boot و4 غيغابايت من الذاكرة ومعالج مدعوم و64 غيغابايت من التخزين. لا يُتجاوز شيء ما لم تضع علامة عليه، وتذكّر الصفحة بأن Windows سيعمل حينئذ دون وعد بالتحديثات أو الدعم من Microsoft.
• حساب محلي عند أول تشغيل لـ Windows 11 الذي لم يعد يتيح طريقاً لتجاوز صفحة الشبكة فيه.
• تعريفات لبرنامج تثبيت Windows. ضع حزم التعريفات في مجلد من المكتبة فتُضاف إلى نسخة صورة الإقلاع الخاصة بـ Windows التي تُقدَّم للجهاز، فيرى برنامج التثبيت قرصاً أو بطاقة شبكة لم يكن يعرفها. ولا يُعدَّل ملف ISO نفسه أبداً.
• شاشة إخفاق واضحة. إذا تعذّر على برنامج التثبيت الوصول إلى المشاركة لأن بطاقة شبكة الجهاز بلا تعريف، تعرض الشاشة الأجهزة التي تفتقر إلى تعريف وتبيّن أين توضع حزمة التعريفات.
• ملفات إجابات Windows (autounattend.xml) لكل جهاز أو لكل ملف ISO، مع إدراج اسم الجهاز.

التثبيت دون إشراف
تحتفظ صفحة Unattended بملفات الإجابات، وهي الملفات التي يقرؤها برنامج التثبيت فلا يسأل عن شيء: preseed لـ Debian وautoinstall لـ Ubuntu وkickstart لـ Red Hat وAutoYaST لـ openSUSE وautounattend.xml لـ Windows. ويذكر كل قالب في أعلاه أنه يمحو القرص.
• أرفق ملفاً بملف ISO أو بجهاز واحد (واختيار الجهاز هو الأقوى)؛ ويطلب الإرفاق تأكيداً لأن كل جهاز يشغّل هذا الملف بعدها سيُثبَّت دون أن يسأل.
• ملف واحد يخدم أجهزة كثيرة: يُدرَج اسم الجهاز وعنوانه ورقمه التسلسلي وغيرها للجهاز الذي يطلبه.
• تظهر كلمات المرور في الملف نجوماً، وتحذّر الصفحة عندما يحتوي سطر على كلمة مرور بنص صريح. وتطلب القوالب بصمات كلمات المرور.
• لا يُعطى الملف إلا لجهاز طلب القائمة خلال الساعتين الأخيرتين، وعدداً محدوداً من المرات. ولا يستطيع برنامج التثبيت تسجيل الدخول، ولذلك تقول الصفحة بوضوح إن الملف ليس سرياً عن الشبكة المحلية.

Secure Boot
يمنع Secure Boot (وهو إعداد في البرنامج الثابت) عادة البرامج التي يبدأها الإقلاع من الشبكة. وعند Bootlace ثلاثة أجوبة. مدمج: الـ shim وiPXE الموقّعان من مشروع iPXE جزء من البرنامج، وهو الإعداد الافتراضي للتثبيت الجديد، دون شيء يلزم تسجيله. مفتاحك الخاص: مجلد فيه shim وiPXE وقّعتهما بنفسك، لمن يريد إدارة مفتاحه. معطّل. ويتم اختيار الأجهزة المعنية (كل أجهزة UEFI بمعمارية 64 بت أو التي تضع عليها علامة فقط) في صفحة Server ويسري من الإقلاع التالي دون إعادة تشغيل. ويمكن لقاعدة أن تشغّل Windows أو Ubuntu عبر مدير الإقلاع الخاص بالبرنامج الثابت. ويفحص البرنامج ملفاته المدمجة مقابل قائمة بيان عند كل تشغيل.

القائمة التي يراها الجهاز
• قائمة مصوّرة على أجهزة UEFI مع شعار Gola Bootlace، وقائمة نصية على أجهزة BIOS. وتُعرض القوائم الطويلة صفحة بعد صفحة.
• طرق أخرى لتشغيل ملف ISO: تُعرض مداخل قائمة الإقلاع الخاصة بالملف (رسوميات آمنة وتثبيت OEM ووضع إسعاف وفحص القرص) بجانب الإقلاع المعتاد. وفي صفحة ISOs يمكنك إخفاء مدخل أو إعادة تسميته أو إضافة معاملات له أو اختيار المدخل الذي يبدأ افتراضياً.
• ما يبدأ تلقائياً: لا شيء، أو ملف ISO، أو قرص الجهاز نفسه، بعد مدة انتظار تحددها. وعندما يعيد تثبيتٌ تشغيلَ الجهاز يعيده «Boot from this PC’s own disk» إلى نظامه الجديد.
• كلمة مرور إقلاع لكل ملف ISO، حتى لا تبدأ قائمة يستطيع أي شخص أمام الجهاز استعمالها عملية مسح للقرص عن طريق الخطأ.
• الإقلاع الفاشل لا يترك الجهاز عالقاً: يعود إلى القائمة مع رسالة بدل أن يذهب بصمت إلى قرصه.
• يردّ على الأجهزة التي لا تقلع إلا عبر HTTP (UEFI HTTP boot).
• لون السطر المحدد، وأنماط تُبقي ملفات مختارة خارج القائمة.

أجهزتك
• قائمة بكل جهاز طلب قائمة، مع طرازه وعنوانه وآخر ما فعله، وفيها بحث وتقسيم إلى صفحات. ويُوسَم الجهاز الذي طلب ملف إقلاع فقط، ليُعرف متى يرفض Secure Boot ملف iPXE على الأرجح.
• أسماء تمنحها للأجهزة (ويستطيع الجهاز اقتراح اسم من اسم المضيف أو رقم الأصل)، وسجلّ لما رآه الخادم لكل جهاز، يمكن تنزيله لكل الأجهزة بصيغة CSV.
• Wake-on-LAN من القائمة.
• قواعد لكل جهاز: عرض القائمة، أو الإقلاع من قرصه، أو تشغيل ملف ISO دون سؤال.
• قواعد لكل نوع من الأجهزة بحسب الطراز أو الشركة المصنّعة أو المنصة («كل أجهزة HP تقلع من قرصها»).
• خيارات النواة لكل جهاز: معاملات إضافية وإقلاع مفصّل ووحدة تحكم تسلسلية، لجهاز واحد فقط.
• نسيان جهاز لم تعد بحاجة إليه. والأجهزة التي لم تظهر منذ 90 يوماً (قابلة للتعديل) تُنسى تلقائياً.

ملفات ISO لديك
• أعد تسمية ملف ISO في القائمة، أو أخفِه، واختر ما يبدأ تلقائياً، واطّلع على الأوامر التي يتلقاها الجهاز بالضبط.
• مفاتيح تتبّع الأخطاء: إقلاع مفصّل ووحدة تحكم تسلسلية وصَدَفة تتبّع توقف بدء التشغيل لتتمكن من الاطلاع على الحال.

المكتبة
• المجلدات: احفظ ملفات ISO في مجلدات فرعية وأنشئ مجلدات جديدة من الصفحة.
• إضافة الملفات بثلاث طرق: رفع من المتصفح (والرفع المنقطع يُستأنف من حيث توقف)، أو أن ينزّل الخادم ملفاً من عنوان ويب ويتحقق من بصمته، أو نسخ الملفات ببساطة إلى المجلد.
• إعادة تسمية ونقل ومجلد جديد وحذف. يحتفظ ملف ISO باسمه في القائمة وبحالة إخفائه وقواعده عند إعادة تسميته أو نقله؛ ولا يُستبدل شيء أبداً، والحذف ليس تعاقبياً أبداً.
• يحمي القرص والخادم: يُرفض الملف الذي لا تطابق بايتاته الأولى اسمه بمجرد وصولها، ويُحتفظ بمساحة حرة احتياطية، وتُنبَّه إلى التكرار في الاسم أو العنوان أو الحجم أو المحتوى.
• ذاكرة تخزين مؤقت تنظف نفسها: تُحفظ الصور المفكوكة وملفات إقلاع Windows المجهزة مرة واحدة، وتُحذف الأقل استخداماً حديثاً عند امتلاء المكان؛ وتُنظَّف البقايا تلقائياً.

تأكّد من أن كل شيء يعمل قبل أن تذهب إلى الجهاز
• اختبار ذاتي: بنقرة واحدة يطلب الخادم ما يطلبه الجهاز، خطوة بعد خطوة: القائمة وتنزيل ملف ISO وTFTP ومشاركة Windows والقرص الشبكي.
• بحث عن خوادم PXE أو DHCP-boot أخرى في الشبكة، وهو السبب الأكثر شيوعاً لفشل الإقلاع من الشبكة.
• اختبار سرعة المكتبة، يبيّن سرعة القراءة والكتابة على قرص المكتبة.
• نسخ احتياطي للإعدادات واستعادتها، مع نسخة تُحفظ داخل المكتبة، فتستطيع حاوية جديدة تُمنح المكتبة نفسها أن تأخذها.
• خدمات تشغّلها وتوقفها من الصفحة، لكل منها حالتها وخطؤها إن وُجد.

صفحة الإدارة
تُدار كل الأمور من صفحة ويب على الخادم (Dashboard وServer وLibrary وISOs وPCs وMenu وUnattended وLog وAccount)، ولا حاجة إلى سطر الأوامر بعد تشغيل البرنامج.
• دليل للتشغيل الأول في أربع خطوات (كلمة مرورك الخاصة، والمكتبة، ومن يحق له استخدام الخادم، والفحوص)
• سجلّ مباشر مع مرشّح وزر تنزيل، وخيار لحفظه أيضاً في ملف.
• كلمة مرور تُولَّد عند أول تشغيل؛ وخمس كلمات مرور خاطئة تحظر العنوان خمس دقائق.


آمن بالتصميم
• للقراءة فقط: خادم الويب والقرص الشبكي وهدف iSCSI ومشاركة Windows لا تكتب أبداً في ملف ISO.
• الشبكة المحلية فقط: كل خدمة ترفض العناوين غير الخاصة؛ والشبكات الأخرى، كشبكة VPN، تُضاف يدوياً.
• قارئات مُحصَّنة: اختُبرت قارئات ملفات ISO وقوائم الإقلاع ونص القائمة باختبارات fuzzing كشفت عدة أعطال وصُحّحت، وتُنظَّف الأسماء الآتية من الملفات قبل أن تصل إلى القائمة.
شغّله في دقائق
الأسرع، إن كان لديك Proxmox: نفّذ هذا الأمر الواحد على مضيف Proxmox. ينشئ حاوية Debian صغيرة ويثبّت فيها Bootlace ويعرض عنوانها وكلمة المرور. وللتحديث لاحقاً اكتب update في الحاوية: يعرض الأمر الجديد في الإصدار ويعود إلى النسخة القديمة إن لم تستجب الجديدة.
1bash -c "$(curl -fsSL https://raw.githubusercontent.com/ghazichaieb/gola-bootlace/main/tools/proxmox/bootlace-lxc.sh)"
لا تملك Proxmox؟ اختر ما يناسب الحاسوب الذي لديك: كل الطرق تعطي البرنامج نفسه وصفحة الويب نفسها.
• Docker (على مضيف Linux): الصورة ghazichaieb/gola-bootlace مع شبكة المضيف، لمعماريتي amd64 وarm64. يتضمن ملف README ملف compose جاهزاً.
• حزمة Linux (amd64 أو arm64، ومنها Raspberry Pi): نزّل ملف .deb أو .rpm من صفحة الإصدارات ثم نفّذ apt install ./bootlace-*.deb (وdnf install للملف .rpm)؛ وهو يثبّت خدمة systemd.
• Windows: فُكّ ضغط الأرشيف ونفّذ bootlace.exe serve -iso-dir D:\isos لعمل سريع. ويعمل ما دامت نافذته مفتوحة فقط.
للبرنامج ثلاثة أوامر: bootlace serve يشغّل الخادم، وbootlace inspect يبيّن كيف سيشغّل الخادم ملف ISO معيناً، وbootlace health هو فحص السلامة. ويمكن أيضاً ضبط كل خيار بمتغير بيئة BOOTLACE_<NAME>.
بعد ذلك أعد تشغيل جهاز واختر الإقلاع من الشبكة (غالباً بالمفتاح F12 أو F11 أو Esc عند التشغيل) فتظهر القائمة. في أول تشغيل يولّد Bootlace كلمة مرور لصفحة الويب ويعرضها مرة واحدة في سجلّه.
كيف تحصل عليه
Bootlace مجاني ومفتوح المصدر (GPL-3.0-or-later). نزّل الإصدار 0.5.1 لنظام Linux أو Windows من صفحة الإصدارات، أو اسحب صورة Docker من Docker Hub، أو استخدم أمر Proxmox أعلاه. وكل إصدار موقّع، مع شرح للتحقق من التوقيع.
• الشيفرة المصدرية والمشكلات: github.com/ghazichaieb/gola-bootlace
• التوثيق: واجهة الويب، طريقة العمل، المتطلبات، Secure Boot
أمور يجب معرفتها
• البرنامج ما زال في بدايته. اختُبر في مختبر من الأجهزة الافتراضية (Proxmox وHyper-V) وعلى عدد قليل من الأجهزة الحقيقية، وبعض الأجهزة الحقيقية لا يعمل بعد: جهازان بشريحة شبكة Realtek لا يقبلان عرض الإقلاع أبداً في وضع UEFI (واللوحة الأم ASUS نفسها تعمل في وضع BIOS القديم)، وحاسوب محمول حديث لا يثق برنامجه الثابت إلا بشيفرة الإقلاع الخاصة بـ Windows يرفض shim الخاص بـ Secure Boot. ولهذا بالذات نحتاج إلى مختبِرين.
• يلزم كابل شبكة. الإقلاع من الشبكة لا يعمل عبر Wi-Fi.
• Secure Boot: يعمل الطريق المدمج مع ملفات ISO ذات النواة الموقّعة وعلى البرامج الثابتة التي تثق بشهادة Microsoft الخاصة بالأطراف الثالثة. أما أجهزة ARM64 فلا تُدعم بعد.
• ملفات ISO الخاصة بـ Windows تستخدم المنفذ 445. وخادم Windows يستخدمه أصلاً لمشاركة الملفات: استخدم منفذاً آخر أو شغّل Bootlace على Linux أو في حاوية أو على Proxmox.
• بعض الأمور تجريبية: لم يُؤكَّد FreeBSD وpfSense وOPNsense على أجهزة حقيقية بنظام UEFI، وجرى فحص UEFI HTTP boot على مستوى الشبكة ولم يُجرَّب بعد على برنامج ثابت حقيقي. ويعرض برنامج تثبيت Windows نافذته التقليدية عند تشغيله بهذه الطريقة.
• غير مشمول: التخزين الدائم للأنظمة الحية، والإقلاع من الشبكة عبر IPv6، ونسخ الصور المتعدد أو البث المتعدد. ولا يستضيف Bootlace ملفات ISO ولا ينزّلها عنك.
• سرعة التثبيت من الشبكة بسرعة الشبكة وقرص المكتبة. وشبكة Gigabit كافية؛ والحد الأدنى 256 ميغابايت من الذاكرة ونواة واحدة.
• مجلد المكتبة يجب أن يكون قابلاً للكتابة: ينشئ Bootlace فيه مجلداً مخفياً باسم .bootlace.
• صُمّم للشبكة المحلية. خدمتا القرص الشبكي وiSCSI فيه بلا تسجيل دخول وصفحة الويب غير مشفّرة، فلا تفتح منافذه إلى الإنترنت أبداً، واستخدم VPN.
• واجهة الويب بالإنجليزية فقط.
• النظام الذي يعمل من الشبكة لا يتصرّف تماماً كما لو بدأ من قرص: يجب أن تبقى الشبكة متصلة، وتغيب بعض الميزات التي تحتاج إلى المفتاح نفسه (مثل التخزين الدائم في Tails). تسردها هذه الصفحة.
مفتوح المصدر: جرّبه، واكسره، وحسّنه
يسعدنا أن تساعدنا، مهما كان مستواك:
• جرّبه على أجهزتك وأخبرنا بما حدث، خيراً كان أو شراً: أي جهاز أو لوحة أم، UEFI أو BIOS، وأي ملف ISO.
• أبلغ عن ملفات ISO التي لا تبدأ أو التي تبدأ على غير ما تتوقع: افتح مشكلة جديدة مع اسم الملف وما رأيته.
• ساهم بنفسك: إصلاحات، أو دعم نظام آخر، أو توثيق، أو ترجمات لواجهة الويب. طلبات الدمج (pull requests) مرحّب بها، ودليل المساهمة يشرح الطريقة.
• انشر الخبر بين كل من يثبّت الأجهزة، مهنةً أو هواية.
هل تريد أن نركّبه لك في مكتبك أو ورشتك، أو أن نتولّى عمليات التثبيت عنك؟ تواصل معنا.