EFIBOOTMGR(8) EFIBOOTMGR(8)

efibootmgr - تغییر پیکربندی مدیر بوت UEFI

efibootmgr [ -a ] [ -A ] [ -b XXXX ] [ -B ] [ -c ] [ -d DISK ] [ -D ] [ -e 1|3|-1 ] [ -E NUM ] [ --full-dev-path | --file-dev-path ] [ -f ] [ -F ] [ -g ] [ -i NAME ] [ -l NAME ] [ -L LABEL ] [ -m t|f ] [ -M X ] [ -n XXXX ] [ -N ] [ -o XXXX,YYYY,ZZZZ ... ] [ -O ] [ -p PART ] [ -q ] [ -r | -y ] [ -t seconds ] [ -T ] [ -u ] [ -v ] [ -V ] [ -w ] [ -@ file ]

برنامه efibootmgr یک ابزار در فضای کاربری است که برای تغییر و ویرایش مدیر بوت UEFI به کار می‌رود. این برنامه می‌تواند مدخل‌های بوت را ایجاد و حذف کند، ترتیب بوت را تغییر دهد، گزینه بوت اجرای بعدی را تنظیم کند و موارد دیگر.

جزئیات مربوط به مدیر بوت UEFI در مشخصات UEFI، نسخه ۱.۰۲ یا بالاتر، از طریق نشانی http://www.uefi.org در دسترس است.

توجه: دستور efibootmgr نیازمند آن است که هسته لینوکس از دسترسی به متغیرهای غیرفرار EFI از طریق /sys/firmware/efi/vars یا /sys/firmware/efi/efivars/ پشتیبانی کند.

در ادامه فهرستی از گزینه‌های پذیرفته‌شده توسط efibootmgr آمده است:

تنظیم شماره بوت (bootnum) به عنوان فعال.
تنظیم شماره بوت (bootnum) به عنوان غیرفعال.
ویرایش BootXXXX (هگزادسیمال).
حذف شماره بوت (bootnum).
ایجاد متغیر bootnum جدید و افزودن آن به ترتیب بوت (BootOrder).
ایجاد متغیر bootnum جدید بدون افزودن آن به ترتیب بوت (BootOrder).
دیسک حاوی بارگذار (پیش‌فرض: /dev/sda).
حذف مدخل‌های تکراری از BootOrder.
اجبار به ایجاد متغیرهای EDD 1.0 یا 3.0.

از -e 1 همراه با -E استفاده کنید اگر از سیستم بسیار قدیمی استفاده می‌کنید که برای بوت از UEFI بهره می‌برد، اما برای دستگاه‌های ذخیره‌سازی به درایورهای قدیمی CSM (BIOS) نیاز دارد.

گزینه -e 3 اکنون منسوخ شده و نام مستعاری برای --full-dev-path است.

شماره دستگاه EDD 1.0 (پیش‌فرض 0x80 است). به --edd مراجعه کنید.
اجبار به ایجاد مدخل‌های بوت با استفاده از مسیر کامل دستگاه UEFI، با شروع از ریشه PCIe یا معادل آن در بستر فعلی. پیش‌فرض استفاده از مسیر مخفف ()HD مبتنی بر دیسک سخت است.

شما نباید نیازی به استفاده از این گزینه داشته باشید مگر اینکه سفت‌افزار سیستم نتواند دستگاه شما را با استفاده از مسیر مخفف ()HD بوت کند.

توجه داشته باشید که اجبار به استفاده از مسیر کامل در صورتی که مشخص نباشد ریشه دستگاه سیستم چیست، دستگاه مشخص‌شده چگونه به آن متصل است، یا چگونه هر یک از آن‌ها باید کدگذاری شوند، با شکست مواجه خواهد شد.

اجبار به ایجاد مدخل‌های بوت با استفاده از مسیر مخفف دستگاه UEFI که با بخش ()File از مسیر شروع می‌شود. پیش‌فرض استفاده از مسیر مخفف ()HD مبتنی بر دیسک سخت است.
اتصال مجدد دستگاه‌ها پس از بارگذاری درایور. فقط برای مدخل‌های درایور اعمال می‌شود.
عدم اتصال مجدد دستگاه‌ها پس از بارگذاری درایور. فقط برای مدخل‌های درایور اعمال می‌شود.
اجبار دیسک دارای PMBR نامعتبر به در نظر گرفته شدن به عنوان GPT.
ایجاد یک مدخل بوت از شبکه (netboot) برای رابط نام‌برده‌شده.
نگه‌داشتن مدخل‌های قدیمی هنگام تنظیم ترتیب.
مشخص کردن بارگذار سیستم‌عامل (پیش‌فرض: \EFI\arch\grub.efi).
برچسب نمایشی مدیر بوت (پیش‌فرض: "Linux").
تنظیم روی t در صورتی که می‌خواهید حافظه زیر ۴ گیگابایت آینه‌سازی شود.
درصد X از حافظه برای آینه‌سازی بالای ۴ گیگابایت. یک مقدار ممیز شناور تا ۲ رقم اعشار پذیرفته می‌شود.
تنظیم BootNext بر روی XXXX (هگزادسیمال).
حذف BootNext.
تنظیم صریح BootOrder (هگزادسیمال). هر مقداری از 0 تا FFFF تا زمانی که با یک متغیر موجود ####Boot مطابقت داشته باشد پذیرفته می‌شود، و نیازی به پر کردن با صفرهای پیشین نیست.
حذف BootOrder.
شماره پارتیشن حاوی بارگذار بوت (پیش‌فرض: ۱).
حالت خاموش - جلوگیری از نمایش خروجی.
اعمال عملیات بر روی متغیرهای ####Driver به جای متغیرهای ####Boot.
مدت‌زمان انتظار مدیر بوت، بر حسب ثانیه.
حذف متغیر زمان انتظار (Timeout).
مدیریت آرگومان‌های اضافی خط فرمان به صورت UCS-2 (پیش‌فرض ASCII است).
حالت پرگو - نمایش اطلاعات تکمیلی.
فقط نمایش رشته نسخه و خروج.
نوشتن امضای یکتا روی MBR در صورت نیاز.
اعمال عملیات بر روی متغیرهای ####SysPrep به جای متغیرهای ####Boot.
-@ | --append-binary-args
الحاق آرگومان‌های متغیر اضافی از فایل (از - برای خواندن از stdin استفاده کنید). داده‌های درون فایل بدون هیچ‌گونه تغییری به عنوان آرگومان‌های خط فرمان به دستور بارگذار بوت الحاق می‌شوند، بنابراین می‌توانید هر داده باینری یا متنی مورد نیاز را ارسال کنید.


