یکشنبه, ۹ اردیبهشت, ۱۴۰۳ / 28 April, 2024
مجله ویستا

تعمیر بوت لودر GRUB صدمه دیده


تعمیر بوت لودر GRUB صدمه دیده
● مقدمه
بسیاری از کاربران گنو/لینوکس درایران هنوز به دلیل مشکلاتی مانند وابسته بودن به نرم افزارهای خاص در محل کار و یا استفاده از برخی نرم‌افزارهای خاص در منزل یا ناآشنایی با سیستم گنو/لینوکس هنوز سیستم‌های ویندوز خود را به همراه لینوکس برروی ماشین خود نصب شده دارند؛ از آنجایی که ویندوز سیستم عاملی ناپایدار است، هر چند وقت یکبار نیاز به نصب مجدد دارد، این نصب مجدد باعث می‌شود تا ویندوز MBR دیسک سخت شما را پاک کرده و اطلاعات خود را برروی آن بنویسد و از آنجایی که ویندوز بوت‌لودری چند سیستم عامله ندارد، این دوباره نویسی MBR باعث پاک شدن اطلاعات مورد نیاز بوت لودر لینوکس شما می‌شود، در نتیجه زمان بوت سیستم دیگر به لینوکس دسترسی نخواهید داشت. در حال حاضر دو بوت لودر مشهور و محبوب برای گنو/لینوکس وجود دارد، یکی LiLo و دیگری GRUB. در این مقاله قصد دارم بازیابی بوت‌لودر GRUB را به شما بیاموزم؛ دلیل انتخاب گراب، استفاده‌ی فراوان از این بوت‌لودر در توزیع‌های جدید و حتی یونیکس‌های جدید مانند Solaris ۱۰ نیز استفاده می‌شود.
۱) سناریوی اشکال
شما لینوکس یا لینوکس‌های خود را نصب می‌کنید، پس از مدتی سیستم عامل ویندوز شما دچار عیب شده دیگر اجرا نمی‌شود، برای اجرا نشدن ویندوز دلایل بسیاری وجود دارد و دلایل بیشتری برای نصب مجدد ویندوز؛ بسیار خب شما ویندوز را مجددا نصب می‌کنید، اما از آنجایی که ویندوز یک سیستم عامل منفرد است و بوت‌لودری ندارد که چند سیستم عامل را همزمان اجرا کند بنابراین اطلاعات موجود در سکتورهای بوت سیستم شما را پاک می‌کند. بعد از راه اندازی مجدد سیستم (Reboot) دیگر از بوت لودر لینوکس و گزینه‌های مربوط به لینوکس خبری نیست و سیستم ویندوز شما مستقیما اجرا می‌شود. در چنین وضعیتی اغلب، کاربران تازه‌کار لینوکس (های) خود را مجددا نصب می‌کنند که این کار علاوه بر اتلاف وقت بسیار، باعث از دست دادن مقدار زیادی اطلاعات و تنظیماتی می‌شود که شما در مدت کار با لینوکس ایجاد کرده بودید. پس راه حل چیست؟ برای تعمیر سیستم کافیست بوت لودر گراب خود را از ابتدا نصب کنید، این کار بسیار ساده و در اندک زمانی ممکن است. برای تعمیر بوت لودر خود تنها به یک دیسک زنده‌ی لینوکس نیاز دارید.
۲) دیسک زنده؟
اگر با دیسک‌های زنده آشنایی داریدمی توانید از قسمت شماره ۳ ادامه دهید، اما اگربا مفاهیم دیسک‌های زنده آشنا نیستید :
دیسک‌های زنده‌ی لینوکس یا Linux Live CD ها توزیع‌هایی از گنو/لینوکس هستند که برروی CD یا DVD حتی Floppy اجرا می‌شوند. در حقیقت کافیست تا CD یا DVD را در درایو خود قرار دهید و سیستم را Reset کنید، سیستم عامل لینوکس شما از روی CD یا DVD *بدون نیاز به نصب* به طور کامل اجرا می‌شود، این سیستم بنا به نوع توزیع می‌تواند کاربردی خاص داشته باشد و یا تمام ویژگی‌های یک لینوکس کامل را داشته باشد. تفاوت عمده‌ی این توزیع‌ها با توزیع‌هایی که برروی دیسک سخت نصب می‌شوند در نحوه‌ی اجرای این توزیع‌هاست، این توزیع‌ها از روی CD یا DVD اجرا می‌شوند اما توزیع‌های نصبی از روی دیسک سخت اجرا می‌شوند و قبل از اجرا نیاز به نصب برروی دیسک سخت دارند. سرعت دیسک‌های زنده کمتر از لینوکس‌هایی است که برروی دیسک سخت نصب شده‌اند، چرا که از طریق CD اجرا می‌شوند اما توزیع‌های نصب شده از طریق دیسک سخت که سرعت بالاتری دارند اجرا می‌شوند. حجم یک دیسک زنده از ۱مگابایت تا چندین گیگابایت متغییر است، برای نمونه دیسک زنده‌ی مشهور Damn Small Linux یا DSL تنها ۵۰ مگابایت حجم دارد که در همین حجم کم یک میزکار تمام گرافیکی و تعداد زیادی برنامه‌ی مفید وجود دارند.(از سرویس‌دهنده‌ی وب و ftp تا برنامه‌ی صفحه گسترده و بازی!) یکی از توزیع‌های مشهور که به صورت دیسک زنده توزیع می‌شود Knoppix است. (بخوانید کنوپکس /Knopeks/) این توزیع با میزکار گرافیکی KDE و تعداد زیادی برنامه توزیع می‌شود.(برای اطلاعات بیشتر می‌توانید به /www.knoppix.com" title="Knoppix"> Knoppix " title="لیست برنامه‌های موجوددر کنوپکس">اینجا مراجعه کنید). دیسک زنده‌ی دیگری به نام Parsix وجود دارد که از طرف شرکت تالاروب در ایران توزیع و ارائه شده است، این دیسک زنده برپایه‌ی Knoppix بوده و با توجه به نیازهای داخلی در ایران توزیع می‌گردد.
۳) سناریوی نجات
پس ابزار کارما یک دیسک زنده است فرقی ندارد DSL باشد یا Parsix مهم این است که سیستم را از طریق یک دیسک زنده بوت کنیم. پس از بوت سیستم از طریق دیسک زنده یک پنجره‌ی خط فرمان (ترمینال) باز کنید و در آن مراحل زیر را طی کنید:
۱ـ۳) با وارد کردن دستور su به حالت کاربر ریشه یا root بروید.(در برخی توزیع‌ها باید از دستور sudo su استفاده کنید).
۲ـ۳) باید بدانید که لینوکسی که گراب شما را نصب کرده است در کدام پارتیشن قرار دارد، اگر چند توزیع لینوکس دارید باید بدانید که آخرین بار کدام یک از این توزیع‌ها GRUB را نصب کرده، برای نمونه اگر ابتدا Redhat را نصب کرده‌اید و بعد Debian را نصب کرده‌اید پس GRUB موجود در سیستم شما را Debian نصب کرده. خوب در این حالت باید بدانید Debian در کجای سیستم شما نصب شده است. اگر نمی‌دانید از طریق همان دیسک سخت تمام پارتیشن‌های خود را Mount کنید و سپس به جستجوی پارتیشنی بروید که دبیان نصب شده. در این نمونه دبیان در پارتیشن hda۶ نصب شده است. پس hda۶ را mount می‌کنم. (اغلب دیسک‌های زنده تمام پارتیشن‌های موجود در هارد دیسک را به صورت پیش فرض زمان بالا آمدن سیستم mount می‌کنند.)
۳ـ۳) حالا با دستور chroot ریشه‌ی سیستم را تغییر می‌دهیم!! برای این کار این گونه عمل می‌کنیم:
#chroot /mnt/hda۶
مسیر mnt/hda۶/ درواقع همان پارتیشنی است که سیستم لینوکس در آن نصب شده.با استفاده از این روش شما پارتیشن ”/ “خود را از دیسک زنده به مسیری که وارد کرده‌اید تغییر داده‌اید.
۴ـ۳) بسیار خوب حالا GRUB رااجرا کنید:
#/sbin/GRUB
در مقابل شما صفحه‌ای قرار می‌گیرد همراه با یک اعلان (Prompt) که آماده‌ی دریافت دستورات است.
GNU GRUB version ۰.۹۵ (۶۴۰K lower / ۳۰۷۲K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] GRUB>
۵ـ۳) در این مرحله لازم است تا بدانید GRUB را در کجا نصب کرده بودید؟ اگر برای سیستم خود پارتیشن boot ایجاد کرده بودید، پارتیشن گراب همان پارتیشن بوت است، اگر چنین پارتیشنی ایجاد نکرده بودید پارتیشن بوت شما همان پارتیشن لینوکس است.برای مطمئن شدن می‌توانید در پارتیشن‌های خود boot/grub/ را جستجو کنید.
۶ـ۳) حالا محل نصب GRUB را به برنامه معرفی کنید:
>root (hd۰,۵)
در این مرحله می‌توانید دستور را به شکل root (hd۰, TAB بکار ببرید، در حقیقت با زدن یک Tab گراب لیستی از پارتیشن‌های موجود برروی دیسک سخت شما همراه با نوع فایل سیستمشان را نمایش می‌دهد. گراب برای نمایش پارتیشن‌های دیسک سخت از مدل یونیکس استفاده می‌کند،در مدل یونیکسی hda همان hd۰ می‌شود و hda۶ همان hd۰,۵ می‌شود، در واقع GRUB علی رغم استاندارد گنو/لینوکس پارتیشن‌ها را از ۰ آغاز می‌کند. برای نمونه به جدول زیر توجه کنید.
پارتیشن‌ها در لینوکس hda۱ hda۲ hda۳ hda۴ hda۵ ha۶ hda۷
پارتیشن‌ها در GRUB (hd۰,۰) (hd۰,۱) (hd۰,۲) (hd۰,۳) (hd۰,۴) (hd۰,۵) (hd۰,۷)
۷ـ۳) مرحله‌ی آخر دستور نصب است، برای این کار تایپ کنید:
>setup (hd۰)
سپس
>quit
گراب شما نصب شده است، سیستم را reboot کنید، در این بارگذاری سیستم خواهید دید که GRUB شما نصب شده است و می‌توانید بدون مشکل از کار با سیستم لینوکستان لذت ببرید.
ـ توجه: در برخی دیسک‌های زنده‌ی جدیدتر مانند پارسیکس گنو/لینوکس نسخه‌ی ۰.۸۵ یا Knoppix نسخه‌ی ۴.۰ دیگر نیازی به اجرای مرحله‌ی ۳.۳ یا chroot کردن نیست و شما می‌توانید مستقیما با اجرای دستور Grub و انتخاب root به نصب بوت لودر گراب بپردازید.
منبع : گنو ایران


همچنین مشاهده کنید