تعمیر گراب

منتشرشده: 2007/12/25 در لینوکس, گنو/لینوکس, گراب, اوبونتو
برچسب‌ها:, ,

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

dosfsck -a -r /dev/hda

hda باید شماره هم داشته باشه مثلا hda1 یا hda 2 و …

این مشکلات رو تا حدی رفع کنم!
اما مشکل خیلی عمومی تربعد از نصب دوباره ویندوز شروع میشه.یعنی وقتی که شما هم لینوکس و هم ویندوز رو دارید و به علت خراب شدن یا هرعلت قابل حدس زدن دیگه ای! ویندوز رو دوباره نصب میکنید و بعد متوجه میشید که راهی برای رسیدن به لینوکس نیست و تنها راهی که به فکر می رسه نصب دوباره ی لینوکس بی تقصیر است 😦
به هر صورت تنها روش رسیدن به لینوکس بدون نصب مجدد، برگرداندن همان منوی بوت اولیه یا grub هست.اما روشهای برگرداندن گراب :
عده ای علاقه دارند که همه چیز اتوماتیک انجام بشه.لذا دنبال چیزهایی مثل super grub و یا GAG هستند.این دو نرم افزار روی سی دی رایت میشن وبعد از اینکه سیستم رو با اینها استارت میزنیم، دستوراتی برای پیدا کردن گراب ِخراب شده و تعمیراون در اختیار ما میگذارن.اما مشکل اینجاست که من تا حالا هیچ وقت موفقیتی نداشتم! و به همین دلیل محبورا به دنبال یاد گرفتن اساس لود کننده ی بوت لینوکس یعنی grub رفتم.

روشی که من یاد گرفتم درست مثل معادله ای چند مجهولی است که برای پیدا کردن هر مجهولی باید مجهول ما قبل رو پیدا کرد و به مقادیراولیه نیز توجه کرد.
تنها ابزار مورد نیاز یک عدد سی دی لایو(Live) است.فرقی ندارد چه توزیعی! اوبونتو یا پارسیکس یا …

بعد از وارد شدن به محیط لایو سی دی، ترمینال رو باز کرده و تایپ می کنم: sudo fdisk /dev/hda بعد در قسمت Command ، حرف P رو وارد می کنم و سپس اینتر رو میزنم.سپس حرف q و باز اینتر!
اما توضیح این قسمت:دستور fdisk برای ویرایش table های پارتیشن بندی به کار میره.با زدن حرف p لیست پارتیشن ها آمده و با زدن حرف q از این دستور خارج میشم.حالا جدولی دارم که می تونم لیست همه ی پارتیشن ها رو مشاهده کنم.من لینوکسم رو در پارتیشن شماره ۲ یعنی hda2 نصب کرده بودم.

Device Boot Start End Blocks Id System
/dev/hda1 * 1 996 8000338+ b W95 FAT32
/dev/hda2 997 2794 14442435 83 Linux
/dev/hda3 2795 9964 57593025 f W95 Ext’d (LBA)
/dev/hda5 2795 3590 6393838+ 83 Linux
/dev/hda6 3591 3715 1004031 82 Linux swap / Solaris

همان طور که میبینید، پارتیشن اول یعنی hda1 از نوع fat32 هست و من ویندوزم رو روش دارم.این پارتیشن علامت ضربدری هم داره که یعنی من پارتیشن اکتیو هستم!
پارتیشن اصلی لینوکس(روت-root) شماره ۲ هست.پس این نکته رو به یادم نگه میدارم.
حالا نیاز داریم خودمون رو از توی لایو سی دی به محیط لینوکس نصب شده انتقال بدیم! کاری که عجیب به نظر میاد .تایپ می کنم:

sudo mkdir /media/hda2
sudo mount /dev/hda2 /media/hda2
sudo chroot /media/hda2

و حالا من در محیط لینوکس نصب شده خودم هستم و در حقیقت ترمینال لایو سی دی نقش واسطه رو اینجا به عهده میگیره!
اما توضیحات دستورات فوق:
دستور mkdir که معرف حضور هست.ایجاد دایرکتوری در هر مسیر دلخواه که من media رو انتخاب کردم.میتونید مسیر دیگه ای رو انتخاب کنید!
حالا به ترمینال دستور میدم که پارتیشن شماره ۲ رو تو دایرکتوری هم اسمش بالا بیاره!
بعد با دستور chroot شیرجه میزنم توی لینوکس دوست داشتنیم 🙂

و سرانجام کافیه دستور نصب دوباره ی گراب رو بزنم تا قضیه ختم به خیر بشه!

sudo grub-install hd0

Technorati Tags: ,

Powered by ScribeFire.

دیدگاه‌ها
  1. hamid11771 می‌گوید:

    بسیار عالی بود. امیدوارم بهش نیاز \یدا نکنم اما از اون مطالبیه که یه روزی یه جایی زندگی آدم رو نجات میده.
    ممنون

  2. bahman.n@gmail.com می‌گوید:

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

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s