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

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

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

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

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

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

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

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

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

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

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

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

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

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

۱- اجرای دستور  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 وارد کردیم، یکی باشه.

 

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

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

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

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

منبع

دیدگاه‌ها

7 پاسخ به “بوت لینوکس ‌لایو از روی فلش دیسک”

  1. M.J نیم‌رخ

    تنظیمات ابونتو وقتی از رو فلش بوت می شه کاملا ذخیره می شه حتی موقع ساخت فلش می شه تعیین کرد چقدر از فضای فلش به عنوان فضا برای کارهای دیگه غیر از نصب مثلا فایل های که لازم دارید استفاده بشه

  2. امین نیم‌رخ

    احسنت. تو فکر همچین کاری بودم. مرسی که توی وبلاگت گذاشتی.
    اما میدونی الآن تو فکر چی هستم؟ یه گراب که روی فلاپی یا CD بشه نصبش کرد و توی کامپیوترهای قدیمی که نمیتونن usb رو بوت کنن یا توی کامپیوترایی که بایوس اونا پسورد داره (اما اگه خدا بخواد حد اقل فلاپی رو که بوت میکنن) ازش استفاده کرد و لینوکسی که روی فلش مموری (یا بهتر، هارد اکسترنال) نصبه باهاش بالا آورد! (استفراغ منظورم نیستا ;) )

  3. امین نیم‌رخ

    ای بابا چرا کامنت من تایید نمیشه؟!!! :(

  4. erghezi نیم‌رخ

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

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

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

  5. امير گنو نیم‌رخ

    سلام
    راستي خوداوبونتو هم براي فلش داره كار مي كنه براي اوبونتو 10.04 آلفا 2 هم اومده
    http://cdimage.ubuntu.com/ports/releases/lucid/alpha-2/

    بابت لينك تون هم ممنون

  6. امین نیم‌رخ

    منظورم این بود که، ببین در نظر بگیر ما یه اوبونتو روی external hard نصب کردیم. برای اینکه با این لود کنیم، باید بریم توی مادربرد و تنظیم کنیم که اول external hard رو بخون. حالا اومدیم یه مادربردی تنظیماتش پسورد داشت و نمیشد تغیرش داد.
    خب پس باز هم اول هارد داخلی رو میخونه و نوبت به هارد دوم نمیرسه. حالا اگر بشه گراب رو روی CD یا فلاپی نصب کرد و چندتا option مختلف بهش داد، که بشه cd یا فلاپی رو گذاشت و گراب رو بالا آورد و از بین یکی از اون optionها یکی رو انتخاب کرد و بهش گفت که برو از روی external hard اوبونتو رو بردار بیار… خوب میشه!
    خب بالاخره از چند حالت که خارج نیست. hd0 که میشه هارد داخلی و hd1 میشه external hard. پارتیشنی هم که روش لینوکس نصبه معلومه دیگه. پس میشه با یکی دو تا option مختلف این کارو کرد….

  7. ali نیم‌رخ
    ali

    Installing for i386-pc platform.
    grub-install: error: failed to get canonical path of `/cow’
    این خطا مال چیه با اجرای کد اول خطا گرفت گراب نصب نشد

دیدگاهتان را بنویسید

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