دسته: گراب ۲

  • بوت لینوکس ‌لایو از روی فلش دیسک

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

    ۱- سرعت بوت شدن اوبونتو روی فلش به مراتب از سی‌دی بیشتره.

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

    ۳- چند فایل ایزو رو می‌شه روی فلش ریخت (فایل ایزوی اوبونتو و کوبونتو). بعد از روشن کردن کامپیوتر، گراب ظاهر می‌شه و می‌شه انتخاب کرد که وارد کدوم یکی بشیم. پس می‌شه کلکسیونی از لینوکس‌های محبوب رو روی فلش ریخت.

    ۴- این روش خیلی تمیزه!‌ یعنی نیازی نیست محتویات فایل ایزو رو بیرون بکشیم. همه فایل های ایزو رو در یک فولدر قرار می‌دیم. همه کارها توسط گراب دو انجام می‌شه.

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

    ۱- سیستم، همونطور که محتویات روی سی‌دی‌رو می‌خونه و اوبونتو رو بالا می‌یاره، باید بتونه از روی فلش هم اینکار رو انجام بده. یعنی باید تنظیمات مربوط به اینکار در بایوس مادربوردتون وجود داشته باشه. سیستم‌های قدیمی ممکن هست این تنظیم رو نداشته باشند.

    ۲- هر توزیع لینوکسی برای اینکار مناسب نیست.

    ۳- توزیع کاملا به صورت لایو و زنده هست و شما نمی‌تونید تنظیمات خودتون رو درونش ذخیره کنید. (البته مطمئن نیستم این رو بشه عیب حساب کرد)

    ابزار مورد نیاز یک فلش و یک اوبونتوی ۹.۱۰ (به خاطر داشتن گراب دو)‌ هست. داشتن مادربوردی که بتونه فلش رو بوت کنه برای دیدن نتیجه کار الزامی هست.

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

    من خودم یک فلش ۸ گیگی داشتم. بعد از تهیه پشتیبان از محتویاتش ، با برنامه جی‌پارتد دو پارتیشن به حجم مساوی ساختم. تا زمانیکه با توزیع لایو  بالا می‌یام ، یک پارتیشن به حجم ۴ گیگ برای ذخیره فایل‌های دانلودی از روی اینترنت داشته باشم. طبیعیه اگه شما  کل فلش رو برای اینکار اختصاص بدید، چون توزیع لایو هست، چیزی نمی‌تونید روی فلش ذخیره کنید. (همونطور که روی سی‌دی نمی‌تونید اینکار رو انجام بدید.)

    مراحل انجام کار بسیار ساده هستند.

    ۱- اجرای دستور  sudo fdisk -l
    خروجی کار نشون می‌ده که فلش من دو پارتیشن داره.

    پارتیشن کوچیکتر رو (sdc2) برای نگهداری فایل‌های ایزو و  فایل‌های مربوط به گراب دو انتخاب می‌کنم.

    ۲- پیدا کردن نام  sdc2 در لینوکس. بدین صورت که با دلفین یا ناتیلوس وارد پارتیشن روی فلش می‌شویم (پارتیشن با حجم کوچکتر). آدرسی که در آن قرار داریم را به خاطر می‌سپاریم( /media/disk-1)

    ۳- نصب گراب  بر روی پارتیشن مورد نظر با استفاده از دستور زیر:

    sudo grub-install –root-directory=/media/disk-1 /dev/sdx

    به جای sdx در این مثال sdc قرار می‌دیم. (با توجه به خروجی دستور شماره یک)

    ۴- ایجاد فایل grub.cfg در دایرکتوری بوت (که بعد از اجرای دستور بالا بر روی فلش ایجاد شده است)  با اجرای دستور sudo gedit /media/disk-1/boot/grub.cfg

    ۵- اضافه کردن تنظیمات زیر به فایل boot.cfg با توجه به توزیعی که در اختیار دارید.

    توزیع grml

    [sourcecode language=”bash”]
    menuentry "grml" {
    set isofile="/boot/isos/grml.iso"

    loopback loop $isofile
    linux (loop)/boot/grml/linux26 findiso=$isofile apm=power-off quiet boot=live nomce
    initrd (loop)/boot/grml/initrd.gz
    }
    [/sourcecode]

    توزیع Parted Magic

    [sourcecode language=”bash”]
    menuentry "Parted Magic" {
    set isofile="/boot/isos/pmagic.iso"

    loopback loop $isofile
    linux (loop)/pmagic/bzImage iso_filename=$isofile edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rwnomce sleep=10 loglevel=0
    initrd (loop)/pmagic/initramfs
    }
    [/sourcecode]

    توزیع Slax

    [sourcecode language=”bash”]
    menuentry "Slax" {
    set isofile="/boot/isos/slax.iso"

    loopback loop $isofile
    linux (loop)/boot/vmlinuz from=$isofile ramdisk_size=6666 root=/dev/ram0 rw
    initrd (loop)/boot/initrd.gz
    }
    [/sourcecode]

    توزیع Tinycore

    [sourcecode language=”bash”]
    menuentry "Tinycore" {
    set isofile="/boot/isos/tinycore.iso"

    loopback loop $isofile
    linux (loop)/boot/bzImage
    initrd (loop)/boot/tinycore.gz
    }
    [/sourcecode]

    توزیع اوبونتو ( از نسخه ۹.۱۰ به بعد)

    [sourcecode language=”bash”]
    menuentry "Ubuntu" {
    set isofile="/boot/isos/ubuntu.iso"

    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt —
    initrd (loop)/casper/initrd.lz
    }
    [/sourcecode]
     

    توزیع اوبونتو ( از نسخه ۹.۴ به قبل)

    [sourcecode language=”bash”]
    menuentry "Ubuntu" {
    set isofile="/boot/isos/ubuntu.iso"

    loopback loop $isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash noprompt —
    initrd (loop)/casper/initrd.gz
    }
    [/sourcecode]

    ۶- ایجاد فولدر isos در دایرکتوری boot موجود بر روی فلش

    sudo mkdir /media/disk-1/boot/isos

    ۷- انتقال فایل ایزو از روی هارد به دایرکتوری isos

    sudo cp /home/navid/ubuntu*.iso /media/disk-1/boot/isos/ubuntu.iso

    توجه کنید که هنگام انتقال فایل ایزو از روی هارد به روی فلش یه تغییر نام هم دادیم. یعنی اگه روی هارد ubuntu 9.10.iso بوده باشه، ما اسمش رو به ubuntu.iso تغییر دادیم. مهم اینه که باید نام  ایزو با نامی که در grub.cfg وارد کردیم، یکی باشه.

     

    *همونطور که گفتم  دستمون برای هر توزیعی باز نیست. فعلا نمی‌شه به این روش فدورا یا مینت یا پارسیکس رو بالا آورد. باید نشست و دید آیا با پیشرفت گراب دو برای این توزیع‌ها فکری می‌شه یا نه!؟

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

    *تنظیمات کوبونتو مشابه اوبونتو هست. زوبونتو رو هنوز تست نکردم:دی

    *کسی تونست با توزیع دیگه‌ای اینکار رو انجام بده، خیلی خوب می‌شه تنظیماتش رو برامون بگذاره.

    منبع

  • تعمیر گراب دو تنها با ۲ دستور

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

    sudo mount /dev/sdXY /mnt
    sudo grub-install –root-directory=/mnt /dev/sdX

    با فرض اینکه پارتیشن بوت رو در هنگام نصب  جدا نساخته باشید، کار با همین دو دستور تمام می‌شه. تنها نکته‌ای که باید بهش دقت داشته باشید اون قسمت‌های رنگی هست که برای هر فرد متفاوت هست. در خط اول شما باید پارتیشنی که اوبونتو (پارتیشن root) روی اون نصب هست رو وارد کنید. برای پیدا کردن پارتیشن اوبونتو sudo fdisk -l رو اجرا کنید.

    در اینجا چون ما دو پارتیشن لینوکس داریم. یکی سواپ می‌باشد، پس دیگری پارتیشن اوبونتو هست. اما اگر شما چند پارتیشن لینوکس دارید باید از روی حجم  به تشخیص درست برسید.قسمت رنگی  دستور  دوم نیز فقط مربوط به شماره هارد شما می‌باشد. آن را به صورت sda وارد کنید. نیازی به گذاشتن عدد و مشخص کردن پارتیشن نمی باشد. در نهایت با دستور sudo umount /mnt پارتیشن اوبونتو خود را آنمانت می کنیم. بعد از وارد شدن به اوبونتو نیز کافیست دستور sudo update-grub رو وارد کنید. تا ویندوز به گراب اضافه شود.

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

    و نکته آخر برای کسانی هست که پارتیشن بوت را به صورت جدا می‌سازند. این دسته از افراد بعد از اجرای دستور اول باید دستور زیر را نیز اجرا کنند.(مانت شدن پارتیشن بوت)‌

    sudo mount /dev/sdXY /mnt/boot

    این راهنما برای تمام توزیع‌هایی که گراب دو دارند،‌ (مانند اوبونتو ۹.۱۰) کاربرد دارد.

    منبع

  • اضافه کردن ویندوز به گراب دو

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

    کلا گراب دو با نسخه قبلی تفاوت‌های زیادی کرده و پتانسیل بسیار بالایی برای انجام کارای باور نکردنی رو بدست اورده. اما  امروز فقط  می‌خوایم  ویندوز رو به منوی گراب اضافه کنیم .

    قبلش هم بهتره بدونید که در گراب دو دیگه  فایلی به اسم menu.lst نداریم و جایگزین اون فایلی  به اسم grub.cfg شده. اون cfg هم مخفف کانفیگوره.

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

    پس در ترمینال کارای زیر رو انجام می‌دیم:

    sudo -i
    chmod +w /boot/grub/grub.cfg
    gedit /boot/grub/grub.cfg

    خط دوم به خاطر اینه که فایل مجوز نوشتن نداره و ما حتی با داشتن مجوز ریشه هم نمی‌توانیم، اون رو ذخیره کنیم. حالا کافیه خطوط زیر رو به انتهای این فایل اضافه کنید.

    # (2) Windows vista
    menuentry “Windows seven” {
    set root=(hd0,1)
    chainloader +1
    }

    داخل گیومه عنوانی هست که شما در گراب خواهید دید. نکته کلیدی  داخل پرانتز و اعداد جلوی hd هست. من ویندوز رو روی پارتیشن sda1 نصب کردم. پس این اعداد رو وارد کردم. شما با توجه به ۴ تا مثال زیر حتما متوجه می‌شید که باید چیکار کنید

    #  /dev/fd0        (fd0)
    #  /dev/sda        (hd0)
    #  /dev/sdb2       (hd1,2)
    #  /dev/sda3       (hd0,3)

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

    sudo fdisk -l

    Disk /dev/sda: 500.1 GB, 500107862016 bytes
    255 heads, 63 sectors/track, 60801 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x3bd53bd4

    Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1        8512    68372608+   7  HPFS/NTFS
    /dev/sda2            8513       60801   420011392+   5  Extended
    /dev/sda5            8513       22536   112640000    7  HPFS/NTFS
    /dev/sda6           22536       35284   102400000    7  HPFS/NTFS
    /dev/sda7           35284       48114   103058432    7  HPFS/NTFS
    /dev/sda8           48115       60801   101908296    7  HPFS/NTFS

    اگه دقت کنید جلوی پارتیشنی که ویندوز روش نصبه در ستون boot یه ستاره وجود داره! البته از روی حجم پارتیشن هم می‌تونید متوجه شید که ویندوز روی کدوم پارتیشن نصبه:) من به پارتیشن ویندوز ۶۵ گیگ فضا اختصاص دادم که می‌شه همون گزینه اول

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

    menuentry “Other Linux” {
    set root=(hd0,2)
    linux /boot/vmlinuz (add other options here as required)
    initrd /boot/initrd.img (if the other kernel uses/needs one)
    }

    خط دوم رو که توضیح دادم. باید پارتیشنی رو وارد کنید که اون توزیع روش نصبه .  خط سوم و چهارم رو نیز باید با توجه به نکته زیر ویرایش کنید.

    Fedora: vmlinuz and initrd.img

    Suse: linux and initrd

    Mandriva: vmlinuz and all.rdz

    Ubuntu: vmlinuz and initrd.gz

    Gentoo: gentoo and gentoo.igz

    Knoppix: vmlinuz and initrd.img

    Slackware: bzImage and initrd.img

    Debian: vmlinuz and initrd.gz

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

    در ضمن رنگ منوها رو نیز می شه توسط دو خط زیر تغییر داد.

    set menu_color_normal=white/black
    set menu_color_highlight=black/white

    که ما اونا رو به خطوط زیر تغییر می‌دیم.

    set menu_color_normal=light-blue/black
    set menu_color_highlight=light-cyan/blue

    برای دونستن نام رنگ‌ها نیز کافیه به این آدرس مراجعه کنید.

    منبع

    پی‌نوشت: آموزش گذاشتن تصویر برای گراب دو رو قبلا در این پست گذاشته بودم