لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
راهنمای دستورات GRUB2
2010-04-20, 05:37 PM,
ارسال : #1
راهنمای دستورات GRUB2
با عرض سلام و خسته نباشید خدمت تمام دوستان .

با توجه به اینکه مقالات مرتبط به گراب موجود در سایت ناقص و با آمدن GRUB2 کم کم داره قدیمی میشه لازم دیدم با دادن مقاله ای نسبتا کامل راجع به دستورات GRUB2 سعی کنم کمی از مشکلات دوستان و علاقه مندان گنو/لینوکس را حل کنم .

لطفا توجه داشته باشید که GRUB2 هنوز کامل نشده و درحال توسعه می باشد ؛ شاید دستورات و راهنمایی های موجود در این مقاله روی توزیع لینوکس شما با خطا مواجه شود و یا اینکه از رده خارج و غیر قابل استفاده باشد .

GRUB2 bash commands
grub-install : نصب به روز آوري و تعمير Grub2 .
update-grub : ساختن يک فايل جديد grub.cfg .
grub-mkconfig : ساختن يک فايل جديد grub.cfg .
grub-set-default : تشخيص ميدهد که کدام سيستم عامل به صورت پيش فرض روي grub تنظيم شده است .
grub-mkrescue : يک فايل ايميح براي ساختن ديسک نجات تهيه مي کند .
grub-setup : فايل boot.img را روي ديسک يا پارتيشن نصب مي کند .
grub-mkfont : فونت هاي لازمه را براي استفاده روي Grub تبديل مي کند .
grub-mkdevicemap : يک فايل جديد device.map درست مي کند .
grub-mkimage : يک ايميج قابل بوت براي استفاده دو فرمان grub-install و grub-mkrescue درست مي کند .
grub-prube : اين برنامه اطلاعات درايور هاي شما را جستجو مي کند .

grub-install - /usr/sbin/grub-install
grub-install گراب را روي درايور مورد نظر نصب مي کند . ( اين دستور مي تواند از نام درايور(LABLE) يا فايل درايور موجود در /dev استفاده کند )
اين دستور فايل ايميج گراب را در دايرکتوري بوت با --root-directory (/ پيش فرض) مشحص شده کپي مي کند .و با استفاده از دستور grub-setup گراب را روي سکتور هاي بوت(MBR) نصب مي کند.
--modules = ماژول هاي مورد نياز براي لود شدن را انتخاب مي کند .
--root-directory = دايرکتوري که ايميج grub روي آن قرار مي گيرد . (دايرکتوري / پيش فرض مي باشد )
--grub-setup = از فايل boot.img استفاده مي کند .
--grub-mkimage = از فايل ساخته شده توسط دستور grub-mkimage استفاده مي کند .
--grub-mkdevicemap = از نقشه فايل درايورهاي (device.map) شما استفاده مي کند .
--grub-probe = از فايل ساخته شده توسط دستور grub-prube استفاده مي کند .
--no-floppy = فلاپي دايو را جستجو نمي کند .
--recheck = فايل device.map را جستجو مي کند .

از آنجايي که اين دستور توانايي آن را دارد که با اجراي چهار(4) دستور ديگر به صورت خودکار تمام مشکلات گراب را برطرف کند ؛ پس مي تواند مهمترين دستور گراب باشد .
*اين دستور دايرکتوري /boot/grub/ را در صورت نبودن در پارتيشن ريشه مي سازد .
*فايل هاي گراب *.mod و *.lst و *.img را از مسير /usr/lib/grub/i386-pc/ به دايرکتوري /boot/grub/ کپي مي کند .
*دستور grub-probe اجرا شده و اطلاعات مربوط به ديسک و پارتيشن ها به دست مي آيد .
*با استفاده از دستور grub-makedevicemap فايل device.map درست مي شود .
*با استفاده از دستور grub-mkimage يک فايل جديد core.img به دست آمده و با دستور grub-setup فايل هاي boot.img و core.img روی ديسک يا پارتيشن نصب شده و نصب گراب به اتمام مي رسد .

