- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| SYSTEMD-BOOT(7) | systemd-boot | SYSTEMD-BOOT(7) |
الاسم¶
systemd-boot، sd-boot - مدير إقلاع UEFI بسيط
الوصف¶
systemd-boot (اختصار: sd-boot) هو مدير إقلاع UEFI بسيط. يوفر قائمة نصية لاختيار مدخل الإقلاع ومحررًا لسطر أوامر النواة. يدعم systemd-boot الأنظمة ذات البرامج الثابتة UEFI فقط.
يقوم systemd-boot بتحميل معلومات مدخل الإقلاع من قسم نظام EFI (ESP)، الذي يُوصل عادةً في /efi/ أو /boot/ أو /boot/efi/ أثناء وقت تشغيل نظام التشغيل، وكذلك من قسم محمل الإقلاع الموسع (XBOOTLDR) إذا كان موجودًا (يُوصل عادةً إلى /boot/). يجب أن توجد أجزاء ملفات التهيئة والنوى وصور initrd وصور EFI الأخرى للإقلاع عمومًا على ESP أو قسم محمل الإقلاع الموسع. يجب بناء نوى Linux مع CONFIG_EFI_STUB لتكون قابلة للتنفيذ المباشر كصورة EFI. أثناء الإقلاع، يقوم systemd-boot آليًا بتجميع قائمة بمداخل الإقلاع من المصادر التالية:
يدعم systemd-boot الميزات التالية:
يمكن استخدام bootctl(1) من نظام قيد التشغيل لتحديد موقع ESP وقسم محمل الإقلاع الموسع، وسرد المداخل المتاحة، وتثبيت systemd-boot نفسه.
يمكن استخدام kernel-install(8) لنسخ صور النواة إلى ESP أو قسم محمل الإقلاع الموسع وإنشاء ملفات وصف متوافقة مع مواصفات محمل الإقلاع.
يمكن استخدام systemd-stub(7) كدعامة إقلاع UEFI للنوى المنفذة، وهو مفيد لعرض شاشات الإقلاع الرسومية قبل الانتقال إلى عالم Linux. وهو قادر أيضًا على التقاط ملفات بيانات الاعتماد المساعدة آليًا (لتحديد معلمات الإقلاع) وصور إضافات النظام، كملفات مرافقة لصور النواة المُقلعة.
ارتباطات المفاتيح¶
يمكن استخدام المفاتيح التالية في قائمة الإقلاع:
↑ (أعلى)، ↓ (أسفل)، j، k، PageUp، PageDown، Home، End
أُضيف في الإصدار 239.
↵ (إدخال)، → (يمين)
أُضيف في الإصدار 239.
d
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 260.
D
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 260.
e
أُضيف في الإصدار 239.
+, t
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 239.
-, T
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 239.
r
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 250.
R
يُضبط متغير EFI للسماح باستمرار هذا الإعداد.
أُضيف في الإصدار 250.
p
أُضيف في الإصدار 250.
h, ?, F1
أُضيف في الإصدار 239.
f
للتّوافق مع روابط المفاتيح لعدة تطبيقات برامج ثابتة، يمكن الوصول إلى هذه العملية أيضًا باستخدام F2 وF10 وDel وEsc.
أُضيف في الإصدار 250.
Shift+o
أُضيف في الإصدار 255.
Shift+b
أُضيف في الإصدار 255.
يمكن الضغط على المفاتيح التالية أثناء الإقلاع أو في قائمة الإقلاع لإقلاع إدخال معين مباشرة:
l
أُضيف في الإصدار 239.
w
أُضيف في الإصدار 239.
a
أُضيف في الإصدار 239.
s
أُضيف في الإصدار 239.
1, 2, 3, 4, 5, 6, 7, 8, 9
أُضيف في الإصدار 239.
تظهر قائمة الإقلاع عند تكوين مهلة قائمة غير صفرية. إذا ضبطت مهلة القائمة على الصفر، فاضغط مع الاستمرار على مفتاح (يوصى بالمسافة) قبل تهيئة محمل الإقلاع لإظهار قائمة الإقلاع. لاحظ أنه وفقًا لتنفيذ البرنامج الثابت، قد تكون النافذة الزمنية لقبول ضغطات المفاتيح قبل تهيئة محمل الإقلاع قصيرة. إذا فاتتك النافذة، فأعد التشغيل وحاول مرة أخرى، مع الضغط المتكرر على مفتاح مناسب؛ في معظم الأنظمة، يمكن الوصول إلى النافذة الزمنية بعد عدة محاولات. يمكن استخدام مفاتيح غير مفتاح المسافة، باستثناء المفاتيح المذكورة أعلاه. إذا لم يعمل عرض القائمة عند الطلب بشكل جيد، ففكر في تعيين مهلة غير صفرية لعرض قائمة الإقلاع دون قيد أو شرط. قد تقدم بعض بيئات سطح المكتب خيارًا للإقلاع مباشرة إلى قائمة الإقلاع، مما يتجنب المشكلة تمامًا. بدلاً من ذلك، استخدم سطر الأوامر systemctl reboot --boot-loader-menu= بقيمة غير صفرية من الصدفة.
في المحرر، تقوم معظم المفاتيح بإدراج نفسها ببساطة، ولكن يمكن استخدام المفاتيح التالية لتنفيذ إجراءات إضافية:
← (يسار)، → (يمين)، الصفحة الرئيسية، النهاية
أُضيف في الإصدار 239.
مفتاح الهروب، Ctrl+c
أُضيف في الإصدار 239.
Ctrl+k
أُضيف في الإصدار 239.
Ctrl+w، Alt+Backspace
أُضيف في الإصدار 239.
Ctrl+Del، Alt+d
أُضيف في الإصدار 239.
↵ (إدخال)
أُضيف في الإصدار 239.
لاحظ أنه ما لم يتم تكوين خلاف ذلك في البرنامج الثابت UEFI، سيستخدم systemd-boot تخطيط لوحة المفاتيح الأمريكي، لذا قد لا تتطابق تسميات المفاتيح لمفاتيح مثل +/-.
الملفات¶
توجد الملفات التي يعالجها systemd-boot بشكل عام على ESP الخاص بـ UEFI والذي يُوصل عادةً إلى /efi/ أو /boot/ أو /boot/efi/ أثناء تشغيل نظام التشغيل. كما يعالج الملفات على قسم محمل الإقلاع الموسع الذي يُوصل عادةً إلى /boot/، إذا كان موجودًا.
يقرأ systemd-boot التكوين في وقت التشغيل مثل مهلة الإقلاع والإدخال المبدئي من /loader/loader.conf على ESP (بالاشتراك مع البيانات المقروءة من متغيرات EFI). انظر loader.conf(5).
تُقرأ ملفات وصف إدخال الإقلاع التابعة لـ UAPI.1 Boot Loader Specification[1] من /loader/entries/ على ESP وقسم محمل الإقلاع الموسع.
تُقرأ إدخالات إقلاع النواة الموحدة التابعة لـ UAPI.1 Boot Loader Specification[1] من /EFI/Linux/ على ESP وقسم محمل الإقلاع الموسع.
اختياريًا، يُخزن بذرة عشوائية لتوفير تجمع الإنتروبيا المبكر للإقلاع في /loader/random-seed في ESP.
أثناء التهيئة، يحمل systemd-boot آليًا جميع ملفات برامج التشغيل الموضوعة في دليل /EFI/systemd/drivers/ الخاص بـ ESP. يجب أن تحتوي الملفات الموضوعة هناك على امتداد لمعرف بنية EFI متبوعًا بـ .efi (على سبيل المثال، بالنسبة لـ x86-64 يعني هذا لاحقة x64.efi). يمكن استخدام هذا، على سبيل المثال، لإضافة دعم للأجهزة غير المدعومة أصلاً بواسطة البرنامج الثابت.
يمكن تنفيذ تسجيل متغيرات الإقلاع الآمن يدويًا أو آليًا إذا كانت الملفات متاحة تحت /loader/keys/NAME/{db,dbx,KEK,PK}.auth، حيث NAME هو اسم العرض لمجموعة المتغيرات في القائمة. إذا كانت إحدى المجموعات مسماة auto، فقد تُسجل آليًا اعتمادًا على بيئة التنفيذ وقيمة خيار "secure-boot-enroll". انظر loader.conf(5).
الملفات المساعدة¶
بالنسبة لإدخالات محمل الإقلاع من النوع #1 (كما هو معرّف في مواصفات محمل الإقلاع UAPI.1[1])، سيجمع systemd-boot موارد رفيقة إضافية مُعلنة عبر المفتاح "extra" في الإدخال، ويُولّد آليًا أرشيفات cpio initrd منها، ويُسجّل تلك الأرشيفات عبر بروتوكول Linux initrd EFI بحيث تُمرّر إلى النواة مع initrd الخاص بالإدخال. هذا مدعوم للإدخالات التي تشير إلى صورة نواة موحدة (UKI) عبر المفتاحين "uki" أو "uki-url". كل مفتاح "extra" يشير إلى ملف عادي واحد (نسبة إلى جذر نظام الملفات المحتوي على مقتطف الإدخال) ويمكن تحديد المفتاح عدة مرات. تُعرَف الموارد الرفيقة بلاحقة اسم الملف:
عندما تكون النواة المُقلعة هي UKI، فإن systemd-stub UEFI stub المُضمّن فيها سيجمع الموارد الرفيقة المُحقونة هنا مع أي ملفات رفيقة يجمعها هو نفسه من دليل الإسقاط .extra.d/ الخاص بـ UKI ومن /loader/credentials/ و /loader/extensions/، بحيث تُدمج جميع المصادر بشكل موحد في /.extra/ في initrd. انظر systemd-stub(7) لتفاصيل.
مثال إدخال من النوع #1 يستخدم المفتاح "extra":
title My OS version 1.2.3 machine-id 6a9857a393724b7a981ebb5b8495b9ea uki /6a9857a393724b7a981ebb5b8495b9ea/1.2.3/img.efi extra /6a9857a393724b7a981ebb5b8495b9ea/1.2.3/foo.cred extra /6a9857a393724b7a981ebb5b8495b9ea/1.2.3/bar.sysext.raw extra /6a9857a393724b7a981ebb5b8495b9ea/1.2.3/baz.confext.raw
متغيرات EFI¶
تُعرف متغيرات EFI التالية، ويمكن تعيينها أو قراءتها بواسطة systemd-boot للاتصال بين محمل الإقلاع ونظام التشغيل. يُستخدم UUID البائع "4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" في جميع الحالات.
LoaderBootCountPath
أُضيف في الإصدار 240.
LoaderConfigTimeout، LoaderConfigTimeoutOneShot
أُضيف في الإصدار 240.
LoaderConfigConsoleMode
أُضيف في الإصدار 250.
LoaderDevicePartUUID
أُضيف في الإصدارة 220.
LoaderDeviceURL
أُضيف في الإصدار 258.
LoaderEntries
أُضيف في الإصدار 240.
LoaderEntryPreferred، LoaderEntryDefault، LoaderEntrySysFail، LoaderEntryOneShot
أُضيف في الإصدار 240.
LoaderEntryLastBooted
سيضمن محمل الإقلاع أن LoaderEntryLastBooted محدث لكل إقلاع، ويُحدّثه حسب الحاجة وسيتجنب تغييره تمامًا عند ضبط LoaderEntryOneShot.
يقرأ محمل الإقلاع المتغير، الذي يأخذ أولوية أعلى من LoaderEntryDefault. يُتجاهل المتغير عند ضبط LoaderEntryOneShot.
لا يمكن استخدام LoaderEntryLastBooted كمؤشر على نجاح الإقلاع الأخير أو فشله.
أُضيف في الإصدار 250.
LoaderEntrySelected
أُضيف في الإصدار 240.
LoaderFeatures
أُضيف في الإصدار 240.
LoaderFirmwareInfo، LoaderFirmwareType
أُضيف في الإصدار 240.
LoaderTpm2ActivePcrBanks
أُضيف في الإصدار 258.
LoaderPcrSMBIOS
أُضيف في الإصدار 261.
LoaderImageIdentifier
أُضيف في الإصدارة 220.
LoaderInfo
أُضيف في الإصدار 240.
LoaderTimeExecUSec، LoaderTimeInitUSec، LoaderTimeMenuUsec
أُضيف في الإصدار 240.
LoaderSystemToken
أُضيف في الإصدار 243.
العديد من هذه المتغيرات مُعرّفة بواسطة واجهة محمل الإقلاع[2].
سلاسل SMBIOS من النوع 11¶
يمكن تكوين systemd-boot باستخدام سلاسل SMBIOS من النوع 11. تتكون السلاسل القابلة للتطبيق من اسم، متبوعًا بـ "="، متبوعًا بالقيمة. ما لم يكتشف systemd-boot أنه يعمل داخل بيئة حوسبة سرية، سيبحث systemd-boot في الجدول عن سلسلة باسم محدد، وإذا وُجدت، سيستخدم قيمتها. تُقرأ السلاسل التالية:
io.systemd.boot.kernel-cmdline-extra
أُضيف في الإصدار 256.
io.systemd.boot-entries.extra:ID=تعريف
io.systemd.boot-entries.extra:fooos-current.conf=title FooOS (Current) uki-url http://example.com/somedir/fooos.efi
لاحظ أن هذا المثال يحتوي على حرف سطر جديد. عند إنشاء هذه السلسلة من شِل، يجب توخي الحذر لترميزها بشكل صحيح.
مرر سلاسل متعددة منسقة بهذه الطريقة لتوليد إدخالات قائمة متعددة.
أُضيف في الإصدار 258.
io.systemd.boot.loglevel
أُضيف في الإصدار 259.
عد الإقلاع¶
يطبق systemd-boot آلية عد إقلاع بسيطة فوق مواصفات محمل الإقلاع UAPI.1[1]، للرجوع التلقائي وغير المراقب إلى إصدارات نواة أقدم/إدخالات محمل إقلاع عندما يفشل إدخال معين باستمرار. أي ملف إدخال محمل إقلاع وملف صورة نواة موحدة يحتوي على "+" متبوعة برقم واحد أو رقمين (إذا كانا اثنين فيجب فصلهما بـ "-")، قبل اللاحقة .conf أو .efi يخضع لعد الإقلاع: الرقم الأول من الرقمين ('محاولات متبقية') يُنقص بواحد في كل محاولة إقلاع، والرقم الثاني من الرقمين ('محاولات منجزة') يُزاد بواحد (إذا كان 'محاولات منجزة' غائبًا يُعتبر مكافئًا لـ 0). اعتمادًا على القيمة الحالية لهذين العدادين، يُعتبر إدخال الإقلاع في واحدة من ثلاث حالات:
بشكل عام، عند إضافة إدخالات جديدة إلى محمل الإقلاع، تبدأ أولاً في حالة 'غير محددة'، أي مع عداد 'محاولات متبقية' أكبر من الصفر. يبقى إدخال الإقلاع في هذه الحالة حتى إما أن يتمكن من إكمال إقلاع كامل بنجاح مرة واحدة على الأقل (في هذه الحالة سيكون في حالة 'جيدة') — أو يصل عداد 'محاولات متبقية' إلى الصفر (في هذه الحالة سيكون في حالة 'سيئة').
مثال: لنفترض أن ملف إدخال محمل الإقلاع foo.conf مُعد لـ 3 محاولات إقلاع. سينشئه المثبت تحت الاسم foo+3.conf. في الإقلاع الأول، يعيد محمل الإقلاع تسميته إلى foo+2-1.conf. إذا لم يكتمل ذلك الإقلاع بنجاح، يعيد محمل الإقلاع تسميته إلى foo+1-2.conf في الإقلاع التالي. إذا فشل ذلك أيضًا، سيُعاد تسميته أخيرًا إلى foo+0-3.conf بواسطة محمل الإقلاع في الإقلاع التالي، وبعد ذلك يُعتبر 'سيئًا'. إذا نجح الإقلاع مع ذلك، يُعاد تسمية ملف الإدخال إلى foo.conf بواسطة نظام التشغيل، بحيث يُعتبر 'جيدًا' من ذلك الحين فصاعدًا.
تأخذ قائمة الإقلاع عداد 'محاولات متبقية' في الاعتبار عند فرز إدخالات القائمة: تُرتب الإدخالات في حالة 'سيئة' في بداية القائمة، والإدخالات في حالة 'جيدة' أو 'غير محددة' في النهاية. يمكن للمستخدم اختيار إقلاع أي إدخال من القائمة بحرية، بما في ذلك تلك المُوسومة بالفعل كـ 'سيئة'. إذا تم تحديد إدخال القائمة للإقلاع آليًا، فهذا يعني أن الإدخالات 'الجيدة' أو 'غير المحددة' مفضلة بشكل عام (حيث أن العنصر السفلي من القائمة هو المُقلع مبدئيًا)، ولن تُؤخذ الإدخالات 'السيئة' في الاعتبار إلا إذا لم تبقَ إدخالات 'جيدة' أو 'غير محددة'.
يضبط إطار تثبيت النواة kernel-install(8) اختياريًا عداد 'محاولات متبقية' الأولي إلى القيمة المحددة في /etc/kernel/tries عند إنشاء إدخال محمل إقلاع لأول مرة.
استخدام SYSTEMD-BOOT في الآلات الافتراضية¶
عند استخدام qemu[4] مع OVMF[5] (برنامج UEFI الثابت للآلات الافتراضية)، يعمل مفتاح -kernel ليس فقط لأنوية لينكس، بل لأي ثنائي EFI، بما في ذلك systemd-boot وأنوية لينكس الموحدة (UKIs). مثال لسطر أوامر لتحميل systemd-boot على x64:
qemu-system-x86_64 -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2 -kernel /usr/lib/systemd/boot/efi/systemd-bootx64.efi -drive file=... [ ... ]
(قد يلزم تعديل المسار إلى ملف البرنامج الثابت اعتمادًا على التوزيعة.) سيكتشف systemd-boot أنه بدأ مباشرة بدلاً من تحميله من ESP وسيبحث عن ESP في هذه الحالة، مع مراعاة معلومات ترتيب الإقلاع من المشرف (إذا كانت متوفرة). لاحظ أنه لكي ينتج عن هذا نتيجة مفيدة، يجب استخدام وسيطة -drive أخرى لإرفاق صورة قرص فعلية مع ESP.
انظر أيضًا¶
bootctl(1), loader.conf(5), systemd-bless-boot.service(8), systemd-boot-random-seed.service(8), kernel-install(8), systemd-stub(7), مواصفات محمل الإقلاع UAPI.1[1], واجهة محمل الإقلاع[2], قياسات TPM2 PCR التي أجراها systemd[6]
ملاحظات¶
- 1.
- مواصفات محمل الإقلاع UAPI.1
- 2.
- واجهة محمل الإقلاع
- 3.
- تقييم الإقلاع الآلي
- 4.
- qemu
- 5.
- OVMF
- 6.
- قياسات TPM2 PCR التي أجراها systemd
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 261~rc3 |