REFIND-MKDEFAULT(8) rEFInd Manual REFIND-MKDEFAULT(8)

refind-mkdefault - تنظیم rEFInd به عنوان گزینه پیش‌فرض راه‌اندازی (بوت) EFI

refind-mkdefault [ -L|--label <name> ]

راه‌اندازی به شیوه EFI معمولاً به ورودی‌های مدیر بوت ذخیره‌شده در NVRAM متکی است، که محل برنامه‌های بوت EFI و ترتیبی را که سفت‌افزار (فریم‌ور) برای اجرای آن‌ها تلاش می‌کند توصیف می‌نمایند. در لینوکس، این ورودی‌ها را می‌توان با ابزار efibootmgr ایجاد کرد، حذف نمود و تغییر داد.

بسیاری از سیستم‌عامل‌ها و بسته‌های لینوکس فرض می‌کنند که خودشان باید فرآیند بوت را کنترل کنند، بنابراین هم ورودی‌های بوت NVRAM برای خود ایجاد می‌کنند و هم این ورودی‌ها را در ابتدای ترتیب بوت قرار می‌دهند. با این حال، اگر قصد دارید rEFInd فرآیند بوت را مدیریت کند، چنین تغییراتی نامطلوب بوده و نیازمند تنظیم مجدد از طریق efibootmgr است. اعمال این تنظیمات دشوار است و می‌تواند برای کاربران غیرمتخصص چالش‌برانگیز باشد.

اسکریپت refind-mkdefault امور را ساده می‌کند: اجرای این اسکریپت بدون هیچ گزینه‌ای، rEFInd را به عنوان برنامه بوت پیش‌فرض تنظیم می‌کند. جزئیات عملکرد اسکریپت به وضعیت فعلی فهرست ترتیب بوت و ورودی‌های موجود بستگی دارد:

*
اگر ورودی rEFInd از قبل در ترتیب بوت وجود داشته باشد و در ابتدای فهرست باشد، هیچ تغییری اعمال نمی‌شود.
*
اگر ورودی rEFInd در ترتیب بوت وجود داشته باشد اما در ابتدای فهرست نباشد، آن ورودی به جایگاه اول در ترتیب بوت منتقل می‌شود.
*
اگر بیش از یک ورودی rEFInd در ترتیب بوت وجود داشته باشد، refind-mkdefault ورودی‌ای را که زودتر آمده است به ابتدای فهرست ترتیب بوت منتقل می‌کند.
*
اگر هیچ ورودی rEFInd در ترتیب بوت نباشد اما بتوان یک ورودی بوت rEFInd را در فهرست ورودی‌های Boot#### یافت، به ترتیب بوت اضافه شده و در ابتدای فهرست قرار می‌گیرد.
*
اگر چندین ورودی بوت rEFInd وجود داشته باشد اما هیچ‌کدام در ترتیب بوت نباشد، همه ورودی‌ها به ترتیب بوت افزوده می‌شوند، اما اولویت ورودی نخست کنترل‌نشده خواهد بود.

ورودی rEFInd به عنوان ورودی‌ای تعریف می‌شود که شامل رشته refind (بدون حساسیت به حروف کوچک و بزرگ) باشد. این رشته می‌تواند در توضیحات یا در نام فایل وجود داشته باشد. رشته مورد استفاده برای شناسایی ورودی rEFInd را می‌توان با گزینه --label (-L) تغییر داد.

هدف این است که بتوان refind-mkdefault را پس از بوت از طریق GRUB یا روش‌های دیگر فراخوانی کرد تا rEFInd مجدداً به عنوان برنامه پیش‌فرض بوت بازگردانده شود. همچنین می‌توان آن را در اسکریپت‌های راه‌اندازی یا خاموش‌سازی سیستم قرار داد تا جایگاه پیش‌فرض rEFInd به صورت خودکار بازیابی گردد. از آنجا که اگر rEFInd نخستین ورودی بوت باشد، ترتیب بوت دوباره‌نویسی نمی‌شود، این روش ریسک پایینی دارد.

به جای جستجوی رشته refind در خروجی efibootmgr برای شناسایی rEFInd، رشته name را جستجو می‌کند.

دستور refind-mkdefault مقادیر زیر را بازمی‌گرداند:

0
اسکریپت با موفقیت به پایان رسید، که می‌تواند به این معنی باشد که هیچ تغییری لازم نبوده یا فراخوانی efibootmgr کد موفقیت بازگردانده است.
1
متغیرهای ترتیب بوت EFI در دسترس هستند و ورودی rEFInd پیدا شد، اما فراخوانی efibootmgr کد خطا بازگرداند.
2
ورودی‌های بوت EFI در دسترس نیستند. این وضعیت معمولاً نشان‌دهنده یک اشکال در EFI یا محتوای به شدت آسیب‌دیده NVRAM است.
3
هیچ ورودی rEFInd در فهرست گزینه‌های بوت یافت نشد، بنابراین تغییری در فهرست ترتیب بوت ایجاد نشد.
4
اسکریپت به دلیل مشکلات سیستم‌عامل نتوانست اجرا شود؛ سیستم‌عامل لینوکس نبود، ابزار efibootmgr در دسترس نبود، یا اسکریپت با دسترسی ریشه (root) اجرا نشد.

*
دستور refind-mkdefault هنگام راه‌اندازی در حالت BIOS (از جمله از طریق ماژول پشتیبانی سازگاری یا CSM در رایانه‌های مبتنی بر EFI) کار نمی‌کند. به همین ترتیب، اگر efibootmgr نصب نباشد یا به هر دلیلی اجرا نشود، کار نخواهد کرد.
*
اسکریپت از الگوریتم بسیار ساده‌ای برای تعیین آنچه باید به ابتدای فهرست ترتیب بوت منتقل شود استفاده می‌کند. اگر سیستم دارای ورودی‌های بوت rEFInd تکراری یا غیرکاربردی باشد، یا اگر نام‌گذاری آن‌ها مطابق انتظار نباشد، ممکن است این الگوریتم ناموفق عمل کند. در چنین مواردی پاک‌سازی دستی ورودی‌های بوت با استفاده از efibootmgr ممکن است ضروری باشد.

نویسنده اصلی: Roderick W. Smith (rodsmith@rodsbooks.com)

mvrefind(8), mkrlconf(8), refind-install(8), refind-sb-healthcheck(8), efibootmgr(8).

https://www.rodsbooks.com/refind

دستور refind-mkdefault بخشی از بسته rEFInd است و توسط Roderick W. Smith عرضه شده است.

0.14.2 Roderick W. Smith