توجه : برای اجرای این دستورات باید سیستم عامل بوت شده باشد زیرا این دستورات فقط بر روی سیستم نصب شده قابل اجرا می باشد .
در صورتی که سیستم عامل شما به هر دلیلی به صورت عادی بوت نشود GRUB CLI (Command Line Interface) را در اول بوت خواهید داشت ؛ می توانید از راهنمای GRUB CLI استفاده کنید .
با استفاده از یک LiveCD و اجرای دستور chroot به سیستم عامل نصب شده می توان گراب را تعمیر کرد .

چگونه میشود برسی کرد که کدام ورژن گراب روی سیستم نصب است :
grub-install –v
چگونه میشود گراب را نصب به روز آوری و تعمیر کرد :
از آنجایی که GRUB2 روی سیستم نصب است پس فقط می توان با استفاده از فرامین همین ورژن این کار را انجام داد .
grub-install /dev/sda
/dev/sda همان دیسکی هست که گراب روی آن نصب شده است . (فایل boot.img به MBR اولین هارد کپی می شود) ممکن است گراب شما روی هارد دیسک دوم /dev/sdb یا هارد دیسک سوم /dev/sdcنصب شده باشد .

پارتیشن اختصاصی برای گراب :
چرا هر کسی می خواهد یک پارتیشن جداگانه به گراب اختصاص دهد ؟
برای اینکه گراب را نصب و آزمایش کنید ، شما مستقیما باید با فایل boot/grub/grub.cfg/ کار کنید و این امر و اجرای متناوب دستورات گراب می تواند باعث از بین رفتن فایل های پارتیشن ریشه شود . از این رو سعی میشود گراب در یک پارتیشن جداگانه نصب شود .
توجه : با استفاده از ابزارهای fdisk و parted یا Gparted یک پارتیشن که حجمش بیشتر از 60MB باشد درست کنید .
1- پارتیشن مورد نظر را انتخاب کرده و آن را به یکی از فایل سیستم های موجود مثل ext3 یا ext4 فرمت کنید .
۲- پارتیشن را مونت کنید .
۳- دستور grub-install را مشابه زیر اجرا کنید :
sudo grub-install –root-directory=/media/grub2 /dev/sda
media/grub2/ نام مسیری است که پارتیشن گراب آنجا مونت شده است .
dev/sda/ هارد دیسک مورد نظر برای نوشتن کد stage1 روی MBR .
بعد از اجرای این دستورات شما می توانید فایل grub.cfg را به هر صورت که می خواهید تغییر داده و آزمایش کنید .
برای گراب شخصی سازی شده نیاز به فونت داریم . فونت های لازمه را می توان از مسیر usr/share/grub/unicode.pff/ و usr/share/grub/ascii.pff/ به فولدر boot/fonts/ کپی کرده و فایل grub.cfg رو به این صورت ویرایش می کنیم .

### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=5
set root=(hd0,2)
if font (hd0,2)/fonts/unicode.pff ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  terminal gfxterm
fi
### END /etc/grub.d/00_header ###

Grub2 روی USB :
از این روش می توان برای ساخت دیست نجات و همچنین اگر مشتاق به آزمایش گراب و آموختن آن بدون نیاز به استفاده از گراب نصب شده روی سیستم دارید استفاده کرد .
1- یک USB درایو که حجمش بیشتر از 60MB است رو به سیستم وصل کرده و آن را mount می کنیم .
در صورتی که USB درایو شما به صورت خودکار مونت می شود با استفاده از دستور mount محل برقراری اتصال رو پیدا کنید .
بعد از اجرای دستور mount باید خطی مشابه زیر رویت کنید :
/dev/sdc1 on /media/disk type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)
البته معمولا در شاخه media/ اتصال برقرار می شود .
۲- دستور grub-install را اجرا می کنیم .
sudo grub-install --root-directory=/media/disk /dev/sdc
media/disk/ محل برقراری اتصال است .
MBR برای نصب گراب روی dev/sdc/ قرار دارد . (USB Drive)
توجه : dev/sdc1/ پارتیشن است و من گراب را روی این نصب نکردم . گراب روی MBR نصب و برای این کار dev/sdb/ فرا خوانده می شود .
برای این که از روند اجرای کار مطلع شوید می توانید به چراغ LED موجود روی USB درایو نگاه کنید .
حالا شما یک دیسک نجات با فرمت USB در اختیار دارید .
اما این دیسک هنوز فایل grub.cfg را ندارد .
۳- دستور grub-mkconfig را اجرا می کنیم .
sudo grub-mkconfig -o /media/disk/boot/grub/grub.cfg
۴- مجوز لازم برای خواندن فایل را می دهیم .
sudo chmod 777 -R /media/disk/boot
تمام ؛ حالا شما می توانید این دیسک را آزمایش کنید !


