انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: نصب grub 2 روی فلش  (دفعات بازدید: 3153 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین بابک طور

  • Hero Member
  • *
  • ارسال: 800
  • جنسیت : پسر
نصب grub 2 روی فلش
« : 13 دی 1394، 11:59 ق‌ظ »
سلام.
می‌خوام گراب ۲ رو روی فلش نصب کنم تا به کمک اون انواع ایزوهای بوتیبل رو از روی فلش بوت کنم، بدون این که هردفعه هی فلش رو فرمت کنم و یا از نرم‌افزار خاصی استفاده کنم.

گشتم و در مورد گراب قدیمی (خودشون می‌گن grub legacy) راه حل رو پیدا کردم، ولی در مورد گراب ۲ نه.

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

پ.ن: می‌خوام یاد بگیرم «چجوری؟» چون قراره اون رو برای دوستانم در لاگ مازندران توضیح بدم.
« آخرین ویرایش: 02 بهمن 1394، 03:13 ب‌ظ توسط بابک طور »

آفلاین hamidrezakp

  • Sr. Member
  • *
  • ارسال: 432
  • جنسیت : پسر
  • Life is Good With GNU/Linux
    • Hamidrezakp Web Site
پاسخ : نصب grub 2 روی فلش
« پاسخ #1 : 13 دی 1394، 12:42 ب‌ظ »
سلام.
می‌خوام گراب ۲ رو روی فلش نصب کنم تا به کمک اون انواع ایزوهای بوتیبل رو از روی فلش بوت کنمُ بدون این که هردفعه هی فلش رو فرمت کنم و یا از نرم‌افزار خاصی استفاده کنم.

گشتم و در مورد گراب قدیمی (خودشون می‌گن grub legacy) راح حل رو پیدا کردم، ولی در مورد گراب ۲ نه.

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

پ.ن: می‌خوام یاد بگیرم «چجوری؟» چون قراره اون رو برای دوستانم در لاگ مازندران توضیح بدم.

بوت گراب از iso رو میتونی از اینجا ببینی :
https://help.ubuntu.com/community/Grub2/ISOBoot
کلا برای نصب گراب بر روی دستگاهی از این کد استفاده میکنیم :
sudo grub-install [device][device] رو با ادرس فلش یا هارد و .. عوض کن.
مثلا :
/dev/sdb1
یا
/dev/sdc
HamidRezaKP.ir
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

آفلاین بابک طور

  • Hero Member
  • *
  • ارسال: 800
  • جنسیت : پسر
پاسخ : نصب grub 2 روی فلش
« پاسخ #2 : 13 دی 1394، 03:31 ب‌ظ »
سلام.
دستت دردنکنه که جواب دادی، ولی همون خط اول نوشته که ISOboot به چه کاری میاد و البته نوشته که فقط مخصوص ubuntu هست.

اون‌ فرمان‌ها رو هم بلدم. اینکه فرق استفاده از sdb1 و sdb چیه رو هم می دونم.گفتم که جستجو کردم.

گیرم اینه که نمی‌دونم چجوری باید اون گراب رو تنظیم کنم(اصلاً از کجا؟) و یا اینکه چجوری بهش بفهمون این ایزو رو از اینجا بخون و یا این ایزو رو chainboot کن به فلان boot loader.

داستان اینهاست...
« آخرین ویرایش: 25 دی 1394، 04:40 ب‌ظ توسط بابک طور »

آفلاین رسول سعیدنژاد

  • High Hero Member
  • *
  • ارسال: 3504
  • جنسیت : پسر
  • علی (ع): زَكَاةُ الْعِلْمِ نَشْرُه
پاسخ : نصب grub 2 روی فلش
« پاسخ #3 : 13 دی 1394، 03:49 ب‌ظ »
سلام
باید iso رو اکسترکت کنی توی کول دیسک و بعد گراب رو نصب کنی روی کول دیسک و grub.cfg رو دستکاری کنی تا آدرس vmlinuz‌ و ... رو از محتویات اکسترکت شده دربیاری بدی به grub.cfg تا اونو بوت کنه.
البته من یه جا دیدم که میشد iso رو توی گراب لود کرد ولی چرا دروغ بگم، هرکار کردم نتونستم راش بندازم.  ;D
بیا شما تست کن شاید راه افتاد برات  ;)
http://www.howtogeek.com/196933/how-to-boot-linux-iso-images-directly-from-your-hard-drive/
http://git.marmotte.net/git/glim/tree/grub2/inc-ubuntu.cfg
نرم افزار، یک ابزاره. برای رسیدن به هدف ازش استفاده کنید. نرم افزار هدف شما نیست :) - آزادی، بزرگ‌ترین دروغ بشریت

آفلاین بابک طور

  • Hero Member
  • *
  • ارسال: 800
  • جنسیت : پسر
پاسخ : نصب grub 2 روی فلش
« پاسخ #4 : 16 دی 1394، 04:11 ب‌ظ »
سلام.
دستت درد نکنه. سرنخ خوبی دادی. حتماً امتحانش می کنم.
« آخرین ویرایش: 19 دی 1394، 07:08 ب‌ظ توسط بابک طور »

آفلاین بابک طور

  • Hero Member
  • *
  • ارسال: 800
  • جنسیت : پسر
