تعمیر بوت لودر GRUB صدمه دیده(1863 مجموع کلمات موجود در متن) (18740 بار مطالعه شده است)
نام مقاله : تعمیر بوتلودر GRUB صدمه دیده
نویسنده : نوید
نسخه : ۱.۳
آخرین تغییر : ۶ بهمن ۱۳۸۵
|
|
0.مقدمه
بسیاری از کاربران گنو/لینوکس درایران هنوز به دلیل مشکلاتی مانند وابسته بودن به نرم افزارهای خاص در محل کار و یا استفاده از برخی نرمافزارهای خاص در منزل یا ناآشنایی با سیستم گنو/لینوکس هنوز سیستمهای ویندوز خود را به همراه لینوکس برروی ماشین خود نصب شده دارند؛ از آنجایی که ویندوز سیستم عاملی ناپایدار است، هر چند وقت یکبار نیاز به نصب مجدد دارد، این نصب مجدد باعث میشود تا ویندوز MBR دیسک سخت شما را پاک کرده و اطلاعات خود را برروی آن بنویسد و از آنجایی که ویندوز بوتلودری چند سیستم عامله ندارد، این دوباره نویسی MBR باعث پاک شدن اطلاعات مورد نیاز بوت لودر لینوکس شما میشود، در نتیجه زمان بوت سیستم دیگر به لینوکس دسترسی نخواهید داشت. در حال حاضر دو بوت لودر مشهور و محبوب برای گنو/لینوکس وجود دارد، یکی LiLo و دیگری GRUB. در این مقاله قصد دارم بازیابی بوتلودر GRUB را به شما بیاموزم؛ دلیل انتخاب گراب، استفادهی فراوان از این بوتلودر در توزیعهای جدید و حتی یونیکسهای جدید مانند Solaris 10 نیز استفاده میشود.
1.سناریوی اشکال
شما لینوکس یا لینوکسهای خود را نصب میکنید، پس از مدتی سیستم عامل ویندوز شما دچار عیب شده دیگر اجرا نمیشود، برای اجرا نشدن ویندوز دلایل بسیاری وجود دارد و دلایل بیشتری برای نصب مجدد ویندوز؛ بسیار خب شما ویندوز را مجددا نصب میکنید، اما از آنجایی که ویندوز یک سیستم عامل منفرد است و بوتلودری ندارد که چند سیستم عامل را همزمان اجرا کند بنابراین اطلاعات موجود در سکتورهای بوت سیستم شما را پاک میکند. بعد از راه اندازی مجدد سیستم (Reboot) دیگر از بوت لودر لینوکس و گزینههای مربوط به لینوکس خبری نیست و سیستم ویندوز شما مستقیما اجرا میشود. در چنین وضعیتی اغلب، کاربران تازهکار لینوکس (های) خود را مجددا نصب میکنند که این کار علاوه بر اتلاف وقت بسیار، باعث از دست دادن مقدار زیادی اطلاعات و تنظیماتی میشود که شما در مدت کار با لینوکس ایجاد کرده بودید. پس راه حل چیست؟ برای تعمیر سیستم کافیست بوت لودر گراب خود را از ابتدا نصب کنید، این کار بسیار ساده و در اندک زمانی ممکن است. برای تعمیر بوت لودر خود تنها به یک دیسک زندهی لینوکس نیاز دارید.
2.دیسک زنده؟
اگر با دیسکهای زنده آشنایی داریدمی توانید از قسمت شماره ۳ ادامه دهید، اما اگربا مفاهیم دیسکهای زنده آشنا نیستید :
دیسکهای زندهی لینوکس یا 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 بوده و با توجه به نیازهای داخلی در ایران توزیع میگردد.
3.سناریوی نجات
پس ابزار کارما یک دیسک زنده است فرقی ندارد DSL باشد یا Parsix مهم این است که سیستم را از طریق یک دیسک زنده بوت کنیم. پس از بوت سیستم از طریق دیسک زنده یک پنجرهی خط فرمان (ترمینال) باز کنید و در آن مراحل زیر را طی کنید:
۳.۱.با وارد کردن دستور su به حالت کاربر ریشه یا root بروید.(در برخی توزیعها باید از دستور sudo su استفاده کنید).
۳.۲.باید بدانید که لینوکسی که گراب شما را نصب کرده است در کدام پارتیشن قرار دارد، اگر چند توزیع لینوکس دارید باید بدانید که آخرین بار کدام یک از این توزیعها GRUB را نصب کرده، برای نمونه اگر ابتدا Redhat را نصب کردهاید و بعد Debian را نصب کردهاید پس GRUB موجود در سیستم شما را Debian نصب کرده. خوب در این حالت باید بدانید Debian در کجای سیستم شما نصب شده است. اگر نمیدانید از طریق همان دیسک سخت تمام پارتیشنهای خود را Mount کنید و سپس به جستجوی پارتیشنی بروید که دبیان نصب شده. در این نمونه دبیان در پارتیشن hda6 نصب شده است. پس hda6 را mount میکنم. (اغلب دیسکهای زنده تمام پارتیشنهای موجود در هارد دیسک را به صورت پیش فرض زمان بالا آمدن سیستم mount میکنند.)
۳.۳.حالا با دستور chroot ریشهی سیستم را تغییر میدهیم!! برای این کار این گونه عمل میکنیم:
|
#chroot /mnt/hda6
|
مسیر mnt/hda6/ درواقع همان پارتیشنی است که سیستم لینوکس در آن نصب شده.با استفاده از این روش شما پارتیشن ”/ “خود را از دیسک زنده به مسیری که وارد کردهاید تغییر دادهاید.
۳.۴. بسیار خوب حالا GRUB رااجرا کنید:
|
#/sbin/GRUB
|
در مقابل شما صفحهای قرار میگیرد همراه با یک اعلان (Prompt) که آمادهی دریافت دستورات است.
|
GNU GRUB version 0.95 (640K lower / 3072K 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 (hd0,5)
|
در این مرحله میتوانید دستور را به شکل root (hd0, TAB بکار ببرید، در حقیقت با زدن یک Tab گراب لیستی از پارتیشنهای موجود برروی دیسک سخت شما همراه با نوع فایل سیستمشان را نمایش میدهد. گراب برای نمایش پارتیشنهای دیسک سخت از مدل یونیکس استفاده میکند،در مدل یونیکسی hda همان hd0 میشود و hda6 همان hd0,5 میشود، در واقع GRUB علی رغم استاندارد گنو/لینوکس پارتیشنها را از 0 آغاز میکند. برای نمونه به جدول زیر توجه کنید.
پارتیشنها در لینوکس |
hda1 |
hda2 |
hda3 |
hda4 |
hda5 |
ha6 |
hda7 |
پارتیشنها در GRUB |
(hd0,0) |
(hd0,1) |
(hd0,2) |
(hd0,3) |
(hd0,4) |
(hd0,5) |
(hd0,7) |
۳.۷ مرحلهی آخر دستور نصب است، برای این کار تایپ کنید:
|
>setup (hd0)
|
سپس
|
>quit
|
گراب شما نصب شده است، سیستم را reboot کنید، در این بارگذاری سیستم خواهید دید که GRUB شما نصب شده است و میتوانید بدون مشکل از کار با سیستم لینوکستان لذت ببرید.
توجه:
در برخی دیسکهای زندهی جدیدتر مانند پارسیکس گنو/لینوکس نسخهی 0.85 یا Knoppix نسخهی 4.0 دیگر نیازی به اجرای مرحلهی ۳.۳ یا chroot کردن نیست و شما میتوانید مستقیما با اجرای دستور Grub و انتخاب root به نصب بوت لودر گراب بپردازید.
امیدوارم این مقاله توانسته باشد به شما در حل مشکل بوت لودرتان کمک کرده باشد، در صورتی که پرسشی در رابطه با این مقاله برایتان پیش آمده میتوانید در انجمنهای گنوایران.ارگ پرسش خود را مطرح کنید& علاوه بر این به شما توصیه میکنم مقالهی پشتیبانگیری ازGRUB را نیز مطالعه و از بوت لودر خود یک پشتیبان تهیه کنید، بااین کار زمانی که بوت لودر سیستم شما درچار مشکل شد میتوانید بدون از دست دادن زمان و به دور از هر گونه استرس تا تعمیر بوت لودر گراب خود به کارهای روزمرهی خود برسید.
موفق باشید.
|