Update-grub - /usr/sbin/update-grub
این اسکریپت یک فایل جدیدgrub.cfg می سازد .
خروجی این اسکریپت نتیجه اجرای دو دستور grub-mkdevicemap و grub-prube می باشد . و فایل ساخته شده به صورت خودکار در دایرکتوری boot/grub/ قرار می گیرد .
مثال از خروجی این دستور :
root@localhost:~# update-grub
Updating /boot/grub/grub.cfg ...
Found Windows Vista (loader) on /dev/sdb1
Found linux image: /boot/vmlinuz-2.6.28-14-generic
Found initrd image: /boot/initrd.img-2.6.28-14-generic
Found memtest86+ image: /memtest86+.bin
done

grub-mkconfig - /usr/sbin/grub-mkconfig
این اسکریپت یک فایل grub.cfg درست می کند .
موقعی که این اسکریپت اجرا می شود همراه خودش دو اسکریپت grub-mkdevicemap و grub-prube را اجرا می کند و نتیجه این دستورات بدست آمدن فایل grub.cfg می باشد .
-o,--output=FILE : خروجی دستور را به فایل مورد نظر هدایت می کند
-h,--help : این راهنما را چاپ می کند
-v,--version : ورژن نرم افزار را چاپ می کند
مثال :
sudo grub-mkconfig
اگر از گزینه o- استفاده نکنید ، فایل ساخته شده به صورت پیشفرض به مسیر boot/grub/grub.cfg انتقال داده شده و در صورتی که این فایل قبلا موجود باشد . فایل جدید را جایگزین قبلی می کند .
sudo grub-mkconfig -o /home/user/grub.cfg
فایل ساخته شده در مسیر home/user/ با نام grub.cfg زخیره شد .

grub-set-default - /usr/sbin/grub-set-default
این اسکریپت تعیین می کند از بین گزینه های موجود کدام به صورت پیشفرض بوت شود .
sudo grub-set-default 2
تغییرات اعمال شده در فایل boot/grub/default زخیره می شود .

grub-mkrescue - /usr/sbin/grub-mkrescue
این ایکریپت یک ایمیج قابل بوت برای فلاپی دیسک تهیه می کند ؛ همچنین با اجرای دستورgenisoimage یک فایل iso برای رایت روی CD تهیه می کند . به صورت پیشفرض این ایمیج تمام ماژول های مورد نیاز گراب را همراه خود دارد .
-h,--help = راهنمای برنامه
-v,--version = ورژن برنامه
--modules=MODULES ماژول های مورد نیاز برای لود شدن
--overly=DIR = [ترجمه نامفهوم !]
--pkglibdir = DIR به جای استفاده از دایرکتوری /usr/lib/grub/i386-pc/ از این مسیر استفاده می کند .
--grub-mkimage = FILE از فایل ساخته شده توسط دستور grub-mkimage استفاده می کند .
--image-type = TYPE نوع ایمیج را انتخاب می کند [cdrom یا floppy]
--emulation = TYPE [ترجمه نا مفهوم !]
چگونه می شود یک CD راه انداز گراب (دیسک نجات)تهیه کنیم :
این مثال با استفاده از دستور grub-mkrescue ساخته شده است .
grub-mkrescue --overlay=/boot/grub GRUB2CD.iso
اگر شما می خواهید یه یک فایل ISO برای CD داشته باشید حتما از گزینه --image-type استفاده کنید .
پارامتر --overly خیلی مهم است ؛ در صورتی که از این پارامتر استفاده نکنید دستور از دایرکتوری /usr/lib/grub/i386-pc/ استفاده می کند که در این شاخه فایل grub.cfg نیست ، پس در صورت ساختن فایل ایمیج بدون این پارامتر شما موقع بوت دیگر منوی گراب را نخواهید داشت و باید به صورت CLI با گراب کار کنید .

