سلام. دوستان.
یکی از قابلیتای فوق العاده جالب گراب دو اینه که میشه یه دیسک لایو ایزو رو بدون اینکه شما اون رو رایت بزنید از طریق گراب بالا بیارید. یعنی برای اینکار باید دیسک لایو رو به صورت ایزو روی هارد داشته باشید.
در آدرس زیر فردی توسنته این کار رو با توزیع grml-small انجام بده.
http://michael-prokop.at/blog/2009/05/25/boot-an-iso-via-grub2/برای اینکار این فرد اومده به انتهای فایل /boot/grub/grub.cfg خطوط زیر رو اضافه کرده.
menuentry "grml-rescue system from harddisk (ISO = grml-small_2008.11.iso)" {
loopback loop (hd0,1)/grml/grml-small_2008.11.iso
linux (loop)/boot/grmlsmall/linux26 isofrom=/dev/sda1/grml/grml-small_2008.11.iso boot=live quiet vga=791 noeject noprompt
initrd (loop)/boot/grmlsmall/initrd.gz
}
فقط باید توجه کنید که این فرد فایل ایزوش در پارتیشن sda1 بوده!
حالا من قصد دارم با استفاده از همین روش اوبونتو ۹.۱۰ رو بالا بیارم. فایل ایزو هم در پارتیشن sdb6 من هست.
من این آدرس رو با استفاده از دستور sudo sfdisk -l بدست مییارم. که خروجی که به من میده اینچنینه:
isk /dev/sdb: 60801 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sdb1 0+ 84 85- 682731 82 Linux swap / Solaris
/dev/sdb2 85 60800 60716 487701270 5 Extended
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
/dev/sdb5 85+ 1908 1824- 14651248+ 83 Linux
/dev/sdb6 1909+ 60800 58892- 473049958+ 83 Linux
یک سوال! آیا خود حالت اکستندد در لینوکس یه پارتیشن حساب میشه؟! یعنی شما دقت کنید sdb2 به اکستندد اختصاص داده شده!
و بعد اون پارتیشنای خالی چیه!؟ که جلوی همشون صفر زده!
اگه این چیزی که این دستور داره به من نشون میده درست باشه، پارتیشن خونگیم باید sdb6 باشه اما من روی این هارد فقط سه تا پارتیشن روت و خونگی و سواپ دارم! که هر جوری حساب کنیم نباید به sdb6 برسه
خلاصه من این خطوطی که این فرد اضافه کرده رو به خطوط زیر
تغییر دادم.
menuentry "UBUNTU-lIVE" {
loopback loop (hd1,6)/home/erghezi/karmic-desktop-amd64.iso
linux (loop)/boot/vmlinuz-2.6.31-10-generic isofrom=/dev/sdb6/home/erghezi/karmic-desktop-amd64.iso boot=live quiet vga=791 noeject noprompt
initrd (loop)/boot/initrd.img-2.6.31-10-generic
}
که تمام اینا رو با این حساب در نظر گرفتم که فایل ایزو در پارتیشن sdb6 خودم هست!
و البته روی دو خطی که اولشون linux و initrd هست نیز شک دارم! آیا تغییری که دادم درسته!؟
البته شاید بگید خوب برو تست کن! ببین بالا مییاد یا نه
خوب منم تست میکنم اما جوابی که میگیرم اینه :
file not found