پاسخ : نصب grub 2 روی فلش
« پاسخ #5 : 19 دی 1394، 07:39 ب‌ظ »
کارهای زیر ور انجام دادم و نتایج زیر رو گرفتم:

به علت حفاظت از اطلاعات بوت، یک پارتیشن ۲ گیگابایتی روی فلش درست کردم.

بعد گراب رو نصب کردم:

grub-install --no-floppy --force --root-directory=/media/myusb /dev/sdb1
که myusb و sdb1 رو باید متناسب با فلش خودتون تغییر بدین.

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

بعد، یک پوشه‌ی isos درست کردم و چندتا ایزو توش ریختم(ubuntu14.04.3 و porteus). ایزوی ویندزد رو هم توی همون درایو دومی کپی کردم.

بعد فایل تنظیمات گراب(grub.cfg) رو به صورت زیر نوشتم:

set timeout=10 set default=0

menuentry "Ubuntu 14.0.4.3" {
    loopback loop /isos/ubuntu-14.04.3-desktop-amd64.iso
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/ubuntu-14.04.3-desktop-amd64.iso splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Porteus v3.1" {
    loopback loop /isos/Porteus-XFCE-v3.1-i486.iso
    linux (loop)/boot/syslinux/vmlinuz boot=boot/syslinux iso-scan/filename=/Porteus-XFCE-v3.1-i486.iso splash --
    initrd (loop)/boot/syslinux/initrd.xz
}

menuentry "Win7all setup" {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --set=root --no-floppy --fs-uuid 3642-50B0
    loopback loop /win7all.iso
    ntldr (loop)/bootmgr
    chainloader +1
}

تنها ایزویی که جواب داد ایزوی اوبونتو بود!

porteus چنین خطایی داد:

porteus data not found.
You are maybe using an unsupported boot device ... to an IDE/SATA disk...

و ویندزد :

Disk is not bootable. please insert a bootable floppy an try again...
من هم چنان که منتظر یاری دوستان هستم، دنبال چندتا ایزوی دیگه برای امتحان و علت این خطاها و روش برطرف کردنشون می‌گردم.

آفلاین بابک طور

  • Hero Member
  • *
  • ارسال: 800
  • جنسیت : پسر
پاسخ : نصب grub 2 روی فلش
« پاسخ #6 : 25 دی 1394، 05:18 ب‌ظ »
خوب تا اونجا پیش رفتیم که:

موفق شدیم:
-ایزوی اوبنتو رو بالا آوردیم.

ولی، موفق نشدیم:
-ایزوی نسب ویندزد و porteus رو بالا بیاریم.

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

- چون chainloader کلیه‌ی اختیارات رو از گراب به بوت لودر ویندزد انتقال می‌ده، پس اون فرمان‌های آدرس‌دهی توی گراب همه هیچی می‌شه و بوت لودر ویندزد همه‌ی کارها رو از اول انجام میده. این موجب می‌شه که بوت لودر نتونه داخل ایزو رو بخونه و در نتیجه bootmgr رو پیدا نمی‌کنه. پس بوت نمی‌شه.
  به همین دلیل ما مجبوریم که محتوای ایزو رو در یک درایو کپی کنیم، به صورتی که بوت لودر به اون‌ها دسترسی داشته باشه.
- برای porteus و دیگر توزیع‌هایی که بوت لودرشون گراب ۲ نیست هم ظاهراً (فقط همون ظاهراً) کار به همین منوال هست. چون کارها به syslinux (در مورد porteus)و دیگر بوت لودر‌ها واگذاز می‌شه، داستان همینه.

حالا چیکار کردم:

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

۱. یک پارتیشن ۴ گیگ روی فلش درست کردم و ویندزد رو ریختم توش (یعنی در این مرحله می‌شه باهاش سیستم رو بوت کرد و ویندزد نسب کرد).
۲.بعد با بقیه فلش یک پارتیشن دیگه درست کردم
۳. گراب رو روی فلش نسب کردم:
sudo -i# grub-install --no-floppy --force --root-directory=/media/babak/sdb2 /dev/sdb
دقت کنید که اینبار گراب رو روی sdb یعنی mbr ریختم، ولی پوشه‌ی روت رو روی sdb2 یعنی پارتیشنی که ایزوها رو روش می‌خوام بریزم آدرس دادم.
۴. یک پوشه به اسم isos درست کردم و ایزوی اوبونتو رو ریختم توش.
۵. یک فایل به اسم grub.cfg توی آدرس زیر روی sdb2 ساختم با محتویات زیرترش:
/boot/grubset timeout=10
set default=0

menuentry "Ubuntu 14.0.4.3" {
    loopback loop /isos/ubuntu-14.04.3-desktop-amd64.iso
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/isos/ubuntu-14.04.3-desktop-amd64.iso splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Windows 7 AIO setup" {
    insmod usbms 
    insmod part_msdos 
    insmod fat 
    insmod search_fs_uuid 
    insmod chain 
    search --fs-uuid --no-floppy --set=root 04EE707FEE706B36
    chainloader +1
}

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

هدف‌های بعدی اینه:

دوم: بتونم ایزو‌های توزیع‌های دیگه رو هم بوت کنم.(مشخصاً Puppy با گراب قدیمی، porteus  با syslinux )

سوم: به جای بوت ایزوی اوبونتو در کنار ویندوز، یک نسخه‌ی زنده (یعنی با امکان شخصی سازی) داشته باشم.