چگونه یک Floppy راه انداز گراب (دیسک نجات) تهیه کنیم :
تنها کار لازمه این است که موقع اجرای دستور مقدار پارامتر --image-type را برابر floppy قرار دهیم و بعد با استفاده از دستور dd ایمیج ساخته شده را به فلاپی انتقال دهیم .
grub-mkrescue --overlay=/boot/grub --image-type=floppy grub_two.dsk
dd if=grub_two.dsk of=/dev/fd0 bs=512 count=2880

grub-setup - /usr/sbin/grub-setup
فايل boot.img را روي MBR و يا روي سکتورهاي پارتيشن بوت نصب مي کند و همچنين فايل core.img را روي سکتورهاي بعد از MBR نصب مي کند .
-b,--boot-image=FILE از فايل boot.img استفاده مي کند (پيشفرض /boot/grub/boot.img)
-c,--core-image=FILE از فايل core.img استفاده مي کند (پيشفرض /boot/grub/core.img)
-d,--directory=DIR مسيردايرکتوري grub را مشخص مي کند (پيشفرض /boot/grub/)
-m,--device-map=FILE از فايل device.map استفاده مي کند (پيشفرض /boot/grub/device.map)
-r,--root-device=DEV از درايور موجود در root سيستم استفاده مي کند
-h,--help اين راهنما را چاپ مي کند
-V,--version ورژن نرم افزار را نمايش مي دهد
-v,--verbose روند انجام عمليات را به نمايش در مي آورد .

چگونه مي شود گراب را از دوباره نصب کرد :
براي انجام اين کار يا بايد سيستم عامل بوت شود و يا اينکه با استفاده از يک LiveCD به سيستم عامل نصب شده روي سيستم chroot کنيم .

grub-setup /dev/sdb
اين دستور گراب را در MBR هارد ديسک دوم نصب مي کند .

چگونه مي شود گراب را روي سکتورهاي پارتيشن بوت نصب کرد :
grub-setup --force /dev/sdb2
اين دستور فايل /boot/grub/boot.img را روي پارتيشن دوم از هارد ديسک دوم نصب مي کند.

چگونه مي شود گراب را از روي LiveCD دوباره نصب کرد :
در ابتداي کار شما مطمعن شويد که LiveCD داراي GRUB2 مي باشد . توزيع هايي که جديدا منتشر مي شوند معمولا پشتيباني از GRUB2 را همراه دارند مثل : Ubuntu , Parsix , OpenSuSE , …

1- درابتداي کار پارتيشني که گراب روي آن نصب است را مونت کنيد :
mount –t ext3 /dev/sda1 /mnt
توجه : اينکه گراب روي کدام پارتيشن نصب شده بستگي و روش نصب شما دارد ؛ در مثال بالا گراب روي پارتيشن اول از هارد ديسک اول نصب مي باشد .
2- دستور گراب را مطابق زير اجرا کنيد :
sudo grub-setup -d /mnt/boot/grub /dev/sda
پارامتر –d براي اين بکار رفت تا گراب از فايل هاي موجود در اين دايرکتوري (boot.img,core.img,device.map,…) استفاده کند .
اگر اجراي دستور بالا با خطا مواجه شد و نتوانست به فايل device.map دسترسي پيدا کند مي توانيد از پارامتر –m به صورت زير استفاده کنيد :
sudo grub-setup –d /mnt/boot/grub –m /mnt/boot/grub/device.map /dev/sda

