• بازیابی GRUB. نصب بوت لودر Grub

    این روزها بسیاری از کاربران جدید سیستم عامل های غیر ویندوزی با شک و تردید زیادی با عبارت بوت لودر مواجه می شوند. یک توضیح کاملاً منطقی برای این وجود دارد: اکثر کاربران جدید قبل از اینکه به سایر سیستم عامل‌های کمتر رایج در بازار روی آورند، از همان ویندوز در زندگی روزمره خود استفاده می‌کردند. بوت لودر تا حد امکان شفاف و ابتدایی در آن پیاده سازی می شود. البته این امر تا حدودی راحتی را به کاربران عادی اضافه می کند، اما در عین حال کاهش می دهد عملکرددر حال حاضر یک سیستم عامل جهانی و محبوب است. بنابراین، تمام کاربرانی که تصمیم دارند به سایر محصولات صنعت فناوری اطلاعات توجه کنند، باید حتما با بوت لودر جهانی GRUB آشنا شوند. در آینده، این می تواند به طور قابل توجهی به کاربر در هنگام کار با چندین سیستم عامل نصب شده روی یک دستگاه کمک کند.

    ابزار جهانی
    اول از همه، بیایید سعی کنیم نام GNU GRUB را بفهمیم. این مخففترجمه از انگلیسی به معنای "لودر اصلی یکپارچه" است. سازنده این بوت لودر، سازمان غیرانتفاعی «پروژه گنو» است. در صنعت فناوری اطلاعات به دلیل نرم افزار رایگان خود به شهرت رسید. در اصل، GRUB خود منویی برای انتخاب سیستم عامل مورد نظر از لیست سیستم های پشتیبانی شده ارائه می دهد که شامل FreeBSD، Linux و Solaris می شود. GRUB حتی می تواند با سیستم عامل ویندوز کار کند. با این حال، برای اجرای چنین سیستم‌هایی که مستقیماً توسط یک بوت لودر پشتیبانی نمی‌شوند، ویژگی‌هایی وجود دارد که بعداً به تفصیل مورد بررسی قرار خواهند گرفت.

    توسعه فناوری
    محبوبیت روزافزون GRUB هر ساله دلیل اساسی بود که باعث توسعه و بهبود مستمر بوت لودر در آینده شد. اولین نسخه از بوت لودر، که GRUB Legacy نام داشت، به عنوان یک بوت لودر یکپارچه برای سیستم های یونیکس عمل می کند. طول عمر طولانی آن نیز با پشتیبانی گسترده از سوی شرکت های جدی و توزیع های سرور تضمین شد. اما شایان ذکر است که این شرایط به هیچ وجه بر توسعه بیشتر این بوت لودر تأثیری نداشته است. با تشکر از این، کاربران آخرین نسخه GRUB2 را در این زمان دریافت کردند. GRUB2 که عملاً از ابتدا نوشته شده است، به ندرت دارای ویژگی های مشترکی با GRUB Legacy قدیمی است. به عنوان بوت لودر پیش فرض در سیستم عامل اوبونتو از نسخه 9.10، GRUB2 به طور کامل توسعه بیشتر Legacy را که در گذشته خود را ثابت کرده بود متوقف کرد. یک مبتدی باید از همان ابتدا بفهمد که GRUB 2 در مقایسه با نسخه قبلی بوت لودر پیچیده تری است. بنابراین، به منظور محافظت از خریداران از مشکلات احتمالیو مشکلات، کوچکترین جزئیات در زیر مشخص خواهد شد. درک آنها به کاربر این امکان را می دهد که تمام نوآوری ها را به طور کامل اعمال کند آخرین نسخه، که تعداد زیادی از آنها وجود دارد. اینها شامل پشتیبانی از اسکریپت (متغیرها، توابع، شرایط، حلقه ها)، امکان تغییر ظاهر لودر مطابق با سلیقه کاربر، توانایی بارگذاری پویا ماژول ها است که به شما امکان می دهد عملکرد را نه در مرحله مونتاژ بلکه در مرحله مونتاژ گسترش دهید. به طور مستقیم در زمان اجرا، سازگاری با معماری های مختلف، پشتیبانی از بوت MacOS، کار پایداربا سیستم های فایل NTFS، FAT32، FAT16. به لطف نوع نصب کراس پلتفرم، GRUB2 را می توان از معماری های مختلف نصب کرد. همچنین در صورت بروز مشکل، امکان ورود به حالت امن وجود دارد. علاوه بر این، در نسخه جدیدخطاهای بوت لودر از GRUB Legacy قدیمی تصحیح شد، که به دلیل الزامات سازگاری با عقب، در ابتدا قابل رفع نبود. در آینده با نام GRUB به معنای GRUB 2 خواهیم بود که کاملا متوجه خواهیم شد.

    لیلو
    البته انتخاب بوت لودرهای سیستم عامل تنها به GRUB محدود نمی شود. بوت لودر مشابه LILI است. این بوت لودر سیستم های لینوکس است که هنوز ارتباط خود را از دست نداده است. به نفع GRUB باید به چند نکته توجه کرد: ویژگی های متمایز، که رقیب هنوز نمی تواند به آن ببالد. LILO تنها از 16 پیکربندی بوت پشتیبانی می کند، در حالی که GRUB از تعداد نامحدودی از این تنظیمات پشتیبانی می کند. GRUB همچنین می تواند با استفاده از آن بوت شود شبکه محلی، که در مورد LILO نمی توان گفت. LILO رابط فرمان تعاملی یکسانی ندارد، راحتی که کاربران آخرین نسخه GRUB قبلاً به آن عادت کرده اند. تنها ویژگی مشترک هر دو بوت لودر نیاز به کامپایل کردن تمام تغییرات ایجاد شده در منو در هر بار است. بوت لودر اختصاصی لینوکس مدتهاست که فاقد عملکرد ذخیره خودکار بوده است. GRUB 2 همچنین نمی تواند به این ویژگی راحت ببالد. حتی اگر این تفاوت ظریف را که برای استفاده روزمره ناخوشایند است در نظر بگیریم، لودر LILO در چندین نقطه به طور همزمان به رقیب خود می بازد. به لطف این، GRUB در بین کاربران سیستم های کامپیوتری خانگی گسترده تر می شود.

    نصب GRUB: ویژگی های فرآیند
    ابتدا باید مطمئن شوید که اوبونتو را روی رایانه خود نصب کرده اید یا دیسک بوت آن. پس از راه اندازی سیستم، باید با استفاده از کلیدهای ترکیبی Ctrl+Alt+F2 با ترمینال تماس بگیرید. سپس باید دستورات زیر را در آن بنویسید: - sudo add-apt-repository ppa: cjwatson/grub، - sudo add-get update && sudo add-get install grub 2، - sudo update-grub2. حتی اگر سیستم عامل شما اوبونتو نباشد، اما یک سی دی زنده داشته باشید، با یک تفاوت کوچک، روال یکسان باقی می ماند. بعد از اینکه از این بوت شدید دیسک بوت، باید گزینه “Try Ubuntu” را انتخاب کنید. به این ترتیب سیستم را بدون هیچ تغییری راه اندازی خواهید کرد کامپیوتر خود. پس از این، باید نصب بوت لودر GRUB را طبق همان طرح از مرحله فراخوانی ترمینال ادامه دهید. برای بررسی نسخه بوت لودر نصب شده می توانید از دستور grub-install-v استفاده کنید. شما همچنین می توانید این کار را مستقیماً هنگام بوت کردن اوبونتو انجام دهید.

    GRUB: الگوریتم راه اندازی
    با پایان نصب GRUB، اولین کاری که بوت لودر انجام می دهد این است که کد MBR را به بخش MBR خودش تغییر می دهد که حاوی رکورد اصلی بوت است. این شامل کد اصلی بوت لودر (446 بایت)، یک جدول پارتیشن با توضیحات پارتیشن های اولیه و ثانویه است. هارد دیسک(64 بایت). از آنجایی که بخش MBR کوچک است، راه اندازی GRUB در دو مرحله انجام می شود. بخش MBR حاوی پیوندی به فایل پیکربندی است که بنا به صلاحدید کاربر می تواند در هر دیسک سختی قرار گیرد. برای تعیین بارگذاری که از مرحله دوم شروع می شود استفاده می شود. تمام تنظیمات و داده های عملیات GRUB از فایل پیکربندی در نظر گرفته می شود. اگر فایل پیکربندیدر مرحله دوم یافت نشد، فرآیند دانلود پایان خواهد یافت. کاربر مجبور خواهد بود حالت دستیتنظیمات بوت را از خط فرمان انتخاب کنید. این ساختار بوت به GRUB اجازه می دهد در مقایسه با بسیاری از آنالوگ های دیگر که در آنها این فرآیند تا حداکثر ساده شده است، انعطاف پذیر و بسیار قابل تنظیم باشد.

    دستورات کنسول معمولا استفاده می شود
    گستره وسیعی از امکانات کار آخرین نسخه بوت لودر GNU GRUB، قابلیت های پیکربندی و سفارشی سازی آن، کاربران را بی تفاوت نمی گذارد. برای ورود به آن، فقط باید کلید "C" را فشار دهید تا منوی بوت نمایش داده شود. پس از این، تنها چیزی که باقی می ماند این است که دستورات لازم را به درستی وارد کنید.

    GRUB پس از نصب: راه اندازی و نرم افزار مفید
    در GRUB2، فایل پیکربندی اصلی /boot/grub/menu.lst نیست، بلکه /boot/grub/grub.cfg است. ویرایش این فایل کاملا بی معنی است. با هر تغییر ذخیره شده در فایل تنظیمات /etc/default/grub، دوباره ایجاد می شود. سفارشی سازی در /etc/default/grub عمدتا به تغییر آیتم بوت پیش فرض و زمان نمایش منو محدود می شود. پارامتر GRUB_DEFAULT مسئول تغییر نقطه اول است. مقدار آن شماره مورد را در منوی بوت نشان می دهد. هنگام انتخاب موارد دیگر، کاربر باید ترتیب آن را در لیست کلی بداند. برای این کار باید محتویات فایل /boot/grub/grub.cfg را مشاهده کرده و اکانت مورد نیاز را در آن پیدا کنید. شایان ذکر است قوانین شماره گذاری را به خاطر بسپارید. به مورد اول مقدار 0، مورد دوم مقدار 1، سومین مقدار 2 و غیره اختصاص داده می شود. پارامتر GRUB_TIMEOUT مسئول تاخیر در نمایش منوی بوت است. مقدار تخصیص داده شده در نقل قول تعداد ثانیه هایی را نشان می دهد که در طی آن صفحه اسپلش باید ظاهر شود. هنگام ویرایش این پارامتریک ویژگی دشوار وجود دارد.

    هنگامی که روی "-1" تنظیم می شود، تا زمانی که کاربر یکی از موارد را انتخاب کند، صفحه نمایش پخش می شود. در /etc/grub.d مجموعه ای از اسکریپت ها تمام هسته ها و سیستم های نصب شده بر روی کامپیوتر را پیدا می کنند. منوی بوت در grub.cfg تشکیل شده است. دو مورد اصلی مسئول جستجوی سایر سیستم عامل ها و هسته ها هستند - 30_os-prober و 10_linux. فایل 40_custom به شما امکان می دهد با افزودن نقاط بوت خود، GRUB را سفارشی کنید. این می تواند برای کار با انواع خاصی از راه اندازی سیستم مفید باشد. شایان توجه است که برای هر تغییری باید با یک محل ساخت و ساز خالی تمام شود. در غیر این صورت، آخرین مورد دانلود از همه موارد ارائه شده به سادگی نمایش داده نخواهد شد. راه ساده دیگری برای ویرایش GRUB در سیستم عامل اوبونتو وجود دارد. برای این منظور به ابزار grub-Customizer نیاز داریم. به دلیل سادگی و رابط بصری آن، بهترین گزینه برای راه اندازی این بوت لودر است. Grub Customizer برای مبتدیان بی تجربه بسیار مناسب است. برای نصب آن، باید ترمینال را با فشار دادن کلیدهای ترکیبی Ctrl+Alt+T راه اندازی کنید و سپس دستورات زیر را یکی یکی وارد کنید: -sudo add-apt-repository ppa:denielrichter2007/grub-customizer، -sudo add- دریافت آپدیت، -sudo add- دریافت نصب grub-customizer. البته ترجمه برنامه Grub-Customizer کیفیت چندان بالایی ندارد اما درک آن کاملا آسان است.

    - پیکربندی لیست - این مورد تنظیمات منو را هنگام بارگیری سیستم عامل نمایش می دهد. در اینجا می توانید ترتیب اقلام را تغییر دهید.
    - تنظیمات اولیه - انتخاب سیستم بوت پیش فرض و همچنین تعیین زمان انتظار.
    - ظاهر - این مورد به شما امکان ویرایش را می دهد طراحی خارجیمنوی بوت

    علاوه بر انواع تنظیمات، کاربر باید حتما به نرم افزار کار با GRUB نیز توجه کند. با استفاده از دستورات خاص، راه اندازی و تشخیص بوت لودر بسیار راحت تر خواهد شد.

    Super Grub Disk ساده و ابزار مفیدبرای بهبودی سریعبوت لودر نه تنها با LILO و GRUB، بلکه با ویندوز نیز کار می کند. می توان از فلاپی دیسک، درایو فلش یا دیسک راه اندازی کرد.

    GParted یک ویرایشگر پارتیشن دیسک است. به طور مستقیم از دیسک اجرا می شود. با استفاده از این برنامه می توانید عملیات زیر را با پارتیشن ها و سیستم های فایل روی آنها انجام دهید: حذف، ایجاد، بررسی، تغییر اندازه، کپی و جابجایی.
    سی دی SystemRescue - یک است توزیع لینوکسکه برای بازیابی بلایا طراحی شده است.

    اوبونتو، مانند بسیاری از توزیع های لینوکس دیگر، از GRUB2 به عنوان بوت لودر سیستم استفاده می کند. اگر GRUB2 خراب شود، برای مثال اگر ویندوز را بعد از آن نصب کنید نصب اوبونتو، یا اگر MBR را بازنویسی کنید، نمی توانید اوبونتو را بوت کنید.

    GRUB2 را می توان به راحتی با استفاده از یک سی دی زنده Ubuntu یا درایو فلش USB تعمیر کرد. این فرآیند با بازیابی بوت لودر GRUB Legacy در توزیع های قدیمی لینوکس متفاوت است.

    فرآیند زیر باید با تمام نسخه‌های اوبونتو کار کند. بر روی نسخه های اوبونتو 16.04 و اوبونتو 14.04 تست شده است.

    روش رابط کاربری گرافیکی: تعمیر بوت###

    تعمیر بوتیک برنامه رابط کاربری گرافیکی است که به شما امکان می دهد GRUB2 را تنها با یک کلیک تعمیر کنید. یک راه حل ایده آل برای اکثر کاربران.

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

    هنگام بوت کردن، برای بارگیری یک محیط دسکتاپ کار بر روی "Try Ubuntu" کلیک کنید.

    قبل از ادامه، مطمئن شوید که اتصال اینترنت شما کار می کند. ممکن است لازم باشد انتخاب کنید شبکه وای فایو رمز عبور خود را وارد کنید.

    یک ترمینال از Dash باز کنید و دستورات زیر را برای دانلود و نصب اجرا کنید تعمیر بوت:

    Sudo apt-add-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair boot-repair

    تعمیر بوتپس از اجرای دستور boot-repair سیستم را به طور خودکار اسکن می کند. پس از آن برای تعمیر GRUB2 روی دکمه Recommended repair کلیک کنید.

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

    تعمیر بوت شروع به کار خواهد کرد. ممکن است از شما خواسته شود یک ترمینال را باز کنید و برخی از دستورات را کپی/پیست کنید.

    فقط دستورالعمل های روی صفحه را دنبال کنید. تمام دستورالعمل ها را دنبال کنید تعمیر بوتو روی Forward کلیک کنید تا به صفحه بعدی بروید. ابزار شما را از طریق تمام مراحل لازم برای بازیابی راهنمایی می کند.

    بعد از تعمیر بوتکار به پایان می رسد، کامپیوتر خود را مجددا راه اندازی کنید. اوبونتو باید به طور معمول شروع شود.

    روش استفاده از ترمینال

    اگر از کثیف شدن دستان خود نمی ترسید، می توانید سیستم را از طریق ترمینال تعمیر کنید. شما باید از یک سی دی زنده یا درایو فلش USB بوت شوید، درست مانند روشی که در بالا توضیح داده شد. اطمینان حاصل کنید که نسخه اوبونتو روی دیسک با نسخه نصب شده در رایانه شما مطابقت دارد. به عنوان مثال، اگر اوبونتو 14.04 را نصب کرده بودید، باید از سی دی زنده اوبونتو 14.04 استفاده کنید.

    پس از بوت شدن سیستم، یک ترمینال را باز کنید. پارتیشن دیسکی که اوبونتو روی آن نصب شده است را با استفاده از یکی از دستورات زیر پیدا کنید:

    سودو fdisk -l sudo blkid

    در زیر خروجی هر دو دستور آمده است. در مورد دستور fdisk -l، پارتیشن اوبونتو را می توان با کلمه Linux در ستون System شناسایی کرد. هنگام استفاده از دستور blkid، پارتیشن با استفاده از سیستم فایل تعیین می شود ext4.

    اگر رایانه شما دارای چندین پارتیشن لینوکس در قالب است ext4، به اندازه و ترتیب ارائه آنها در لیست دقت کنید.

    دستورات زیر را برای مونت کردن پارتیشن اوبونتو در /mnt/ubuntu اجرا کنید، و به جای /dev/sdX# نام دستگاهی که پارتیشن اوبونتو روی آن نصب شده است، که در بالا تعریف شده است، جایگزین کنید:

    Sudo mkdir /mnt/ubuntu sudo mount /dev/sdX# /mnt/ubuntu

    در مثال بالا، پارتیشن اوبونتو در /dev/sda1 قرار دارد. این اولین پارتیشن روی اولین هارد دیسک است.

    این روزها بیش از دوازده کاربر جدید غیرویندوز از عبارت "bootloader" با شک و تردید استقبال می کنند. و یک دلیل کاملاً منطقی برای این وجود دارد: اکثر مبتدیان، قبل از اینکه به استفاده از سیستم عامل های دیگر، کمتر رایج در بازار روی آورند، از همان ویندوز در زندگی روزمره خود استفاده می کردند. در آن، این بوت لودر تا حد امکان به صورت ابتدایی و شفاف پیاده سازی می شود. و اگرچه این تا حدی راحتی را برای کاربر معمولی می‌افزاید، اما عملکرد سیستم عامل محبوب‌ترین و جهانی را نیز کاهش می‌دهد. بنابراین، همه کسانی که تصمیم گرفته اند به سایر محصولات صنعت فناوری اطلاعات توجه کنند، باید حتماً با بوت لودر جهانی GRUB آشنا شوند، که در آینده به کار با چندین سیستم عامل نصب شده در یک رایانه کمک قابل توجهی خواهد کرد.

    یک ابزار جهانی برای سیستم های غیر جهانی

    اول از همه، بیایید با نام GNU GRUB شروع کنیم. این مخفف از انگلیسی به عنوان "bootloader یکپارچه اصلی" ترجمه می شود. خالق آن سازمان غیرانتفاعی "پروژه گنو" است که به دلیل نرم افزار توزیع آزادانه خود در حوزه فناوری اطلاعات مشهور شده است. خود GRUB اساساً منویی را برای انتخاب نحوه بوت کردن سیستم عامل مورد نیاز کاربر از لیست کامل سیستم های پشتیبانی شده ارائه می دهد:

    • لینوکس.
    • FreeBSD.
    • سولاریس.

    در این صورت، GRUB قادر خواهد بود حتی با ویندوز نیز کار کند. با این حال، برای راه اندازی چنین سیستم هایی که مستقیماً توسط این بوت لودر پشتیبانی نمی شوند، نکات ظریف خاصی وجود دارد که کمی بعد در تمام جزئیات و جزئیات بررسی خواهیم کرد.

    مسیر توسعه فناوری

    محبوبیت روزافزون GRUB دلیلی اساسی بود که باعث توسعه و بهبود مستمر بوت لودر در آینده شد. اولین نسخه بوت لودر که GRUB Legacy نام دارد، هنوز به خوبی با وظایف یک بوت لودر یکپارچه برای سیستم های یونیکس مانند کنار می آید. پشتیبانی گسترده شرکت‌های جدی (مانند RedHat و Novell) و توزیع‌های سرور، ادامه حیات آن را به طور کلی تضمین کرد.

    با این حال، حتی این شرایط مطلقاً هیچ تأثیری بر بهبود بیشتر بوت لودر نداشت، به لطف آن کاربران آخرین نسخه GRUB 2 را در حال حاضر دریافت کردند که از ابتدا بازنویسی شده است، GRUB 2 به ندرت با GRUB Legacy منسوخ شده است. به جز خود نام . امروزه، GRUB نسخه دوم که به‌طور پیش‌فرض از نسخه 9.10 سیستم‌عامل اوبونتو استفاده می‌شود، به دلیل ساختار پیشرفته‌تر و قدرتمندتر، هرگونه توسعه بیشتر Legacy را که قبلاً به خوبی خود را در گذشته ثابت کرده بود، کاملاً متوقف کرده است.

    با این حال، از همان ابتدا، یک مبتدی باید درک کند که GRUB 2 در مقایسه با نسخه قبلی، بوت لودر پیچیده تری است. بنابراین، برای محافظت از کاربران در برابر مشکلات و مشکلات احتمالی، تمام جزئیات کوچک در زیر به سادگی و با جزئیات توضیح داده می شود که درک آن به شما امکان می دهد از تمام نوآوری های جدیدترین نسخه استفاده کنید و کاملاً وجود دارد. تعداد کمی از آنها:

    • پشتیبانی از اسکریپت (چرخه ها، شرایط، متغیرها و توابع).
    • رابط گرافیکی قابلیت تغییر انعطاف‌پذیر ظاهر بوت لودر را برای مطابقت با سلیقه شخصی کاربر اضافه می‌کند (GRUB 2 را می‌توان به راحتی از یک جدول سیاه و سفید به یک پنجره چند رنگی شیک تغییر داد).
    • امکان بارگذاری پویا ماژول ها. این به شما امکان می دهد عملکرد را نه در مرحله مونتاژ، بلکه مستقیماً در حین اجرا گسترش دهید.
    • سازگار با معماری های مختلف
    • پشتیبانی برای بارگیری سیستم عامل مک اضافه شده است.
    • کار پایدار با سیستم های فایل مانند: FAT16, FAT32, NTFS، هر نسخه داخلی, XFSو ISO
    • نوع نصب کراس پلتفرم امکان نصب GRUB2 از معماری متفاوت را فراهم می کند
    • مقدمه حالت امندر صورت بروز شرایط مشکل
    • رفع خطاهای قدیمی GRUB Legacy که در ابتدا به دلیل الزامات قابل رفع نبود

    آیا همه درباره LILO شنیده اند؟

    البته، انتخاب کاربران در میان لودرهای سیستم عامل تنها به GRUB محدود نمی شود باید ویژگی هایی را در نظر گرفت که یک رقیب مستقیم قطعاً نمی تواند از آنها ببالد:

    • LILO تنها از 16 پیکربندی بوت پشتیبانی می کند، در حالی که GRUB از تعداد نامحدودی از این تنظیمات پشتیبانی می کند.
    • GRUB می تواند از طریق یک شبکه محلی بوت شود، که نمی توان در مورد LILO گفت.
    • در نهایت، LILO همان رابط دستوری تعاملی را ندارد که کاربران آخرین نسخه GRUB مدت‌هاست به آن عادت کرده‌اند.

    تنها ویژگی مشترک هر دو لودر نیاز به کامپایل کردن تمام تغییرات ایجاد شده در منو در هر بار است. عملکرد ذخیره خودکار مدت هاست که در بوت لودر اختصاصی لینوکس وجود ندارد. GRUB 2 همچنین از چنین ویژگی مناسبی برخوردار نیست. اما حتی با در نظر گرفتن این تفاوت ظریف که برای استفاده روزمره ناخوشایند است ، LILO از چندین نقطه نسبت به رقیب خود پایین تر است ، به همین دلیل در بین کاربران رایانه خانگی به طور فزاینده ای گسترده می شود.

    نصب GRUB: تمام تفاوت های ظریف و جزئیات فرآیند

    از همان ابتدا مطمئن شوید که یا اوبونتو را نصب کرده اید یا یک دیسک قابل بوت (LiveCD) برای آن دارید. پس از راه اندازی سیستم، باید ترمینال را با استفاده از کلیدهای ترکیبی Ctrl+Alt+F2 فراخوانی کنید و سپس دستورات زیر را در آن وارد کنید:

    Sudo add-apt-repository ppa:cjwatson/grub،

    Sudo add-get update && sudo add-get install grub2,

    Sudo update-grub2.

    و حتی اگر اوبونتو را نصب نکرده باشید، اما یک LiveCD داشته باشید، این روش با تنها یک تفاوت کوچک ثابت می ماند. پس از بوت شدن از این، گزینه "Try Ubuntu" را انتخاب کنید - به این ترتیب سیستم را بدون هیچ تغییری در رایانه خود راه اندازی خواهید کرد. پس از آن، نصب بوت لودر GRUB را به همین ترتیب از مرحله فراخوانی ترمینال ادامه دهید.

    با دستور می توانید نسخه بوت لودر نصب شده را بررسی کنید grub-install -vو همچنین مستقیماً در هنگام بوت شدن اوبونتو.

    الگوریتم راه اندازی GRUB

    با اتمام نصب GRUB، بوت لودر ابتدا کد MBR را به کد خود تغییر می دهد. MBR بخشی است که شامل اصلی است ورودی بوت(از انگلیسی حاوی:

    • کد اصلی بوت لودر (446 بایت)؛
    • جدول پارتیشن با شرح پارتیشن های اصلی و ثانویه هارد دیسک (64 بایت).

    با توجه به اندازه کوچک بخش MBR، راه اندازی GRUB در دو مرحله معمولی قرار می گیرد:

    1. MBR حاوی پیوندی به فایل پیکربندی است (که می تواند بر روی هر هارد دیسک، بنا به صلاحدید کاربر قرار گیرد). با این کار است که کل مرحله بارگیری که از مرحله دوم شروع می شود، مشخص می شود.
    2. فایل پیکربندی آنها تمام تنظیمات و داده های لازم برای کار GRUB را در نظر می گیرد. اگر در مرحله دوم فایل پیکربندی پیدا نشد، فرآیند بوت خاتمه می یابد و کاربر باید به صورت دستی پیکربندی بوت را از خط فرمان انتخاب کند.

    این ساختار بوت به GRUB اجازه می دهد تا نسبت به بسیاری از آنالوگ های دیگر قابل تنظیم و انعطاف پذیری بیشتری داشته باشد، که در آن این فرآیند تا حداکثر فشرده سازی ساده شده است.

    متداول ترین دستورات کنسول استفاده می شود

    گستره قابل توجهی از امکانات کار در حالت کنسول آخرین نسخه GNU GRUB، قابلیت های راه اندازی و پیکربندی نیز کاربران را بی تفاوت نخواهد گذاشت. برای وارد شدن به آن، کافیست در حالی که منوی بوت نمایش داده می شود، کلید "C" را فشار دهید، پس از آن تنها کاری که باید انجام دهید این است که دستورات مورد نیاز خود را به درستی وارد کنید:

    تیم هاتوضیحاتنمونه ورودی کنسول
    lsدستور جهانی برای کار با لیست ها هارد دیسک هاو بخش ها می توان از آن برای نمایش محتویات یک پوشه استفاده کرد.ls /boot/grub
    استفاده از آن خواهد داد اطلاعات کاملکاملا در مورد هر بخش این نشان دهنده نوع سیستم فایل روی آن، برچسب آن، UUID و همچنین تاریخ آخرین تغییرات است.
    گربهنمایش اطلاعات در مورد محتویات یک فایل خاص.cat /path/name
    لینوکسیک آنالوگ از دستور هسته GRUB از نسخه قدیمی قدیمی Legacy که به شما امکان می دهد هسته لینوکس مشخص شده را بارگیری کنید.

    فایل هسته لینوکس

    گزینه 1 = مقدار

    گزینه 2 گزینه 3

    زنجیر اندازانتقال کنترل بوت به بوت لودر دیگری در طول زنجیره. بوت لودر منحصراً در پارتیشنی که به عنوان root مشخص شده است جستجو می شود (البته با نشان دادن فایل اجرایی خاص).

    chainloader /path/filename

    ریشههنگام استفاده از دستور بدون هیچ پارامتری، کاربر اطلاعاتی در مورد پارتیشن ریشه و همچنین نوع سیستم فایل روی آن دریافت می کند.ریشه
    کمتر (به دلیل احتمال عملکرد نادرست) برای انتقال ریشه به پارتیشن دیگر استفاده می شود.

    *،* - به ترتیب شماره دیسک و شماره پارتیشن روی آن

    مجموعهاغلب، به دلیل پایداری و عملکرد، برای تخصیص مجدد پارتیشن ریشه روی دیسک استفاده می شود.

    تنظیم root= (hd*,*)

    *،* - به ترتیب شماره دیسک و شماره پارتیشن روی آن

    جستجو کنید

    دستوری برای جستجوی یک بخش UUID، برچسب یا یک فایل خاص. برای کار پارامترهای جستجواز کلیدهای زیر استفاده می شود:

    • u (یا --fs-uuid) - جستجوی پارتیشن بر اساس UUID.
    • l (یا --label) - جستجو بر اساس برچسب بخش.
    • f (یا --file) - جستجوی یک فایل خاص.
    • n (یا --no-floppy) - هنگام بررسی درایو فلاپی از آن پرش کنید.
    • s (یا --set) - بخش یافت شده را به عنوان مقدار متغیر مشخص شده تنظیم کنید.

    اگر شماره‌گذاری دیسک‌ها و پارتیشن‌ها اشتباه شود، دستور مفید خواهد بود، به همین دلیل است که دستور set root یا به هیچ جا منتهی می‌شود یا به پارتیشن اشتباه دیسک اشتباه منجر می‌شود.

    جستجو -u uuid_of_the_partition

    برچسب پارتیشن جستجو -l

    جستجو -f /path/name

    lsfontsلیستی از فونت های دانلود شده در حال حاضر را نمایش می دهد.lsfonts
    کمک کندبرای نمایش کل لیست موجود استفاده می شودکمک کند
    یا برای خروجی دستوراتی که با ترکیب خاصی از کاراکترها شروع می شوند.

    help s - نمایش راهنما برای همه دستوراتی که با s شروع می شوند.

    مجموعه کمک - راهنمایی در مورد دستور set را نمایش می دهد.

    terminal_output.consoleبه سیاه و سفید تغییر دهید طرح رنگنمایش داده شود.terminal_output.console
    پس زمینه_تصویر

    تغییر تصویر پس زمینه در زمان واقعی این فقط به انتخاب یک گزینه طراحی برای فونت ها کمک می کند تا در یک پس زمینه مشخص قابل تشخیص باشند.

    لطفاً توجه داشته باشید: فرمان تنظیمات طراحی را تغییر نمی دهد - تصویر فقط در طول جلسه فعلی تا خاموش شدن بعدی در پس زمینه باقی می ماند.

    background_image /path/name file

    چکمهکامپیوتر خود را بوت کنید.چکمه
    راه اندازی مجددکامپیوتر خود را مجددا راه اندازی کنید.راه اندازی مجدد
    کامپیوتر خود را خاموش کنید.توقف

    GRUB پس از نصب: راه اندازی و نرم افزار مفید

    فایل پیکربندی اصلی در GRUB2، بر خلاف نسخه قبلی Legacy، نیست /boot/grub/menu.lst، و در حال حاضر /boot/grub/grub.cfg.با این حال، ویرایش مستقیم آن فایده ای ندارد - با هر تغییر ذخیره شده در فایل تنظیمات /etc/default/grub و در فهرست اسکریپت ها /etc/grub.d ایجاد می شود.

    در /etc/default/grubسفارشی سازی عمدتا به تغییر آیتم بوت پیش فرض و/یا زمان نمایش منو محدود می شود:

    • پارامتر مسئول اولین نقطه تغییر است GRUB_DEFAULT، که مقدار آن نشان دهنده تعداد آیتم در منوی بوت است. هنگام انتخاب هر مورد دیگری، کاربر باید ترتیب آن را از لیست کلی بداند (برای انجام این کار، باید محتویات را مشاهده کنید. /boot/grub/grub.cfgو با حساب پیدا کنید ورودی مورد نظر). در عین حال، قوانین شماره گذاری را فراموش نکنید: به اولین مورد مقدار 0، دوم - 1، سوم - 2 و غیره اختصاص داده می شود.
    • پارامتر مسئول تاخیر در نمایش منوی بوت است GRUB_TIMEOUT، که مقدار اختصاص داده شده آن در نقل قول نشان دهنده تعداد ثانیه هایی است که در طی آن این صفحه نمایش پاشیده ظاهر می شود. یک ویژگی دشوار در ویرایش این پارامتر وجود دارد: با تنظیم مقدار "-1"، محافظ صفحه دقیقا تا زمانی که کاربر موردی را انتخاب کند، معلق خواهد ماند.

    مجموعه ای از اسکریپت ها در /etc/grub.dتمام سیستم ها و هسته های نصب شده روی کامپیوتر را پیدا کنید و منوی بوت را در grub.cfg تشکیل دهید. دو مورد اصلی مسئول جستجوی هسته ها و سایر سیستم عامل ها هستند: 10_linux و 30_os-prober. فایل 40_custom به شما امکان می دهد GRUB را با افزودن موارد بوت خود تغییر دهید، که برای کار با انواع خاصی از راه اندازی سیستم مفید است (توجه داشته باشید که با هر تغییری باید با یک خط خالی تمام شود، در غیر این صورت آخرین مورد بوت از همه موارد پیشنهادی خواهد شد. به سادگی نمایش داده نمی شود).

    با این حال، یک راه ساده تر برای ویرایش GRUB در سیستم اوبونتو، ابزار Grub-Customizer است. به لطف سادگی و رابط بصری آن، آن را بهترین گزینهبرای پیکربندی بوت لودر، مناسب ترین برای مبتدیان بی تجربه. برای نصب، ترمینال را راه اندازی کنید (Ctrl+Alt+T)، سپس دستورات زیر را یکی یکی وارد کنید:

    Sudo add-apt-repository ppa:danielrichter2007/grub-customizer،

    Sudo add-get update،

    Sudo add-get install grub-customizer.

    و اگرچه ترجمه برنامه Grub-Customizer چیزهای زیادی را برای شما باقی می گذارد، اما درک آن بسیار آسان است:

    • پیکربندی لیست- تنظیمات منو هنگام بارگیری سیستم. در اینجا ترتیب نقاط آن تغییر می کند.
    • تنظیمات اولیه- انتخاب سیستم برای بوت شدن به صورت پیش فرض و همچنین تعیین زمان انتظار.
    • ظاهر - ویرایش ظاهر منوی بوت.

    علاوه بر انواع تنظیمات، کاربر قطعا باید به نرم افزار اثبات شده برای کار با GRUB توجه کند که پیکربندی و تشخیص آن بسیار راحت تر می شود:

    • دیسک سوپر گراب- یک ابزار ساده و راحت برای بازیابی سریع بوت لودر. در عین حال، می تواند نه تنها با GRUB و LILO، بلکه حتی با خود ویندوز کار کند. از سی دی، درایو فلش یا فلاپی دیسک اجرا می شود.
    • GParted- ویرایشگر پارتیشن دیسک که مستقیماً از سی دی راه اندازی می شود. با کمک آن می توانید عملیات هایی را با پارتیشن ها و سیستم های فایل روی آنها انجام دهید، مانند: ایجاد، حذف، تغییر اندازه، بررسی، جابجایی و کپی کردن.
    • SystemRescueCD- یک توزیع لینوکس که مخصوص بازیابی بلایای طبیعی است.
    • TestDisk- ابزاری که به شما امکان می دهد پارتیشن های جداگانه و کل دیسک های بوت را تشخیص داده و بازیابی کنید.

    بوت لودر چگونه سیستم عامل ویندوز را مدیریت می کند؟

    متأسفانه GRUB به هیچ وجه نمی تواند مستقیماً ویندوز x86 را بوت کند (نسخه 64 بیتی نیز از این قاعده مستثنی نیست) به همین دلیل لازم است مکانیزم زنجیره راه اندازی مناسب ایجاد شود. برای انجام این کار، در فایل پیکربندی grub.cfgشما باید چندین خط از دستورات خاص را اضافه کنید:

    عنوان ویندوز،

    Rootnoverify (hd*,*)

    Chainloader +1،

    مثال و توضیحات مفصلمورد دوم فقط در جدول دستورات کنسول ذکر شده است. اکنون مورد بسیار عملی فرا رسیده است که در محل کار مفید خواهد بود. با این حال، قبل از آن چند خط وجود دارد که برای بارگذاری ویندوز اهمیت کمتری ندارند:

    • rootnoverify (hd*,*)- همان آنالوگ ریشه تنظیم کنید. به GRUB در مورد مکان پارتیشنی که قسمت بعدی کد بوت روی آن قرار دارد اطلاع می دهد، اما آن را نصب نمی کند (به دلیل واضحی که GRUB نمی تواند این کار را انجام دهد). لطفا یک بار دیگر به آن قسمت توجه کنید (hd*,*)- این به ترتیب شماره دیسک و شماره پارتیشنی است که ویندوز روی آن نصب شده است.
    • سازنده- فرمان وضعیت بوت پارتیشن ریشه مشخص شده را می دهد.

    الان همون تیم Chainloader +1,که تمام کنترل بوت بیشتر را مستقیماً به بوت لودر ویندوز منتقل می کند.

    در نهایت دستور boot نهایی بوت را شروع می کند و پس از آن می توانید با خیال راحت در سیستم عامل انتخاب شده کار کنید.

    همچنین اتفاق می افتد که نه یک، بلکه دو یا حتی چند نسخه از ویندوز بر روی هارد دیسک نصب شده است. و سپس یک پرتاب پایدار بدون انجام دهید دستورات اضافیپنهان کردن/نمایش ( پنهان کردن / پنهان کردن) بخش ها به سادگی غیر واقعی است. نکته اصلی این است که اگر فایل پیکربندی GRUB مخفی شدن هر پارتیشنی از درایو را مشخص کند، ویندوز به سادگی قادر به خواندن آن نخواهد بود. و اگر پارتیشن قابل مشاهده باشد، امکان بوت شدن از آن وجود خواهد داشت.

    اگر چندین سیستم عامل دارید، ابتدا تصمیم بگیرید که کدام نمونه را می خواهید بوت کنید، سپس مکان دقیق آن را بررسی کنید - باید بدانید که روی کدام پارتیشن هارد دیسک نصب شده است. به عنوان مثال، دو نسخه مختلف از ویندوز به ترتیب بر روی پارتیشن های اول و دوم یک درایو قرار دارند و کاربر باید نسخه دوم را دانلود کند. برای این کار باید تغییرات زیر را در فایل menu.lst اعمال کنید:

    عنوان ویندوز،

    پنهان کردن (hd0,1)،

    Rootnoverify (hd0,1)

    Chainloader +1،

    دستورات نسبت به نمونه کد قبلی اضافه شده است پنهان کردنو پنهان کردن، به لطف آن کاربر می تواند سیستم عامل مورد نظر را از یک پارتیشن دیسک سخت بوت کند.

    نصب مجدد GRUB در صورت بروز مشکلات بحرانی

    حتی در صورت بروز مشکلات فنی، بازگردانی GRUB یک کار کاملاً ساده است. ابتدا LiveCD نصب را دانلود کنید، ترمینال را با استفاده از میانبر صفحه کلید باز کنید CTRL+ALT+تی.

    پس از این دستورات را یکی یکی وارد کنید:

    • sudo grub-install /dev/sda - GRUB را مستقیماً در MBR نصب کنید (sda دیسک بوت است).
    • sudo update-grub - سایر ورودی های بوت را در هارد دیسک (به عنوان مثال، ویندوز) جستجو کنید.

    اکنون تنها چیزی که باقی می ماند این است که رایانه را مجدداً راه اندازی کنید و مطمئن شوید که بوت لودر نصب شده مجدداً کاملاً کار می کند.

    سوال در مورد حفاظت از حلقه راه اندازی مجدد

    نیاز به چنین سیستم حفاظتی ادغام شده در بوت لودر GRUB زمانی ظاهر می شود که اندازه لاگ های واقع در فهرست /var/log به دلیل ضبط کنترل نشده اطلاعات در آنها به حجم های غیرقابل قبولی می رسد. در یک سیستم عامل معمولی، خدمات ویژه ای ارائه می شود که این لاگ ها را بایگانی و پاکسازی می کند حالت خودکار. بنابراین، در بیشتر موارد، کاربر مطلقاً نیازی به صرف زمان برای کنترل صدای خود ندارد.

    با این حال، همین خدمات تنها پس از بوت شدن سیستم عامل شروع می شود. قبل از این، اندازه فایل های گزارش به طور مطلق توسط هیچ چیزی نظارت نمی شود، به همین دلیل است که در صورت خرابی غیرمنتظره سیستم و راه اندازی مجدد بیشتر، لاگ ها فقط حجم آنها افزایش می یابد. و این رشد کنترل نشده دقیقا تا زمانی که راه اندازی مجدد به دلیل خرابی در سیستم ادامه دارد ادامه خواهد داشت. متعاقباً، همه اینها می تواند منجر به پر شدن کامل پارتیشنی شود که دایرکتوری /var/log در آن قرار دارد، که می تواند منجر به مسدود شدن سیستم شود و حتی شروع حالت بازیابی را غیرممکن کند.

    از این وضعیت فاجعه بار است که سیستم حفاظتی ادغام شده در GRUB در برابر راه اندازی مجدد چرخه ای صرفه جویی می کند و منوی GRUB "یخ زده" را در انتظار مداخله صریح کاربر نمایش می دهد. خود حفاظت بر اساس مقدار متغیر recordfail مشخص شده در اسکریپت /boot/grub/grub.cfg است. در طول هر بوت به عنوان نصب می شود رکورد شکست=1و در مرحله بوت نهایی به حالت اولیه بازنشانی می شود recordfail=0. و اگر فقط چنین تنظیم مجدد اتفاق نیفتاد، پس دانلود خودکارهمان حفاظت GRUB کاملاً جلوگیری و فعال می شود.

    برای انجام این کار، در /etc/defaul/grub متغیر را پیدا می کنیم GRUB_RECORDFAIL_TIMEOUTو مقداری از تعداد ثانیه هایی که در طی آن منوی GRUB منتظر مداخله کاربر می ماند اگر recordfail از 1 به 0 بازنشانی شود را به آن اختصاص دهید. پس از آن تغییرات را با دستور ذخیره می کنیم. sudo update-grub، بنابراین محافظت در برابر راه اندازی مجدد لوپی را غیرفعال می کند.

    چه کسی ممکن است از این سود ببرد؟ فقط برای ایستگاه ها و سرورهایی که صفحه کلید برای ورودی/خروجی اطلاعات ندارند. بدون آن، در صورت بروز چنین مشکلاتی، بوت کردن سیستم به طور کلی غیرممکن است. موارد بوت لوپ چندان رایج نیستند و بیشتر به دلیل مشکلات برق یا اشکالات نرم افزاری رخ می دهند.

    حذف GRUB و بازگشت به ویندوز: سریع، آسان و بدون دردسر

    اگر این سوال پیش بیاید که "چگونه GRUB را حذف کنیم و بوت لودر یک سیستم عامل دیگر را ترک کنیم؟"، ابتدا کاربر به دیسک / فلش درایو نصب آن نیاز دارد. بیایید به همه چیز به صورت ملموس نگاه کنیم مثال ساده: کاربر لینوکس را از رایانه خود حذف می کند و فقط ویندوز را باقی می گذارد، اما به دلیل خطا نمی تواند آن را بارگذاری کند خطای گراب. برای حل کامل مشکل، باید بوت لودر x86/64 بیت ویندوز را بازیابی کنید:

    1. ما از درایو نصب بوت می‌شویم، در حالی که قبلاً هنگام بارگیری در BIOS آن را روی اولویت اول قرار داده بودیم
    2. پس از بوت شدن از رسانه نصب، پارتیشن بازیابی سیستم را انتخاب کنید.
    3. از لیست ابزارهایی که ظاهر می شود، خط فرمان را انتخاب کنید که در آن دستورات زیر را یکی یکی می نویسیم:
    • BOOTREC.EXE /FixBoot.
    • BOOTREC.EXE /FixMbr.

    از آنجایی که GRUB را می توان در چند مرحله حذف کرد، پس از تمام عملیات های موفقیت آمیز، کامپیوتر را مجددا راه اندازی می کنیم و بدون هیچ مشکلی در سیستم ویندوز کار می کنیم.

    اکنون به عنوان میراث GRUB شناخته می شود. اگر نیاز به بازیابی GRUB Legacy دارید، برای مثال به این دلیل که نسخه‌ای از اوبونتو قدیمی‌تر از 9.10 دارید، باید مطالعه کنید.

    اگرچه اینها در واقع دو نسخه از یک برنامه به نام GRUB هستند، اما هیچ وجه اشتراکی ندارند و برنامه های کاملاً متفاوتی هستند.

    هر دیسک سخت قابل بوت دارای یک رکورد به اصطلاح Master Boot Record است. (رکورد اصلی بوت انگلیسی، MBR)، که بایوس هنگام بوت شدن کامپیوتر به آن دسترسی پیدا می کند. بوت لودر سیستم باید اطلاعات مربوط به فایل های اصلی را که قبلاً روی پارتیشن های هارد دیسک ذخیره شده اند در این قسمت بنویسد.

    هر بار که سیستم ها را نصب یا بازیابی می کنید بوت لودرهای مایکروسافتسیستم های لینوکس جایگزین شده اند و نیاز به نصب مجدد دارند.

    بازیابی با استفاده از LiveCD/USB

    راه اول

    ترمینال

    سودو fdisk -l

    از جدول می بینیم که لینوکس (در مورد ما) روی پارتیشن /dev/sda1 نصب شده است

    حال بیایید این بخش را با دستور زیر به /mnt وصل کنیم (به علائم نگارشی به خصوص فاصله بین کدها توجه کنید):

    سوار سودو /dev/sda1 /mnt

    سپس برای نوشتن grub در MBR دستور زیر را وارد کنید:

    Sudo grub-install --root-directory=/mnt /dev/sda

    در صورتی که فقط نیاز به بازیابی دارید دیسک MBR(مثلاً بعد از انتقال نصب ویندوز) پس این کافی است.

    اگر نیاز به آپدیت منوی grub دارید (مثلاً پس از نصب ویندوز)، باید این کار را انجام دهید:

    Sudo update-grub --output=/mnt/boot/grub/grub.cfg

    ترمیم کامل شد!

    بازیابی با استفاده از chroot

    سیستم را از LiveCD/USB راه اندازی کنید و یک ترمینال باز کنید. برای انجام این کار می توانید Alt + F2 را فشار داده و دستور زیر را وارد کنید:

    سودو fdisk -l

    جدولی مشابه این باید روی صفحه ظاهر شود:

    /dev/sda1 29 8369 66999082+ 83 Linux /dev/sda2 * 8370 13995 45190845 7 HPFS/NTFS /dev/sda3 13996 14593 4803435 5 Extended

    اکنون باید خود را سوار کنید پارتیشن لینوکس(در اینجا sda1 است) و چندین دایرکتوری مهم دیگر:

    Sudo mount /dev/sda1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys

    اگر پارتیشن /boot یا var جداگانه است، باید آنها را در /mnt/boot و /mnt/var mount کنید.

    حالا بیایید وارد محیط chroot شویم:

    سودو کروت /mnt

    اکنون باید GRUB را با استفاده از دستور نصب کنید:

    Grub-install /dev/sda

    اگر پیغام خطا دریافت کردید، از دستور grub-install --recheck /dev/sda استفاده کنید

    همچنین در برخی موارد گزینه زیر ممکن است کمک کند:

    Grub-install --recheck --no-floppy /dev/sda

    اگر همه چیز خوب پیش رفت، با دستور زیر از chroot خارج شوید:

    اکنون باید پارتیشن ها را از حالت نصب خارج کنید:

    sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys sudo umount /mnt

    اگر پارتیشن /boot را نصب کرده اید، از دستور استفاده کنید:

    Sudo umount /mnt/boot

    سپس کامپیوتر خود را با دستور زیر راه اندازی مجدد کنید:

    راه اندازی مجدد سودو

    در صورت لزوم، می توانید منوی بوت لودر را با دستور زیر به روز کنید:

    Sudo update-grub

    بازیابی در حالت نجات

    اگر دیسک بوت ندارید، می توانید Grub را از کنسول آن بازیابی کنید. بازیابی به صورت زیر انجام می شود: ابتدا باید همه ماژول ها را بارگذاری کنید تا همه عملکردهای Grub در دسترس باشند و سپس از پارتیشن مورد نظر شروع کنید. همانطور که می دانید گراب از دو قسمت تشکیل شده است. قسمت اول در MBR دیسک ضبط می شود. این شامل قابلیت های اساسی است، یعنی دارای یک کنسول در حالت نجات است و نه بیشتر. ابتدا، باید تعیین کنید که قسمت دوم grub در کدام پارتیشن قرار دارد (در فهرست /boot/grub قرار دارد)، ماژول های از دست رفته را بارگیری کنید. و تنها در این صورت امکان دادن دستور راه اندازی از پارتیشن مورد نظر وجود خواهد داشت. تنها چهار دستور در حالت نجات وجود دارد:

    Ls unset insmod را تنظیم کرد

    ابتدا باید این دستور را بدهید:

    در پاسخ، به عنوان مثال، خروجی زیر را خواهد داشت:

    (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos2) (hd1,msdos1)

    گاهی اوقات ممکن است Grub به درستی تعیین نکند که کدام سیستم فایل روی پارتیشن های دیسک هستند. در این مورد، آنها را به عنوان msdos تعریف می کند. باید سعی کنیم حدس بزنیم کدام دیسک ها را می بینیم. در این حالت دو دیسک قابل مشاهده است. فهرست دیسک 0 شامل سه پارتیشن، فهرست دیسک 1 شامل دو پارتیشن است. با دانستن ساختار دیسک های خود، به راحتی می توان دیسک مورد نظر را تعیین کرد.

    گراب پارتیشن ها را به ترتیب معکوس نام گذاری می کند. و مشخص نمی شود که منظور از (hd0,msdos3) - بخش اول یا سوم چیست؟ در اینجا می توانید با استفاده از نحو (hd0,1) خارج شوید. باید به خاطر داشت که در Grub تعداد دیسک ها از 0 شروع می شود و تعداد پارتیشن ها از 1 شروع می شود. فرض کنید لینوکس روی اولین دیسک در پارتیشن اول نصب شده است، یعنی (hd0,1). دستور می دهیم:

    تنظیم پیشوند=(hd0,1)/boot/grub set root=(hd0,1)

    با این دستورات مشخص می کنیم که از دیسک (hd0,1) برای دستورات بعدی استفاده کنیم. سپس باید بررسی کنیم که آیا این بخش واقعاً چیزی که ما نیاز داریم را دارد یا خیر. ما دستور می دهیم:

    ls /boot/grub

    اگر در پاسخ لیستی از تمام فایل‌های موجود در این فهرست دریافت کنیم، دیسک و پارتیشن به درستی انتخاب می‌شوند. بارگذاری ماژول ها:

    Insmod ext2 insmod نرمال عادی

    املای دستور اول را برای سیستم های فایل ext3 و ext4 بررسی کنید

    اگر سیستم عامل روی یک پارتیشن فرمت شده در btrfs قرار دارد، دستورات زیر را اجرا کنید: set prefix=(hd0,1)/@/boot/grub set root=(hd0,1)

    بارگذاری ماژول ها:

    Insmod btrfs insmod normal

    راه اندازی GRUB:

    پس از آن Grub به حالت عملکرد کامل می رود. به طور خودکار تمام سیستم عامل های قابل بارگیری را پیدا می کند و منوی Grub خود را نشان می دهد.

    بازیابی بیشتر به بارگیری لینوکس مورد نیاز ما و دادن دستور از ریشه خلاصه می شود:

    Grub-install /dev/sdX

    sdX کجاست، درایوی که باید Grub روی آن نصب شود.

    ترسناک ترین چیز در مورد لینوکس عبارت ترسناک "bootloader" است. دلیل اصلیاین به این دلیل است که اکثر کاربران جدید لینوکس فقط با سیستم عامل ویندوز کار می کنند که فاقد بوت لودر کامل است یا کمترین تعامل کاربر با آن دارد. در دنیای ویندوز هرگز به بوت لودر فکر نکردند. برای آنها، فرآیند بارگذاری سیستم عامل کاملاً شفاف بود. بیشترین کاری که آنها انجام دادند استفاده از کنسول بازیابی ویندوز برای حل مشکلات پیش آمده بود. بنابراین، آنها باید با یکی از مهمترین بخش های نرم افزار رایانه آشنا شوند - برنامه کوچکی که سیستم عامل را بارگذاری می کند.

    هدف از این مقاله ارائه اطلاعات اولیه در مورد بوت لودر GRUB است. اگر مقالات دیگر لینوکس من را خوانده باشید، پس با پارتیشن بندی و قراردادهای لینوکس و همچنین خط فرمان بسیار آشنا هستید. منطقی است که قدم بعدی برای تعمیق بیشتر این دانش برداشته شود. درک نحوه عملکرد GRUB و معنی ورودی ها منوی بوت، به شما در درک نحوه عملکرد سیستم عامل، نحوه رفع خطاهای رخ داده، نحوه بازیابی یا تغییر منوی بوت لودر GRUB برای مطابقت با نیازهای خود و نحوه نصب چندین سیستم عامل با محیط های عامل مختلف کمک می کند.

    قبلا سیستم های نصب شدهما برای انجام تمام کارهای سخت به نصب کننده متکی بودیم. در واقع، راه اندازی GRUB یک روش بسیار بدون عارضه و کاملا قابل برگشت است. تسلط بر بوت لودر GRUB یک گام بسیار مهم در تبدیل شدن به یک کاربر ماهر در استفاده از لینوکس است.

    اما ابتدا یک مقدمه مهم. این مقاله شامل اطلاعات توضیحی و مثال هایی است که به شما در یادگیری GRUB کمک می کند. البته همه اینها در اینترنت موجود است. با این حال، کاربران جدید لینوکس ممکن است ساعت ها به جستجوی اطلاعات مورد نیاز خود بپردازند (مخصوصاً اگر رایانه شخصی آنها بوت نمی شود) و آنها را کمی ناامید می کند. هدف از این راهنما ارائه ساده و راه حل های سریعمشکلات رایج در هنگام نصب و نصب چند بوت سیستم عامل لینوکسسیستم ها

    1. مقدمه
    2. پیکربندی GRUB
      1. نصب GRUB
    3. مشکلات معمولی
    4. پیوندها

    همه چیز یک فایل است

    برای تسلط موفقیت آمیز بر اسرار GRUB، باید یکی از اصول اساسی سیستم عامل های مبتنی بر *NIX را درک کنید. همه چیز یک فایل است. حتی هارد دیسک ها و پارتیشن ها به عنوان فایل در نظر گرفته می شوند. این جادو نیست. اگر این را به خاطر داشته باشید، پس کار مخاطره آمیز تغییر پارتیشن های هارد دیسک هیچ تفاوتی با دستکاری فایل ها در آن نخواهد داشت مدیر فایل(یا خط فرمان).

    اکنون که این را می دانیم، می توانیم به سراغ جزئیات فنی برویم.

    مقدمه

    GNU GRUB یک بوت لودر (یعنی بوت لودر یا بارگزار اولیه) است که قادر به راه اندازی انواع سیستم عامل های رایگان و اختصاصی است. GRUB با Linux، DOS، Windows یا BSD به خوبی کار می کند. مخفف GRUB مخفف GR و Unified Bootloader است.

    GRUB به صورت پویا قابل تنظیم است. این بدان معنی است که کاربر می تواند در زمان راه اندازی تغییراتی در تنظیمات GRUB ایجاد کند. به عنوان مثال، ورودی های بوت موجود را تغییر دهید، جدید اضافه کنید ورودی های کاربر، هسته های مختلف سیستم عامل را انتخاب کنید یا initrd را تغییر دهید.

    GRUB همچنین از حالت Logical Block Address پشتیبانی می کند. این به این معنی است که اگر رایانه شما یک بایوس به‌روز داشته باشد، ممکن است بیش از 8 گیگابایت (1024 سیلندر اول) فضای هارد دیسک در دسترس باشد. بر این اساس، GRUB به طور خودکار به تمام این فضا دسترسی خواهد داشت. GRUB را می توان از هر دستگاهی (فلاپی دیسک، هارد دیسک، درایو CD-ROM، راه اندازی یا نصب کرد.، درایو شبکه) و می تواند سیستم عامل ها را از منابع مختلف بوت کند، از جمله درایوهای شبکه. همچنین می تواند تصویر سیستم عامل را قبل از بارگیری آن باز کند.

    شما می توانید اطلاعات بیشتری، بسیار بیشتر از این مقاله، از رهبری رسمیراهنمای GNU GRUB 0.97.

    LILO چیست؟

    ممکن است نام بوت لودر لینوکس دیگری به نام LILO را شنیده باشید (برگرفته از حروف اولیه LI nux LO ader که به معنی بوت لودر لینوکس است). در حالی که LILO یک گزینه مناسب برای بسیاری از کاربران لینوکس است، من معتقدم GRUB به چند دلیل انتخاب بهتری است:

    • LILO فقط از 16 پیکربندی مختلف بوت پشتیبانی می کند، در حالی که GRUB از تعداد نامحدودی از تنظیمات پشتیبانی می کند.
    • LILO نمی تواند از طریق یک شبکه محلی بوت شود، اما GRUB می تواند.
    • LILO باید هر زمان که فایل پیکربندی آن تغییر می کند بازنویسی شود، اما این برای GRUB ضروری نیست.
    • LILO رابط تعاملی دستوری ندارد.

    برای خلاصه کردن موارد فوق، GRUB برنده به نظر می رسد. پس اجازه دهید به شما نشان دهم که این پسر کوچک چه کاری می تواند انجام دهد.

    GRUB چگونه کار می کند؟

    هنگامی که کامپیوتر بوت می شود، BIOS کنترل را به اولین دستگاه بوت منتقل می کند که می تواند یک هارد دیسک، فلاپی دیسک، CD-ROM یا دستگاه دیگری باشد که توسط BIOS شناسایی می شود. برای سادگی، فرض می کنیم که این یک هارد دیسک است.

    اولین بخش هارد دیسک Master Boot Record (MBR) نام دارد. طول این بخش تنها 512 بایت است. این شامل یک کد کوچک (446 بایت) به نام بوت لودر اصلی و یک جدول پارتیشن (64 بایت) است. جدول پارتیشن شامل توضیحاتی از پارتیشن های اولیه و ثانویه هارد دیسک است.

    به طور پیش فرض کد MBR روی پارتیشن فعال اسکن می شود و در صورت یافتن، بخش بوت آن در حافظه بارگذاری می شود و کنترل به آن منتقل می شود.

    GRUB کد پیش فرض MBR را با کد خود جایگزین می کند.

    در این مورد، کار GRUB شامل چندین مرحله است.

    مرحله 1: قرار دادن MBR. به دلیل کوچک بودن MBR فقط لینک رفتن به Stage 2 قرار داده می شود که تمامی داده های مورد نیاز را در خود دارد.

    مرحله 2: به فایل پیکربندی بروید که شامل تمام اجزای رابط کاربری و تنظیمات مورد نیاز برای کار GRUB است. مرحله 2 را می توان در هر نقطه از دیسک قرار داد. اگر هیچ جدول پیکربندی در نتیجه مرحله 2 یافت نشد، GRUB فرآیند بوت را خاتمه می دهد و به کاربر اجازه می دهد تا به صورت دستی یک پیکربندی بوت را از خط فرمان انتخاب کند.

    مرحله 1.5 نیز وجود دارد که اگر اطلاعات بوت را نتوان مستقیماً بعد از MBR قرار داد استفاده می شود.

    ساختار Stage به GRUB اجازه می دهد تا حجم نسبتاً زیادی (~20-30K) داشته باشد. بنابراین، GRUB در مقایسه با اکثر بوت لودرها، که فشرده‌تر هستند و راحت‌تر در محدودیت‌های جدول پارتیشن قرار می‌گیرند، بسیار پیچیده و بسیار قابل تنظیم است.

    اصطلاحات GRUB

    این بخش به شما کمک می کند تا بدون دست زدن به GRUB راحت باشید. بخش بعدی فایل های واقعی و پیکربندی دستی GRUB را پوشش می دهد.

    GRUB خود را دارد نمادها، که کمی با قراردادهای پذیرفته شده مورد استفاده در لینوکس تفاوت دارند.

    در اینجا یک مثال از شروع GRUB معمولی است:

    (hd0,1)

    • پرانتزهای اجباری که باید تمام دستگاه های فهرست شده در منوی GRUB را در بر گیرد.
    • hd یعنی هارد. فلاپی دیسک را fd، سی دی رام سی دی و غیره می نامند.
    • عدد اول (یک عدد صحیح، برای کاربران پیشرفته) اشاره ای به عدد است فیزیکی سختدیسک شماره گذاری درایو اول از صفر شروع می شود. به عنوان مثال، hd2 پیوندی به سومین هارد دیسک فیزیکی است.
    • شماره دوم پیوندی به شماره پارتیشن هارد دیسک انتخابی است. شماره گذاری بخش ها نیز از صفر شروع می شود. در این مورد، 1 مربوط به بخش دوم است.

    نتیجه این است که GRUB (منو) بین درایوهای IDE و SCSI یا پارتیشن های اصلی و منطقی تمایز قائل نمی شود. وظیفه تعیین هارد دیسک یا پارتیشنی که باید بوت شود توسط BIOS و در مرحله 1 تعیین می شود.

    همانطور که می بینید، نمادها بسیار ساده هستند.

    پارتیشن های اولیه 0 تا 3 (hd?,0) , (hd?,1) , (hd?,2) , (hd?,3) تعیین می شوند. پارتیشن های منطقیدر بخش اضافی با شماره 4 شروع می شود. شماره گذاری آنها به تعداد فعلی پارتیشن های اصلی روی هارد دیسک بستگی ندارد. به عنوان مثال، (hd1،7).

    این ورودی ها به تنهایی برای بوت شدن سیستم عامل کافی نیستند.

    GRUB همچنین باید بداند که کدام تصویر سیستم عامل را بارگیری کند. این پارامترها و پرچم های ویژه (کلیدها) به هر دستگاه بوت اختصاص داده می شود. به عنوان مثال، یک پرچم خاص برای حالت ایمن ویندوز.

    در اینجا نمونه ای از منوی GRUB است که فقط اوبونتو را بوت می کند.

    در اینجا نمونه ای از منوی GRUB برای رایانه ای با پیکربندی بوت سه گانه (SUSE 10.2، Ubuntu 6.10 و Windows XP) نشان داده شده است. این منوی واقعی در یکی از ماشین های زنده من است.

    سعی کنید معنی این داده ها را بفهمید. فقط خطوط بدون نظر شمارش می شوند. نظرات با علامت ویژه # نشان داده می شوند. خطوطی که با چندین x خاکستری متوالی شروع می شوند (نشانگر خط قبلی) ادامه خط قبلی هستند. به عبارت دیگر، متن به سادگی به خط دیگری منتقل می‌شود تا با در نظر گرفتن اندازه پنجره واژه‌پرداز و وضوح صفحه، ظاهر بصری خطوط طولانی روی صفحه را بهبود بخشد.

    مهلت زمانی 0 پیش فرض 8

    خط اول (پیش فرض 0) به این معنی است که اولین سیستم عامل از لیست بارگذاری می شود. در مورد ما، این SUSE 10.2 است. خط دوم (تایم اوت 8) نشان می دهد که کاربر چقدر زمان دارد (در ثانیه) تا قبل از بوت شدن سیستم پیش فرض، سیستمی را برای بوت انتخاب کند. ساده است، اینطور نیست؟

    Gfxmenu (hd0,2)/boot/message

    منوی GRUB می تواند گرافیکی باشد. همه چیز مورد نیاز برای نمایش یک نمای سفارشی منظم با پس زمینه رنگی و برخی عناصر اضافی در اولین دیسک فیزیکی، پارتیشن سوم (hd0.2) قرار دارد. همانطور که ممکن است متوجه شده باشید این بخش اصلی است.

    عنوان هسته openSUSE 10.2 (hd0,2) /boot/vmlinuz-... initrd /boot/initrd.img-...

    این اولین سیستم عامل موجود در منو است.

    • عنوان (عنوان) - ابتدایی، به معنای همان معنای آن است. این خط برای کمک به کاربر در خواندن منو با اصطلاحات قابل دسترس تر در نظر گرفته شده است.
    • root (hd0,2) به GRUB می گوید که فایل های پیکربندی آن در کجا قرار دارند. در این مثال می توان آنها را در (hd0,2)/boot/grub پیدا کرد.
    • kernel /boot/vmlinuz-... در حال بارگیری ماژول هسته سیستم عامل فعلی. ممکن است چندین تصویر مشابه در دسترس باشد. واقعیتی که هیچ پیوندی به آن وجود ندارد دستگاه بوتقبل از /boot/vmlinuz به این معنی است که تصویر بر روی همان پارتیشن هارد دیسک GRUB قرار دارد. این شرایط اغلب انتخاب شما از سیستم عامل پیش فرض را تعیین می کند.
    • initrd /boot/initrd.img-... یک فایل سیستمی موقت است که توسط سیستم برای آماده شدن برای بوت شدن ایجاد می شود. آماده سازی شامل تطبیق یک ماژول هسته عمومی برای یک سخت افزار خاص قبل از بارگذاری آن است.

    پس از تعیین هسته از کلیدهای اضافی استفاده می شود. آنها مکان فعلی دایرکتوری ریشه، حالت گرافیکی مورد استفاده و مکان پارتیشن swap را تعیین می کنند. این مقاله پیکربندی های پیشرفته GRUB را با جزئیات پوشش نمی دهد.

    عنوان اوبونتو، هسته ... (/dev/sda9) هسته (hd0,8)/boot/vmlinuz-... initrd (hd0,8)/boot/initrd.img-...

    • در این مورد، عنوان نام نمایشی است، با برخی جزئیات فنی اضافی.
    • هسته (hd0.8)/boot/vmlinuz-... قرار دادن پارتیشن نهم روی هارد اول (hd0.8). پرچم ریشه (/dev/sda9) به این معنی است که پارتیشن ریشه نیز شامل یک ماژول هسته است، یعنی روی همان پارتیشن هارد دیسک قرار دارند. به طور معمول، این کار به دلایل کاربردی و سادگی انجام می شود. شما می توانید این مکان را در حین نصب سیستم عامل تغییر دهید.
    • initrd (hd0,8)/boot/initrd.img-... اینجا چیز جدیدی نیست.

    نکاتی در مورد پارتیشن های ماژول هسته و پارتیشن ریشه: در رایانه های قدیمی که بایوس آنها دسترسی به بیش از 1024 سیلندر را پشتیبانی نمی کند، باید نصب کرده باشید. پارتیشن بوت، حاوی ماژول هسته و پارتیشن ریشه، در مکان های مختلف. با این حال، کاربرانی که رایانه‌های جوان‌تر از مشکل Y2K (مسئله سال 2000) دارند، نیازی به نگرانی ندارند.

    نکته دیگری که باید به آن توجه کنید دانلود دقیق اوبونتو است. اوبونتو با استفاده از بوت لودر OpenSUSE بوت می شود. این ویژگی Multi-boot Compliance نام دارد. OpenSUSE اوبونتو را می شناسد و می تواند ماژول های آن (از جمله کلیدهای ویژه) را به درستی فراخوانی کرده و پارتیشن ها را مونت کند. با این حال، اکثر سیستم عامل ها فقط تا حدی با این ویژگی (Multi-boot Compliance) سازگار هستند.

    بعداً به شما نشان خواهم داد که چگونه می توانید با نتایج یکسان به روش های مختلف وارد اوبونتو شوید.

    عنوان Windows rootnoverify (hd0,0) chainloader (hd0,0)+1

    • rootnoverify (hd0,0) به این معنی است که openSUSE نمی تواند سیستم عامل ویندوز را شناسایی کند زیرا دارای Multi-boot Compliance نیست. به همین دلیل سیستم عامل بدون هیچ اطلاعات اضافی در مورد هسته آن فراخوانی می شود. GRUB فرض می کند که تصویر هسته مورد نیاز در پارتیشن مشخص شده خواهد بود و بوت لودر سیستم عامل را سوار می کند. همانطور که می بینید ویندوز بر روی پارتیشن اول هارد دیسک اول نصب شده است. این موفق ترین مکان سیستم است.
    • دستور chainloader (hd0,0)+1 به طور خاص برای استفاده در سیستم عامل هایی که نمی توانند مستقیماً بارگذاری شوند در نظر گرفته شده است. جای تعجب نیست که سیستم عامل های ویندوز را نمی توان مستقیماً بوت کرد. آنها با استفاده از روش بارگذاری زنجیره ای بارگذاری می شوند. همانطور که از نام آن پیداست، GRUB کنترل دنباله بوت را به بوت لودر دیگری که در دستگاه مشخص شده در منوی GRUB قرار دارد، منتقل می کند. این می تواند یک سیستم عامل ویندوز یا هر سیستم عامل دیگری، به عنوان مثال، لینوکس باشد.

    بیایید به اوبونتو برگردیم. یادت هست گفتم می توانیم اوبونتو را به روش دیگری بوت کنیم؟ در واقع، ما می توانیم به سادگی از chainloaded استفاده کنیم، درست مانند ویندوز.

    عنوان Ubuntu root (hd0.8) chainloader (hd0.8)+1

    این به همان اندازه کار خواهد کرد.

    آیتم منوی بعدی به شما این امکان را می دهد که SUSE را در حالت Failsafe (نوعی از حالت امن) بوت کنید. این مورد حاوی و بسیار ارزشمند نیست اطلاعات مفید، پس بیایید بدون به خطر انداختن دانش خود از آن بگذریم.

    اجازه بدهید چند نمونه برایتان بیاورم.

    در زیر یک نمونه کار وجود دارد که در menu.lst اوبونتو ثبت شده است (البته نظر داده شده است).

    عنوان Windows 95/98/NT/2000 root (hd0,0) makeactive chainloader +1 title root Linux (hd0,1) kernel /vmlinuz root=/dev/hda3 ro

    اکنون می توانید به راحتی زبان GRUB را درک کنید. با عنوان شروع کردیم. root یک پارتیشن خاص است که انتظار داریم هسته ویندوز را روی آن پیدا کرده و آن را سوار کنیم (rootnoverify این کار را به بوت لودر ویندوز واگذار می کند). makeactive دستوری است که پارتیشن را با دایرکتوری ریشه در درایو مشخص شده در خط قبلی دستگاه ریشه GRUB فعال می کند. این بدان معنی است که دستور chainloader بدون تعیین پارتیشن سیستم مورد نظر (چون این پارتیشن همان پارتیشن فعال است) اجرا می شود.

    آیتم منوی دوم حتی ساده تر است. نام آن را لینوکس گذاشتیم، پارتیشن آن را تعریف کردیم و هسته آن را بوت کردیم. این مورد بسیار جالب است. از آنجایی که تصویر هسته و پارتیشن ریشه (root یا /) روی پارتیشن های مختلف قرار دارند. این کیس شباهت زیادی به کامپیوترهای قدیمی یا کامپیوترهایی با پارتیشن تک بوت دارد.

    و در نهایت، چند چیز واقعا دیوانه کننده:

    می فهمی که همه چیز ساده است! به محض اینکه این کار را به دست آورید، همه تردیدها از بین خواهند رفت.

    برای اطلاعات بیشتر، باید به راهنمای GNU GRUB 0.97 مراجعه کنید.

    پیکربندی GRUB

    بیشتر اوقات، شما نمی خواهید یا نیازی به پیکربندی GRUB ندارید. هنگامی که سیستم عامل را نصب می کنید، GRUB به طور خودکار نصب می شود و خطوط مربوطه به فایل پیکربندی اضافه می شود، به خصوص اگر ترتیب صحیح نصب سیستم عامل ها را انتخاب کنید (معتبر، یعنی سیستم عامل های ویندوز مانند - اول، انعطاف پذیر سیستم عامل ها، یعنی لینوکس و خانواده آن - بعد).

    با این حال، باید بدانید که اگر مشکلی پیش آمد کجا و چه کاری انجام دهید.

    نصب GRUB

    GRUB را می توان روی آن نصب کرد دستگاه های مختلف. اکثر مردم به فرآیند نصب GRUB بر روی هارد دیسک خود علاقه مند خواهند شد. با این حال، یادگیری تنظیمات دیگر آن به هیچ وجه ضرری ندارد. البته می توانید ادامه دهید.

    ما قبلا GRUB را نصب نکرده‌ایم، بنابراین باید مکان فایل‌های مورد نیاز را بدانیم.

    اگر GRUB نصب شده باشد، منوی آن در داخل پارتیشن ریشه قرار دارد:

    /boot/grub/menu.lst

    همیشه، همیشه قبل از هر گونه تغییر، یک نسخه پشتیبان از این فایل تهیه کنید!

    فایل های GRUB همچنین می توانند در داخل تصویر سیستم عامل شما (معمولاً یک CD) قرار گیرند:

    /usr/lib/grub/i386-pc

    با این حال، در اینجا یک نسخه کوتاه از آن است، برای کسانی که از خواندن مقاله دیگری خوشحال نیستند.

    شما می توانید هر گونه اطلاعاتی در مورد محیط رایانه شخصی (رایانه شخصی) خود با استفاده از ترمینال یا ویرایشگر متن. برای باز کردن فایل ها در یک ویرایشگر متن، باید ویرایشگر متن، نام فایل و مسیر آن را در خط فرمان مشخص کنید. برای باز کردن فایل های سیستمیشما باید حقوق superuser (su یا sudo برای فایل های سیستم) داشته باشید.

    $ sudo vi /etc/fstab یا $ sudo gedit /etc/fstab

    یا می توانید به سادگی با استفاده از دستور cat محتویات فایل ها را مستقیماً در ترمینال نمایش دهید.

    $ (sudo) cat /etc/fstab

    چند دستور مفید که اگر با دانلود سر و کار دارید ممکن است مفید باشد: هارد دیسک هاو بخش ها

    جدول پارتیشن را نمایش می دهد:

    $ fdisk -l

    لیستی از پارتیشن های نصب شده را نمایش می دهد:

    $ cat /etc/fstab

    اکنون می دانیم که برای نصب GRUB به چه چیزی نیاز داریم و کجا آن را پیدا کنیم.

    GRUB روی فلاپی دیسک

    برای نصب GRUB روی فلاپی دیسک، باید فایل ها (مرحله 1 و مرحله 2) را از دایرکتوری تصویر سیستم عامل به بخش های اول و دوم فلاپی دیسک کپی کنیم. برای این کار از دستوری استفاده می کنیم که اطلاعات را بخش به بخش کپی می کند.

    در زیر لیستی از دستوراتی وجود دارد که باید اجرا شوند (آنها از دفترچه راهنما گرفته شده اند):

    $ cd /usr/lib/grub/i386-pc $ dd if=stage1 of=/dev/fd0 bs=512 count=1 $ dd if=stage2 of=/dev/fd0 bs=512 seek=1

    توضیح کمی: اگر نشان دهنده فایل ورودی است، از نشان دهنده فایل خروجی است، /dev/fd0 به اولین درایو فلاپی نصب شده، bs اشاره دارد. اندازه داده شدهبلوک‌ها (بر حسب بایت)، یک دستورالعمل شمارش که تعداد بلوک‌هایی که باید کپی شوند را نشان می‌دهد، و به دنبال نشان دادن تعداد بلوک‌هایی که قبل از نوشتن حذف می‌شوند. جای تعجب نیست که این دنباله از دستورات نوشتن انتخاب شده است. در ابتدا مرحله 1 را در سکتور اول نوشتیم و مرحله 2 را در دوم کپی کردیم (قطعه اول را رد کردیم و سپس نوشتیم).

    اکنون که قدرت خط فرمان را درک کردید، به عنوان مشق شب، پیشنهاد می کنم ویژگی های دستورات دیگر را خودتان متوجه شوید. اطلاعات بیشتر در مورد دستور dd در ویکی پدیا.

    همه چیز مربوط به نصب GRUB بر روی فلاپی دیسک است. از آنجایی که ما مراحل را از تصویر سیستم عامل کپی کردیم، همه را داریم اطلاعات لازمبرای راه اندازی البته همیشه می توانید تغییرات را به صورت دستی انجام دهید. با این حال، بیشتر در این مورد در بخش بعدی.

    نصب GRUB به صورت پیش فرض

    نصب پیش فرض به معنای قرار دادن GRUB Stage 1 در بخش اول روی هارد دیسک (Master Boot Record - MBR یا Partition Table) است. این بدان معنی است که شما می توانید بدون دستگاه دوم مانند فلاپی دیسک که این روزها کمیاب شده است، بوت شوید. این همچنین به این معنی است که اگر بعداً یک سیستم عامل اقتدارگرا را نصب کنید (مانند ویندوز) یا به دلایلی رکورد اصلی بوت را تعمیر کنید (fdisk /MBR را از خط فرمان DOS اجرا کنید)، GRUB را حذف کرده و همه سیستم‌های موجود در آن را غیر قابل بوت می‌کنید. .lst.

    برای نصب GRUB در MBR، باید از رسانه خارجی (فلاپی دیسک، سی دی زنده لینوکس) بوت شوید. پس از بوت شدن، به محض اینکه خط فرمان GRUB در دسترس است (grub>)، دستورات زیر را اجرا کنید:

    دستگاه root GRUB را پیدا کنید:

    Grub> /boot/grub/stage1 را پیدا کنید

    GRUB تمام مراحل 1 موجود را جستجو می کند و آنها را روی صفحه نمایش می دهد. اگر بیش از یک تصویر سیستم عامل دارید (به عنوان مثال SUSE، Kubuntu، Mandriva)، چندین مرحله 1 را در دسترس خود خواهید داشت.

    بیایید فرض کنیم که کامپیوتر شما سیستم عامل های زیر را روی پارتیشن های مختلف هارد دیسک شما نصب کرده است.

    • SUSE روشن (hd0,1)
    • کوبونتو روشن (hd0.2)
    • Mandriva روشن (hd0.4)

    این سیستم ها GRUB خود را دارند، بنابراین هر یک از آنها را می توان به عنوان یک دستگاه GRUB استفاده کرد (زیرا هر کدام فایل های GRUB خود را دارند).

    اگر می خواهید از SUSE GRUB استفاده کنید، باید اولین پارتیشن هارد دیسک خود (hd0,1) را به دستگاه ریشه GRUB بسازید:

    گراب> ریشه (hd0,1)

    اگر می خواهید از GRUB Mandriva استفاده کنید، باید موارد زیر را انجام دهید:

    Grub>root (hd0.4)

    اگر مکان پارتیشن ریشه GRUB را می دانید و فایل های لازم، سپس می توانید بدون دستور find این کار را انجام دهید.

    اگر یک پارتیشن ریشه تعریف کرده اید، باید اطلاعات را در MBR (Master Boot Record) بنویسید:

    Grub> راه اندازی (hd0)

    در نهایت، از کنسول GRUB خارج شوید:

    Grub> ترک کنید

    در اینجا کل دنباله دستوراتی است که باید اجرا کنید:

    Grub> find /boot/grub/stage1 (اختیاری) grub> root (hdX,Y) grub> setup (hd0) grub> خروج

    می توانید GRUB را روی دیگری نصب کنید دیسک فیزیکییا بخش در این مورد، شما باید یک Chainload را انجام دهید، یعنی باید کنترل را از GRUB به بوت لودر دیگری منتقل کنید، که در عوض سیستم را بوت می کند.

    این همه است. ساده و سریع!

    نصب GRUB با استفاده از grub-install

    این روش (طبق دفترچه راهنمای) کمتر ایمن در نظر گرفته می شود، زیرا انجام می شود تبدیل خودکاردیسک ها مطمئن باشید، برای مبتدیان کامل که به کمک نصب دقیق نیاز دارند، این احتمالاً ترجیح داده شده ترین روش است.

    شما فقط باید یک دستور را با یک آرگومان فراخوانی کنید - مکان نصب بوت لودر را مشخص کنید. این دستور را می توان به چندین روش نوشت که معادل هستند:

    $ grub-install /dev/hda $ grub-install /dev/hd0 $ grub-install "(hd0)" $ grub-install hd0

    پس از نصب GRUB، سیستم عامل شما بوت می شود. پس از بارگذاری سیستم عامل، می توانید دوباره با GRUB آزمایش کنید. تنظیمات را به صورت دستی تغییر دهید، به عنوان مثال، داده های پیکربندی را اضافه و حذف کنید، لودرها را در یک بوت متوالی تغییر دهید (chainloader)، مخفی کردن و نمایش پارتیشن ها.

    راه اندازی دستی GRUB (پس از نصب)

    می‌توانید GRUB را در هر زمانی دوباره پیکربندی یا نصب کنید.

    پشتیبان گیری!

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

    $ cp /boot/grub/menu.lst /boot/grub/menu.lst_backup

    برای دسترسی به GRUB، دستور زیر را در ترمینال لینوکس اجرا کنید:

    $sudo grub

    پس از مدتی، اعلان GRUB روی صفحه نمایش داده می شود. شما می توانید وجود یک فرمان را با ظاهر آن تعیین کنید: grub> .

    همچنین می توانید در هنگام بوت به خط فرمان GRUB دسترسی داشته باشید. وقتی منوی GRUB بارگیری شد، دکمه C را روی صفحه کلید خود فشار دهید.

    افزودن یک سیستم عامل جدید به منوی GRUB

    بیایید فرض کنیم شما یک سیستم عامل Sabayon قبلاً نصب کرده اید (Sabayon Linux که قبلاً با نام های RR4 و RR64 شناخته می شد - یک توزیع هسته لینوکس که یک فورک از توزیع Gentoo است). در طول مراحل نصب، از نصب GRUB صرفنظر می کنید. این بدان معنی است که فایل های پیکربندی GRUB قبلاً نصب شده تغییر نکرده و حاوی داده هایی در مورد Sabayon نیستند. و سابایون نمی تواند بارگذاری شود.

    توجه: بخش هایی از منوی GRUB اتاق نامیده می شوند (شاید این یکی از ویژگی های این نمونه باشد؟).

    بنابراین باید Sabayon را به فایل پیکربندی GRUB اضافه کنیم.

    اگر می دانید Sabayon در کجا نصب شده است، باید داده های آن را به menu.lst اضافه کنید.

    عنوان Sabayon root (hdX,Y) chainloader +1

    با این حال، این کار را می توان در حالی که کامپیوتر در حال بوت شدن است بدون ویرایش منو انجام داد. وقتی GRUB نصب شده شروع به بوت شدن کرد، دکمه C را فشار دهید تا Command Prompt ظاهر شود. و سپس:

    Grub> root (hdX,Y) grub> chainloader +1

    در صورت تمایل می توانید از دستور find برای یافتن اطلاعات مورد نیاز استفاده کنید.

    این جادوی GRUB است. همانطور که می بینید، بسیار بسیار ساده است. اما برای افرادی که هرگز نام GRUB را نشنیده‌اند و فقط فهرستی طولانی از دستورات عجیب را دیده‌اند، می‌تواند دلهره‌آور به نظر برسد.

    اکنون که اصول اولیه را می دانیم بوت استرپو GRUB، وقت آن رسیده است که اطلاعات بیشتری را به دست آوریم و به رایج ترین مشکلاتی که ممکن است پیش بیاید نگاه کنیم.

    مشکلات معمولی

    چگونه GRUB را پس از حذف نصب کنیم؟

    اگر ویندوز را بعد از لینوکس نصب کنید اغلب این اتفاق می افتد. ویندوز معتقد است که تنها سیستم عامل در جهان است و سعی نمی کند اطلاعات موجود موجود در MBR را تفسیر کند. او فقط آن را بازنویسی می کند. برای افرادی که سیستم بوت دوگانه دارند و دانش کمی از لینوکس دارند، این یک فاجعه است. خوشبختانه رفع این مشکل بسیار آسان است.

    راه آسان

    راه سخت

    • بوت شدن از فلاپی دیسک یا سی دی (هر سی دی زنده لینوکس باید کار کند)
    • وارد حالت خط فرمان GRUB شوید.
    grub> find /boot/grub/stage1 (اختیاری) grub> root (hdX,Y) grub> setup (hd0) grub> خروج

    همه چیز مثل قبل است!

    ویندوز روی هارد اول نصب نشده است (Swapping)

    GRUB نمی تواند مستقیماً سیستم عامل مایکروسافت را بوت کند. گاهی اوقات حتی بوت شدن متوالی ممکن است کار نکند، به خصوص اگر ویندوز روی هارد دیسک اول نصب نشده باشد. یک بار دیگر باید به یاد داشته باشید که ابتدا ویندوز را روی اولین هارد دیسک و در اولین پارتیشن نصب کنید (قانون 3R - سه مورد اول). با این حال، حتی اگر ویندوز را روی یک دیسک جداگانه نصب کرده باشید، می توانید با استفاده از تعویض مشکل را حل کنید.

    باید یک تعویض مجازی بین هارد دیسک انجام دهید. بدین ترتیب:

    Grub> نقشه (hd0) (hd1) grub> نقشه (hd1) (hd0)

    پس از افزودن این دو خط، باید به ویندوز (یا DOS) بوت شوید.

    چندین سیستم عامل ویندوز روی یک هارد دیسک اول نصب شده اند (Hide/Show)

    در ویندوز، اگر چندین نمونه روی یک هارد دیسک وجود داشته باشد، دوباره ممکن است مشکلاتی ایجاد شود، به خصوص اگر روی پارتیشن های اصلی نصب شده باشند. قبلاً وقتی از دستور chainloader استفاده می‌کردید، کنترل را به بوت لودر ویندوز منتقل می‌کردید. اکنون باید کنترل را به کدام لودر سیستم عامل منتقل کنم؟

    با مخفی کردن و نمایش بخش ها مشکل به راحتی حل می شود. اگر GRUB یک پارتیشن را مخفی کند، برای ویندوز نامرئی خواهد بود و ابهام را از بین می برد. برعکس، اگر یک پارتیشن را قابل مشاهده کنید، ویندوز آن را شناسایی کرده و می تواند از آن بوت شود.

    مثال ارائه شده در اینجا از کتابچه راهنمای کاربر گرفته شده است و این نکته را نشان می دهد.

    بیایید فرض کنیم که داریم ویندوز نصب کردروی پارتیشن اول و دوم هارد دیسک. شما می خواهید اولین نمونه ویندوز خود را بوت کنید. سپس باید دنباله دستورات زیر را اجرا کنید، که تمام کارهای مورد نیاز را انجام می دهد.

    Grub> unhide (hd0,0) grub> hide (hd0,1) grub> rootnoverify (hd0,0) grub> chainloader +1 grub> makeactive

    شما اندازه پارتیشن را تغییر داده اید. GRUB کار نمی کند

    این یک مورد جالب است. ممکن است پس از استفاده از نرم افزار هارد دیسک (مدیریت پارتیشن های هارد دیسک، بازیابی پارتیشن ها از تصاویر پارتیشن و غیره) که جدول پارتیشن را تغییر می دهد، اتفاق بیفتد. این معمولا زمانی اتفاق می افتد که چنین تغییراتی را از ویندوز انجام دهید. لینوکس از این تغییرات مطلع نخواهد شد زیرا ویندوز به چیزی غیر از محصولات مایکروسافت موجود در آن دستگاه توجه نمی کند. بنابراین، GRUB کار نخواهد کرد.

    به احتمال زیاد سیستم فایل آسیب دیده است و برای حل این مشکل باید بازیابی شود.

    از روی سی دی زنده بوت کنید و دستورات زیر را اجرا کنید (با فرض اینکه بدانید پارتیشن های لینوکس در کجا قرار دارند).

    بررسی سیستم فایل را انجام دهید:

    $ fsck.ext2 /dev/hdXY

    X و Y را با حرف هارد دیسک و شماره پارتیشنی که می خواهید بررسی کنید (hda2، hdb3 و غیره) جایگزین کنید.

    نوع فایل سیستم را به سیستم فایل ext2/3 تغییر دهید.

    $ tune2fs -j /dev/hdXY

    حالا فایل سیستم روت را روی /mnt/sysimage mount کرده و grub را اجرا کنید:

    $ mount -t ext2 /dev/hdXY /mnt/sysimage OR $ mount -t ext2 /dev/hdXY /mnt/sysimage $ cd /mnt/sysimage/sbin $ grub

    شما دوباره در یک محیط آشنا برگشته اید.

    برای کسب اطلاعات بیشتر در مورد دستورات لینوکس مانند fsck.ext2، tune2fs و سایر موارد، به صفحات کتابچه راهنمای Linux Reviews مراجعه کنید.

    در پایان، به چند سوال پیچیده در اوبونتو پاسخ داده شد