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

کمک و پشتیبانی => نصب، راه‌اندازی و بروزآوری => نویسنده: بابک طور در 13 دی 1394، 11:59 ق‌ظ

عنوان: نصب grub 2 روی فلش
ارسال شده توسط: بابک طور در 13 دی 1394، 11:59 ق‌ظ
سلام.
می‌خوام گراب ۲ رو روی فلش نصب کنم تا به کمک اون انواع ایزوهای بوتیبل رو از روی فلش بوت کنم، بدون این که هردفعه هی فلش رو فرمت کنم و یا از نرم‌افزار خاصی استفاده کنم.

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

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

پ.ن: می‌خوام یاد بگیرم «چجوری؟» چون قراره اون رو برای دوستانم در لاگ مازندران توضیح بدم.
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: hamidrezakp در 13 دی 1394، 12:42 ب‌ظ
سلام.
می‌خوام گراب ۲ رو روی فلش نصب کنم تا به کمک اون انواع ایزوهای بوتیبل رو از روی فلش بوت کنمُ بدون این که هردفعه هی فلش رو فرمت کنم و یا از نرم‌افزار خاصی استفاده کنم.

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

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

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

بوت گراب از iso رو میتونی از اینجا ببینی :
https://help.ubuntu.com/community/Grub2/ISOBoot
کلا برای نصب گراب بر روی دستگاهی از این کد استفاده میکنیم :
sudo grub-install [device][device] رو با ادرس فلش یا هارد و .. عوض کن.
مثلا :
/dev/sdb1
یا
/dev/sdc
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: بابک طور در 13 دی 1394، 03:31 ب‌ظ
سلام.
دستت دردنکنه که جواب دادی، ولی همون خط اول نوشته که ISOboot به چه کاری میاد و البته نوشته که فقط مخصوص ubuntu هست.

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

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

داستان اینهاست...
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: رسول سعیدنژاد در 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://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 (http://git.marmotte.net/git/glim/tree/grub2/inc-ubuntu.cfg)
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: بابک طور در 16 دی 1394، 04:11 ب‌ظ
سلام.
دستت درد نکنه. سرنخ خوبی دادی. حتماً امتحانش می کنم.
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: بابک طور در 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...
من هم چنان که منتظر یاری دوستان هستم، دنبال چندتا ایزوی دیگه برای امتحان و علت این خطاها و روش برطرف کردنشون می‌گردم.
عنوان: پاسخ : نصب grub 2 روی فلش
ارسال شده توسط: بابک طور در 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 )

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