همچنين شما مي توانيد از بقيه پارامترهاي اين دستور نيز استفاده کنيد :
sudo grub-setup –b /mnt/boot/grub/boot.img –c /mnt/boot/grub/core.img –m /mnt/boot/grub/device.map /dev/sda

grub-mkfont - /usr/sbin/grub-mkfont
اين دستور فونت هاي مورد نظر را تبديل به فونت هاي مورد استفاده محيط گرافيکي منوي گراب مي کند .
ببخشيد ! در حال حاضر اطلاعات جامع و دقيقي براي اين برنامه ندارم ... !

grub-mkdevivemap - /usr/sbin/grub-mkdevicemap
همان طور که گفته شد اين دستور يک فايل جديد device.map درست مي کند .

-n,--no-floppy = فلاپي درايو را جستجو نمي کند .
-s,--probe-second-floppy = سيستم را براي جستجوي فلاپي درايو هاي بيشتر جستجو مي کند .
-m,--device-map=FILE = از فايل device.map استفاده مي کند (پيشفرض /boot/grub/device.map)
-h,--help = اين راهنما را چاپ مي کند .
-V,--version = ورژن نرم افزار را نشان مي دهد .
-v,--verbos = روند انجام عمليات را به نمايش مي گزارد .

grub-mkimage - /usr/bin/grub-mkimage
اين دستور يک فايل جديد core.img درست مي کند . اين فايل روي اولين سکتورهاي هارد ديسک بعد از MBR کي مي شود .
توجه داشته باشيد که اين دستور يک اسکريپت نيست و توسط دو اسکريپت grub-install و grub-mkrescue اجرا مي شود .

-d,--directory=DIR = [پيشفرض /usr/lib/grub/i386-pc/] از ايميج و ماژول هاي موجود در اينايرکتوري استفاده مي کند
-p,--prefix=DIR = [پيشفرض /boot/grub/] مسير دايرکتوري گراب را مشخص مي کند
-m,--memdisk=FILE = [ترجمه نامفهوم!] embed FILE as a memdisk imag
-o,--output=FILE = [پيشفرض stdout] خروجي دستور در چه فايلي و در کدام مسير توليد شود .
-h,--help = اين راهنما را چاپ مي کند .
-V,--version = ورژن اين دستور را نمايش مي دهد .
-v,--verbose = روند انجام عمليات را به نمايش مي آورد .

grub-probe - /usr/sbin/grub-probe
اين دستور اطلاعاتي راجع به partition table و disklable و يا ديسک هاي LVM و يا RAID به دست مي آورد . اين اطلاعات مورد نياز اسکريپت هاي grub-install يا grub-mkconfig يا update-grub مي باشد . البته اسکريپت هاي نام برده از اين دستور به صورت اتوماتيک استفاده مي کنند .

==============
از آنجایی که این مقاله دومین مقاله ای است که من ترجمه میکنم شاید کلی ایراد داشته باشد . در ضمن اینکه در سه قسمت همین مفاله ترجمه آن بخش را متوجه نشدم پس نوشتم (ترجمه نامفهوم!)
لطفا با مراجعه با man دستورات ترجمه درست آن بخش را بزارید تا درست بشه .
==============
این هم لینک ویکی همین مقاله
http://wiki.technotux.org/wiki/index.php...mmand_List

تهیه و تنظیم : مهدی شیخ حسینی (mah454)
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2010-04-20, 05:40 PM,
ارسال : #2
پاسخ: راهنمای دستورات GRUB2
به زودی مقالات مرتبط با GRUB CLI (Grub Command Line Interface) و GRUB SplashImage را هم اینجا میزارم .

Debian GNU/Linux System Administrator
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2010-04-21, 12:18 AM,
ارسال : #3
پاسخ: راهنمای دستورات GRUB2
ممنون Smile
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2010-04-22, 03:25 PM,
ارسال : #4
پاسخ: راهنمای دستورات GRUB2
سلام
تشکر

<!-- m --><a class="postlink" href="http://www.abnabatmag.com">http://www.abnabatmag.com</a><!-- m -->
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


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