[root@localhost ~]# efibootmgr
BootCurrent: 0004
BootNext: 0003
BootOrder: 0004,0000,0001,0002,0003
Timeout: 30 seconds
Boot0000* Diskette Drive(device:0)
Boot0001* CD-ROM Drive(device:FF)
Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
Boot0003* PXE Boot: MAC(00D0B7C15D91)
Boot0004* Linux

هر یک از موارد بالا متغیرهای بوت هستند که به شرح زیر تعریف می‌شوند:

•
BootCurrent - مدخل بوتی که برای راه‌اندازی سیستم جاری در حال اجرا استفاده شده است
•
BootOrder - ترتیب بوت به صورتی که در مدیر بوت ظاهر می‌شود. مدیر بوت تلاش می‌کند اولین مدخل فعال در این فهرست را بوت کند. در صورت ناموفق بودن، مدخل بعدی را آزمایش می‌کند و به همین ترتیب ادامه می‌دهد.
•
BootNext - مدخل بوتی که برای اجرا در بوت بعدی زمان‌بندی شده است. این مقدار فقط برای یک بار بوت جایگزین BootOrder می‌شود و پس از اولین استفاده توسط مدیر بوت حذف می‌گردد. این قابلیت به شما امکان می‌دهد رفتار بوت بعدی را بدون تغییر در BootOrder تغییر دهید.
•
Timeout - مدت‌زمان بر حسب ثانیه از زمان ظاهر شدن مدیر بوت روی صفحه نمایش تا زمانی که به طور خودکار مقدار راه‌اندازی را از BootNext یا BootOrder انتخاب کند.
•
پنج مدخل بوت (0000 - 0004)، به همراه پرچم فعال/غیرفعال (* به معنی فعال است) و نامی که روی صفحه نمایش داده می‌شود.

یک نصب‌کننده سیستم‌عامل دستور efibootmgr -c را اجرا خواهد کرد. این دستور فرض می‌کند که /dev/sda1 پارتیشن سیستم EFI شما است و در /boot/efi سوار (mount) شده است. با این کار یک گزینه بوت جدید به نام "Linux" ایجاد شده و در ابتدای فهرست ترتیب بوت قرار می‌گیرد. گزینه‌ها می‌توانند برای تغییر رفتار پیش‌فرض ارسال شوند. بارگذار پیش‌فرض سیستم‌عامل \EFI\arch\grub.efi است.

با فرض پیکربندی موجود در مثال نخست، می‌توان دستور efibootmgr -o 3,4 را اجرا کرد تا مشخص شود ابتدا بوت PXE و سپس بوت لینوکس انجام پذیرد.

با فرض پیکربندی موجود در مثال نخست، می‌توان دستور efibootmgr -n 4 را اجرا کرد تا مشخص شود که مدخل لینوکس در بوت بعدی انتخاب شود.

با فرض پیکربندی موجود در مثال نخست، می‌توان دستور efibootmgr -b 4 -B را اجرا کرد تا مدخل شماره ۴ حذف شده و از BootOrder خارج شود.

یک مدیر سیستم می‌خواهد یک گزینه بوت برای راه‌اندازی از طریق شبکه بسازد. مدخل بوت با دستور زیر ایجاد می‌شود: efibootmgr -c -i eth0 -L netboot [ -l '\filename.efi' ]

لطفاً هرگونه اشکال، ویژگی درخواستی، وصله و غیره را به تیم بوت‌لودر Red Hat در نشانی https://github.com/rhboot/efibootmgr ارسال فرمایید.

این صفحه راهنما توسط dann frazier <dannf@debian.org> برای سیستم‌عامل دبیان گنو/لینوکس (Debian GNU/Linux) تولید شده و توسط Robert Bisewski <contact@ibiscybernetics.com> به‌روزرسانی شده است، اما ممکن است توسط دیگران نیز استفاده شود.

این سند متعاقباً توسط Robbie Harwood <rharwood@redhat.com> برای پروژه efibootmgr ویرایش شده است.

28 September 2021