
GNU GRUB
หรือ GRUB เป็น boot loader ตัวหนึ่งของ GNU Project ซึ้งพัฒนาขึ้นเพื่อ เป็นตัวจัดการระบบบูท (Multiboot Specification) และมีหน้าที่เริ่มต้นโหลดเคอร์เนลลินุกซ์เข้าสู่หน่วยความจำของเครื่อง
GRUB อยู่ที่ไหน
ส่วนของโปรแกรม GRUB ที่ติดตั้งอยู่ที่ MBR นี้ ไม่ใช่ตัวโปรแกรมทั้งหมด หากแต่เป็นเพียงเฉพาะส่วนหนึ่งที่เรียกกันว่า Stage 1 ของ GRUB เท่านั้น ซึ่งมันจะค้นหา Stage 1.5 ของตัวมันเองไล่ลำดับไปจนถึงเคอร์เนลในที่สุด
ปัญหาที่ทำให้ GRUB เสียหายที่พบบ่อยๆ
- ลง OS สองตัวขึ้นไปในเครื่องเดียว ส่วนมากจะเป็นแบบ linux and Windows ฟอร์แมต Windows ใหม่จะทำให้ GRUB ถูกลบไปด้วย
ทางแก้ที่มี
Case A: ฟอร์แมต Windows
ขั้นตอนก็ไม่ยากก่อนอื่นก็ให้เราเอาแผ่น Live-CD (แผ่นติดตั้ง) ใส่เข้าไปแล้วบูทเข้าแผ่นมาที่ Desktop ซะก่อนจากนั้นทำตามขั้นตอนข้างล่างนี้
- ไปที่ Application>Accessories>Terminal
- พิมพ์คำสั่ง
sudo grub
จะเห็น “grub>” ขึ้นมา
- จากนั้นให้หาว่า GRUB อยู่ที่ไหนด้วยคำสั่ง
find /boot/grub/stage1
ส่วนใหญ่จะได้ค่า “(hd0,1)” ซึ่งมีความหมายดังนี้
hd0 = เราติดตั้ง Linux ไว้ทีฮาร์ดดิสก์ตัวแรก
1 = ติดตั้ง Linux ในพาร์ทิชั่นที่ 2 (พาร์ทิชั่นแรกเป็นของ Windows)
- พอได้ที่อยู่ของ GRUB แล้วก็ตั้งค่า GRUB ด้วยค่าที่ได้จากข้อ 3 โดยใช้คำสั่ง
root (hd0,1)
- ทำการติดตั้ง GRUB ด้วยคำสั่ง
setup (hd0,1)
*** สำหรับคนที่ทำแล้ว GRUB ไม่ขึ้นให้ใช้คำสั่ง setup (hd0) แทน
- ออกจาก GRUB ด้วยคำสั่ง
quit
- จากนั้นรีสตาร์ทเครื่องก็จะเห็นเมนู GRUB ขึ้นมาก็สามารถใช้งานได้ตามปกติ (อย่าลืมเอาแผ่น Live-CD ออกก่อนนะ)
เท่านี้เราก็ไม่ต้องลง Linux ใหม่แล้ว ปล่อยให้ Windows ฟอร์แมตไปตามสบาย เอิ๊กๆ
link: http://thitipat.wordpress.com/2007/10/19/%E0%B8%81%E0%B8%B9%E0%B9%89%E0%B8%8A%E0%B8%B5%E0%B8%9E-grub-restoring-grub/
---------------------------------------------------------------------------------------------------------------------------------------
Case B: error 22 ทำไปทำมาก็ 15 บ้าง 17 บ้าง
มาอีกแล้วครับต้องขอโทษด้วยครับที่ปัญหาของผมมีมาไม่มีที่สิ้นสุดเลยครับ เริ่ม กันเลยนะครับ 1.hatdisk ผมได้ลง windowsใว้ที่ไดว์ c: และจากนั้นก็มีอีก 2 partition คือ d: และ e: แล้วจากนั้นผมก็ลง ubuntu 10.4 และ open suse 10.3 ตามลำดับครับตอนที่ลง suse มันก็จะลง grub ให้โดยอัตโนมัติครับสีเขียวสวยงามมากแต่แล้วสิ่งที่ไม่คาดคิดก็เกิดขึ้น grub error ตอนแรกก็ error 22 ทำไปทำมาก็ 15 บ้าง 17 บ้าง ทำไงก็ทำไม่สำเร็จเลยครับ กรุณาช่วยผมอีกทีเถอะครับ ผมไม่รู้จะทำไงดีแล้วครับ ไม่อยาก format ใหม่เลยครับ
- บูตจากแผ่น suse
- เลือก Installation
- เลือก Orther
- เลือก Boot System
- ใส่ Password "root"
- จะอยู่ที่ # พิมพ์
#grup
grup>root (hd0,1)
grup>setup (hd0,1)
grup>quit
#reboot
Note: พาร์ติชันแรก (hd0,0) คือ Harddisk ลูกที่ 1, swap partition
(hd0,1) ก็คือ Harddisk ลูกที่1, / partition
เพิ่มเติม Grub Error 12, Grub Error 15, Grub Error 17, Grub Error 18
How to fix error 17
Go to the BIOS settings of your machine and change the translation method used to access the hard drive from the default setting “Auto” to “Large” (not LBA, not CHS!).
-------------------------------------------------------------------------------------------------------------------------------------
Case C: ทำการ resize partition ที่เป็น swap (ต้นเหตุของ grub error 17)
ทำการ resize partition ที่เป็น swap (ต้นเหตุของ grub error 17)
Boot ด้วย แผ่น ububtu liveCD
System -> Administration -> Partition Editor
Resize some partition to shrink
Apply
right click to swap -> swap off
right click to swap -> Delete
right click to free space -> Create partition type linux-swap (ต้นเหตุของปัญหา ทำ partition เปลี่ยน)
Apply
right click to swap -> swap on
Reboot
Grub Error 17 โอ้ งานเข้าแล้วตู
Boot ด้วย แผ่น ububtu liveCD ใหม่
# sudo grub
grub> find /boot/grub/stage1
(hd0,4) <—- boot ที่ partition 4 หรือ sda5 แต่ตอนนี้เปลี่ยนเป้น sda6 แล้ว
; เปลี่ยน root เป็น sda6
grub> root (hd0,5)
grub> setup (hd0)
—OK—
grub> quit
# reboot
Grub กลับมาแล้ว เข้า windows ได้ปรกติ แต่เข้า ubuntu ไม่ได้
ติด error 17 อีกแล้ว
ลองกด e เข้าไปดู ไหงไป boot ที่ hd0,6 หว่า แก้เป็น hd0,5 enter
เข้าได้แล้ว หุหุ
เสร็จแล้วเข้าไปแก้ไฟล์ /boot/grub/menu.lst เปลี่ยน hd0,6 ให้เป็น hd0,5 ในส่วนของ ubuntu
เสร็จแล้วก็ไปแก้ /etc/fstab
จากเดิม
UUID=d4a01b04-1a4d-4d61-908d-f50a1c6a6b4a none swap sw 0 0
เป็น
/dev/sda7 none swap sw 0 0
reboot
Link : http://www.leakung.in.th/?p=29
-------------------------------------------------------------------------------------------------------------------------------------
Case D: Format แล้วเข้าอะไรก็ไม่ได้เลย GRUB error ท่าเดียว
โหลด boot cd http://www.bootdisk.com/bootdisk.htm
format boot record โดย
fdisk /mbr แล้ว restart
กรณีที่ MBR ถูก reset ทำให้ grub หายไป boot ได้แต่ windows แต่ partition linux ยังอยู่ดีและไม่ต้องการติดตั้งใหม่ ให้ทำดังนี้
การกู้คืน grub ที่หายไป
1. หาแผ่น boot ของ linux ที่เราใช้งานมา boot
เป็นแผ่น bootdisk ที่เราสร้างไว้ตอนติดตั้ง linux
2. ตรวจหาดูว่า /boot อยู่ใน partition ใหน เช่น
#df -h
/dev/hda1 /boot ค่าที่จะนำไปใช้จะเท่ากับ hd0,0 (hda=hd0) (1=0)
/dev/hda2 /boot ค่าที่จะนำไปใช้จะเท่ากับ hd0,1 (hda=hd0) (2=1)
3. พิมพ์คำสั่ง grub และพิมพ์คำสั่งต่อไปนี้
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
#reboot
หากเป็น sata ก็จะเป็น sd0 แทน hd0
สำหรับท่านที่ใช้ lilo นั้นง่ายมาก
หลังจาก boot แล้วให้พิมพ์คำสั่ง
#/sbin/lilo
#reboot
link:http://www.thaihosttalk.com/index.php?topic=6284.25;wap2
สุดท้าย ให้เห็นภาพกันเลย
http://fukduk.tv/9/38
Thank http://en.wikipedia.org/wiki/GNU_GRUB
เทคนิคแก้ไขปัญหา เมื่อคิดจะลอง 2 โอเอสบนเครื่องเดียวกัน
[b]Grub หาย เลยบูทเข้า Ubuntu ไม่ได้[/b]
grub คืออะไร? ตอบให้มือใหม่เห็นภาพก็คือ เจ้าเมนูที่ขึ้นมาให้เราเลือกใช้งานว่าจะเข้า ubuntu โหมดไหน หรือถ้าบางคนลงไว้ 2 OS (windows และ ubuntu) ก็จะมี OS ให้เลือกเข้าใช้งานกันตรงนั้น โดยเมื่อ grub หายเราก็จะไม่สามารถมองเห็นเมนูนั้น แต่มันไม่ได้หมายความว่า ข้อมูลทุกอย่างทั้งของ ubuntu หรือ windows จะหายไป ให้ลองทำดังนี้ก่อน
1 บูทด้วย live CD
2 เปิด terminal (คลิกที่ ปุ่ม menu > Applications > Terminal)
3 พิมพ์คำสั่ง sudo grub แล้ว enter
4 มันจะเข้าสู่โหมด prompt ของ grub
5 พิมพ์ find /boot/grub/stage1 แล้ว enter
ุ6 พิมพ์ root (hd0,2) แล้ว enter <<<< เลขอันนี้แล้วแต่ว่า find จากข้อ 5 แล้วได้อะไรก็ใส่ตามนั้น อาจจะไม่ใช่ hd แต่เป็น sd ก็ได้
7 พิมพ์ setup (hd0) แล้ว enter