| REFIND-INSTALL(8) | rEFInd Manual | REFIND-INSTALL(8) |
نام (NAME)
refind-install - نصب rEFInd در ESP و ایجاد یک ورودی در NVRAM
خلاصه دستور (SYNOPSIS)
refind-install [--notesp | --usedefault device-file | --root mount-point | --ownhfs device-file ] [--keepname] [--nodrivers | --alldrivers] [--shim shim-filename] [--localkeys] [--encryptkeys] [--yes]
توضیحات (DESCRIPTION)
برای اینکه مدیر بوت rEFInd قابل استفاده باشد، باید در پارتیشن سیستم EFI (اصطلاحاً ESP) رایانه یا مکان دیگری که برای EFI قابل دسترسی است نصب شود. در بیشتر موارد، یک ورودی NVRAM نیز که مکان rEFInd را مشخص میکند باید ایجاد شود. این مراحل را میتوان به صورت دستی انجام داد؛ با این حال، دستور refind-install روشی خودکار برای انجام این وظایف در هر دو سیستمعامل لینوکس و OS X فراهم میکند. البته رفتار و گزینههای دقیق بسته به سیستمعامل متفاوت است.
برخی از جزئیاتی که میتوانند بر نحوه اجرای اسکریپت تأثیر بگذارند شامل موارد زیر است:
- *
- اگر اسکریپت را به عنوان یک کاربر عادی اجرا کنید، تلاش میکند با استفاده از دستور sudo دسترسیهای کاربر ارشد (root) را به دست آورد. این کار در Mac OS X و برخی از نصبهای لینوکس (مانند اوبونتو یا اگر خود را به فهرست کاربران sudo اضافه کرده باشید) کار میکند، اما در برخی از نصبهای لینوکس با شکست مواجه میشود. در چنین سیستمهایی باید refind-install را به عنوان کاربر ریشه (root) اجرا کنید.
- *
- در OS X میتوانید اسکریپت را با ماوس با باز کردن یک نشست ترمینال و سپس کشیدن و رها کردن (drag-and-drop) فایل refind-install در پنجره ترمینال اجرا کنید. برای اجرای اسکریپت باید کلید Return یا Enter را فشار دهید.
- *
- اگر از قابلیت رمزنگاری کل دیسک (WDE) در OS X 10.7 یا قابلیت حجمهای منطقی در OS X 10.10 استفاده میکنید، باید rEFInd را در ESP یا در یک پارتیشن مجزای +HFS نصب کنید. حالت پیشفرض در rEFInd نسخه 0.8.4 و جدیدتر، نصب در ESP است. اگر ترجیح میدهید از یک حجم مجزای +HFS استفاده کنید، گزینه --ownhfs device-file برای refind-install الزامی است.
- *
- اگر از WDE یا حجمهای منطقی استفاده نمیکنید، میتوانید با استفاده از گزینه --notesp در refind-install، rEFInd را در پارتیشن ریشه (/) OS X نصب کنید. استفاده از این گزینه هنگام ارتقا از یک نصب فعال rEFInd در این مکان توصیه میشود.
- *
- اگر در مک، rEFIt را با rEFInd جایگزین میکنید، این احتمال وجود دارد که refind-install در مورد وجود برنامهای به نام /Library/StartupItems/rEFItBlesser به شما هشدار داده و بپرسد که آیا مایل به حذف آن هستید یا خیر. این برنامه طوری طراحی شده است که در صورت تغییر مدیر بوت پیشفرض، با bless کردن خودکار مجدد rEFIt، آن را به عنوان مدیر بوت فعال نگه دارد. این رفتار در صورتی که rEFInd را به عنوان مدیر بوت اصلی خود نصب کنید مسلماً نامطلوب است، بنابراین معمولاً بهتر است این برنامه را حذف کنید. اگر ترجیح میدهید گزینههای خود را حفظ کنید، میتوانید هنگام پرسش refind-install برای حذف rEFItBlesser به آن پاسخ N داده و در عوض آن را به صورت دستی در جای دیگری کپی کنید. اگر بعداً تصمیم گرفتید دوباره از rEFIt به عنوان مدیر بوت اصلی خود استفاده کنید، میتوانید rEFItBlesser را به جای خود بازگردانید.
- *
- اگر قصد دارید سیستمعاملهای مبتنی بر BIOS را روی رایانهای مبتنی بر UEFI بوت کنید، باید خط scanfor را در فایل refind.conf ویرایش کنید تا جستجوهای مربوطه فعال شوند. با این حال، این کار در مکها ضروری نیست؛ به دلیل محبوبیت بوت دوگانه با ویندوز در مک، اسکنهای BIOS/legacy به طور پیشفرض در مک فعال هستند.
- *
- در لینوکس، refind-install نوع فایلسیستم دایرکتوری /boot را بررسی میکند و در صورت در دسترس بودن درایور فایلسیستم منطبق، آن را نصب میکند. توجه داشته باشید که «دایرکتوری /boot» ممکن است روی یک پارتیشن جداگانه باشد یا بخشی از فایلسیستم ریشه (/) شما باشد که در این صورت درایور فایلسیستم ریشه شما نصب میشود. بعید است این ویژگی از یک سیستم اضطراری به درستی کار کند، هرچند اگر پارتیشن /boot جداگانهای داشته باشید و آن پارتیشن را در سیستم اضطراری خود در /boot و ESP را در /boot/efi سوار (mount) کنید، ممکن است کار کند.
- *
- در OS X، refind-install جدولهای پارتیشن شما را برای یافتن نشانههایی از نصب لینوکس بررسی میکند. در صورت یافتن چنین نشانهای، اسکریپت درایور فایلسیستم EFI را برای فایلسیستم ext4 لینوکس نصب میکند. این امر به rEFInd امکان میدهد کرنل لینوکس شما را در صورتی که روی فایلسیستم ext2، ext3 یا ext4 باشد بخواند. توجه داشته باشید که برخی از پیکربندیها به یک فایل /boot/refind_linux.conf نیاز خواهند داشت که فقط در لینوکس میتوان آن را به صورت قابل اعتماد تولید کرد. (اسکریپت mkrlconf که همراه با rEFInd ارائه میشود، پس از بوت کردن لینوکس این کار را انجام میدهد.) در این بین، میتوانید GRUB را از داخل rEFInd اجرا کنید یا پس از هایلایت کردن گزینه لینوکس در rEFInd، کلید F2 یا Insert را دو بار فشار دهید. این کار به شما امکان میدهد مشخصه root=/dev/whatever را وارد کنید، که در آن /dev/whatever شناسه دستگاه فایلسیستم ریشه (/) لینوکس شما است.
- *
- اگر refind-install را در لینوکس اجرا کنید و /boot/refind_linux.conf از قبل وجود نداشته باشد، refind-install این فایل را ایجاد کرده و آن را با چند مدخل نمونه پر میکند. اگر /boot روی یک پارتیشن FAT (یا +HFS در مک) باشد، یا اگر روی یک پارتیشن ext2fs، ext3fs، ext4fs، ReiserFS، Btrfs یا +HFS باشد و شما درایور مناسب را نصب کنید، در نتیجه rEFInd کرنل شما را شناسایی کرده و احتمالاً آن را به درستی بوت خواهد کرد. با این حال، برخی سیستمها نیاز به تنظیم دستی refind_linux.conf خواهند داشت؛ به عنوان مثال، برای افزودن dolvm به گزینههای بوت در سیستمهای Gentoo که از LVM استفاده میکنند.
- *
- اگر گزینه --shim را به اسکریپت ارسال کنید (به همراه نام فایل باینری Shim)، اسکریپت پیکربندی بوت امن (Secure Boot) را از طریق Shim راهاندازی میکند. به طور پیشفرض، این کار باعث میشود نام باینری rEFInd به grubx64.efi تغییر یابد. با این حال، نسخههای اخیر Shim از ارسال نام برنامه بعدی به Shim از طریق یک پارامتر پشتیبانی میکنند. اگر میخواهید از این قابلیت استفاده کنید، میتوانید گزینه --keepname را به refind-install ارسال نمایید.
پس از اجرای refind-install، باید خروجی اسکریپت را به دقت بررسی کنید تا مطمئن شوید همه چیز مرتب است. refind-install هنگام مواجهه با خطاها پیامهای خطا را نمایش میدهد؛ مانند زمانی که ESP به صورت فقطخواندنی سوار شده باشد یا فضای دیسک شما تمام شود. ممکن است لازم باشد چنین مشکلاتی را به صورت دستی برطرف کرده و اسکریپت را دوباره اجرا کنید. در برخی موارد ممکن است نیاز باشد به نصب دستی متوسل شوید، که کنترل بهتری بر جزئیاتی مانند انتخاب پارتیشن مورد استفاده برای نصب به شما میدهد.
گزینهها (OPTIONS)
- --notesp
- این گزینه که فقط در OS X معتبر است، به refind-install میگوید که rEFInd را به جای ESP در پارتیشن ریشه OS X نصب کند. این رفتار در rEFInd نسخه 0.8.3 و قدیمیتر پیشفرض بود، بنابراین ممکن است بخواهید هنگام ارتقای نصبهای آن نسخه از آن استفاده کنید، مگر اینکه از --esp (که اکنون رفتار پیشفرض است، هرچند گزینه --esp دیگر وجود ندارد) یا --ownhfs استفاده کرده باشید. همچنین اگر مطمئن هستید که از رمزنگاری کل دیسک یا حجمهای منطقی استفاده نمیکنید، ممکن است بخواهید در نصبهای جدید از --notesp استفاده کنید.
- --usedefault device-file
- با استفاده از این گزینه میتوانید rEFInd را با استفاده از نام فایل پیشفرض/جایگزین EFI/BOOT/bootx64.efi (و همچنین EFI/BOOT/bootia32.efi و EFI/BOOT/bootaa64.efi، در صورتی که ساختهای IA-32 و ARM64 در دسترس باشند) روی یک دیسک نصب کنید. شناسه device-file باید یک ESP سوارنشده یا دستکم یک پارتیشن FAT باشد، مانند --usedefault /dev/sdc1. هنگام نصب به این روش، ورودیهای NVRAM رایانه شما تغییر نخواهد کرد. هدف این است که بتوانید یک فلشمموری USB قابل بوت بسازید یا با این گزینه rEFInd را روی رایانهای نصب کنید که تمایل به «فراموش کردن» تنظیمات NVRAM خود دارد. این گزینه با گزینههای --notesp و --root ناسازگار و مانعةالجمع است.
- --ownhfs device-file
- این گزینه فقط باید در OS X استفاده شود. از آن برای نصب rEFInd روی یک حجم +HFS غیر از حجم استاندارد بوت مک استفاده میشود. نتیجه باید این باشد که rEFInd در مدیر بوت خود مک نمایش داده شود. مهمتر از آن، عملیات تعلیق به حافظه (suspend-to-RAM) ممکن است به درستی کار کند. توجه داشته باشید که این گزینه به یک حجم +HFS نیاز دارد که در حال حاضر یک حجم بوت OS X نباشد. این حجم میتواند یک حجم داده یا یک پارتیشن اختصاصی rEFInd باشد. ESP نیز ممکن است کار کند اگر برای استفاده از +HFS تبدیل شود؛ با این حال، +HFS یک فایلسیستم غیراستاندارد برای ESP است و بنابراین توصیه نمیشود.
- --root mount-point
- این گزینه برای کمک به نصب rEFInd از طریق یک «دیسک زنده» (live CD) یا سیستمهای اضطراری دیگر در نظر گرفته شده است. برای استفاده از آن، باید نصب معمولی خود را در /mount-point سوار کنید، شامل دایرکتوری boot/ شما (اگر جداگانه است) در /mount-point/boot و (در لینوکس) پارتیشن ESP خود در همان مکان یا در /mount-point/boot/efi. سپس اسکریپت refind-install برنامه rEFInd را در مکان مناسب نصب میکند؛ در لینوکس، بسته به جایی که ESP خود را سوار کردهاید در /mount-point/boot/EFI/refind یا /mount-point/boot/efi/EFI/refind. در OS X، این گزینه تنها در ترکیب با --notesp مفید است که در این صورت rEFInd در /mount-point/EFI/refind نصب میشود. اسکریپت همچنین یک ورودی در NVRAM شما برای rEFInd در این مکان اضافه میکند. شما نمیتوانید از این گزینه همراه با --usedefault استفاده کنید. توجه داشته باشید که این گزینه هنگام نصب بوت دوگانه لینوکس/OS X لازم نیست؛ فقط کافی است به صورت عادی در OS X نصب کنید.
- --nodrivers
- به طور معمول refind-install تلاش میکند درایور مورد نیاز برای خواندن boot/ را در لینوکس نصب کند. این تلاش فقط در صورتی کار میکند که از ext2fs، ext3fs، ext4fs، ReiserFS یا Btrfs در پارتیشن مربوطه استفاده کنید. اگر میخواهید از نصب این درایور صرفنظر کنید، گزینه --nodrivers را ارسال نمایید. این گزینه هنگام استفاده از --usedefault به صورت ضمنی فعال است.
- --alldrivers
- هنگامی که این گزینه را مشخص میکنید، refind-install تمام فایلهای درایور مربوط به معماری شما را کپی میکند. ممکن است بخواهید پس از استفاده از این گزینه، فایلهای درایور بلااستفاده را حذف کنید. توجه داشته باشید که در صورت استفاده از این گزینه، برخی رایانهها هنگ میکنند یا با هیچ درایوری کار نمیکنند، بنابراین با احتیاط از آن استفاده کنید.
- --shim shim-filename or --preloader preloader-filename
- اگر این گزینه را به refind-install ارسال کنید، اسکریپت فایل برنامه shim مشخصشده را در دایرکتوری مقصد کپی کرده، فایل MokManager.efi را از دایرکتوری فایل برنامه shim به دایرکتوری مقصد کپی میکند، نسخه ۶۴ بیتی rEFInd را به عنوان grubx64.efi کپی کرده و shim را در میانافزار (firmware) ثبت میکند. (اگر --usedefault را نیز مشخص کنید، از ثبت در NVRAM صرفنظر میشود. اگر از --keepname نیز استفاده کنید، از تغییر نام به grubx64.efi صرفنظر میشود.) هنگامی که فایل هدف به عنوان PreLoader شناسایی شود، تقریباً همین اتفاق رخ میدهد، اما refind-install به جای MokManager.efi فایل HashTool.efi را کپی کرده و rEFInd را به جای grubx64.efi با نام loader.efi کپی میکند. هدف سادهسازی نصب rEFInd روی رایانهای است که از بوت امن (Secure Boot) استفاده میکند؛ در این حالت، rEFInd در حالت Secure Boot بوت میشود، با یک نکته: اولین باری که سیستم را بوت میکنید، MokManager/HashTool اجرا میشود و باید از آن برای یافتن و نصب کلید عمومی یا ثبت rEFInd به عنوان یک برنامه مورد اعتماد استفاده کنید. فایل کلید عمومی rEFInd در زیردایرکتوری keys دایرکتوری rEFInd با نام refind.cer قرار خواهد داشت.
- --localkeys
- این گزینه به refind-install میگوید که یک کلید مالک ماشین (MOK) جدید ایجاد کند، آن را در etc/refind.d/keys/ به صورت *.refind_local ذخیره کند و قبل از نصب باینریهای ۶۴ بیتی rEFInd، همه آنها را مجدداً با این کلید امضا کند. این روش ارجح برای نصب rEFInd در حالت Secure Boot است، زیرا به این معنی است که باینریهای شما به صورت محلی امضا میشوند نه با کلید شخصی نویسنده که برای امضای باینریهای بسیاری از کاربران دیگر استفاده میشود؛ با این حال، این روش نیازمند نصب بودن هر دو باینری openssl و sbsign است. اولی به راحتی در مخازن اکثر توزیعها در دسترس است، اما دومی اینگونه نیست، بنابراین این گزینه پیشفرض نیست.
- --encryptkeys
- به طور معمول، اگر از گزینه --localkeys استفاده کنید، refind-install فایلهای کلید محلی را به صورت رمزنگارینشده روی هارد دیسک شما ذخیره میکند. بنابراین در صورت به خطر افتادن رایانه، نفوذگر میتواند از کلید خودتان برای امضای یک بوتلودر دستکاریشده استفاده کند و مزایای Secure Boot را از بین ببرد. اگر از این گزینه استفاده کنید، کلید خصوصی به صورت رمزنگاریشده و محافظتشده با یک گذرواژه رمزنگاری ذخیره میشود. قبل از اینکه کلید بتواند برای امضای هر باینری استفاده شود، باید این گذرواژه را وارد کنید؛ بنابراین خطر اینکه نفوذگر بتواند فرایند بوت شما را برباید کاهش مییابد. این گزینه مسلماً بسیار مطلوب است، اما نقطه ضعف آن این است که باید رمز عبور را به خاطر بسپارید و هر زمان که rEFInd یا هر برنامه دیگری را که با کلید خصوصی شما امضا شده است بهروزرسانی میکنید، آن را وارد کنید. این امر همچنین بهروزرسانی کاملاً خودکار rEFInd را غیرممکن میسازد.
- --keepname
- این گزینه تنها در ترکیب با --shim مفید است. این گزینه به refind-install میگوید هنگام استفاده با shim، نام فایل معمولی rEFInd (معمولاً refind_x64.efi) را حفظ کند و نام باینری را به grubx64.efi تغییر ندهد. این تغییر احتمال سردرگمی ناشی از مشکلات نام فایل را کاهش میدهد؛ با این حال، این ویژگی مستلزم آن است که shim با یک پارامتر خط فرمان اجرا شود که به باینری rEFInd با نام واقعی آن اشاره میکند. نسخههای shim قبل از 0.7 به درستی از این قابلیت پشتیبانی نمیکنند. (نسخه 0.4 با تفسیری دارای باگ از مشخصات لودر بعدی از آن پشتیبانی میکند.) اگر متغیرهای NVRAM شما خراب یا فراموش شوند، این ویژگی ممکن است اجرای rEFInd را دشوارتر کند. این گزینه با --usedefault ناسازگار است و هنگام اجرا در OS X یا بدون گزینه --shim در دسترس نیست. اگر اسکریپت هنگام استفاده از این گزینه یک نصب موجود rEFInd را در EFI/BOOT یا EFI/Microsoft/Boot بیابد و هیچ نصب دیگری از rEFInd پیدا نکند، متوقف میشود.
- --yes
- این گزینه باعث میشود که اسکریپت به هر اعلان yes/no که تحت شرایط خاصی ممکن است ایجاد شود، پاسخ ورودی Y را فرض کند؛ مانند زمانی که --shim را مشخص میکنید اما refind-install هیچ شواهدی از نصب Secure Boot شناسایی نمیکند. این گزینه عمدتاً برای استفاده توسط اسکریپتهایی مانند مواردی که ممکن است به عنوان بخشی از نصب از طریق یک بسته RPM یا دبیان استفاده شوند، در نظر گرفته شده است.
نویسندگان (AUTHORS)
نویسنده اصلی: Roderick W. Smith (rodsmith@rodsbooks.com)
همچنین ببینید (SEE ALSO)
در دسترس بودن (AVAILABILITY)
دستور refind-install بخشی از بسته rEFInd است و از سوی Roderick W. Smith در دسترس قرار دارد.
| 0.14.2 | Roderick W. Smith |