วันจันทร์ที่ 22 กันยายน พ.ศ. 2551

วิธีซ่อม ubuntu grub

หลังจากที่ลง windows ใหม่ หลังจากลง ubuntu ไปแล้ว

จะพบว่า bootloader ของ windows มันดันไปทับ grub bootloader

ทำให้เราไม่สามารถเข้า ubuntu อันเป็นที่รักของเราได้



แต่ไม่ต้องตกใจไป ไม่ต้องลง ubuntu ใหม่หรอกน้ะจ้ะ

แค่แก้ไข grub ก็ใช้ได้แล้วล่ะ


วิธีทำ คือ boot จาก CD น้ะจ้ะ



path ที่แก้ไข มันอยู่ที่ /boot/grub/menu.lst

( ถ้า boot จาก CD ให้ mount path ก่อน มันจะไปอยู่ใน /media/disk/.. อะไรซักอย่าง เพราะว่า / ( root ) มันจะเป็น drive CD แทน น้ะจ้ะ )

index มันเริ่มจาก 0 นะ

เช่น /dev/sda2 จะกลายเป็น (hd0, 1)
sda = hd0, 2 กลายเป็น 1 เพราะว่า index มันเริ่มจาก 0 get บ่

คำสั่งที่น่าจะเป็นประโยชน์
คือ fdisk -l เช่น
dsin@dsin-laptop:~$ sudo fdisk -l
[sudo] password for dsin:

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0bddba0e

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       10199    81923436    7  HPFS/NTFS
/dev/sda2           10200       14279    32772600   83  Linux
/dev/sda3           14280       18359    32772600   af  Unknown
/dev/sda4           18360       26532    65649622+   5  Extended
/dev/sda5           18360       18882     4200966   82  Linux swap / Solaris
/dev/sda6           18883       22707    30724281    7  HPFS/NTFS
/dev/sda7           22708       26532    30724281    7  HPFS/NTFS


เริ่มกันเลยน้ะจ้ะ
ทำตามนี้เลย
$ sudo grub
จากนั้นดูว่า Linux ของเราอยู่ที่ path ไหนโดยใช้
> find /boot/grub/stage1
อย่างของเรามันจะออก (hd0,1) มาให้น่ะ จากนั้น ก็เซตอัพตามที่หวยมันออกมานั่นแหละ
> root (hd0,1)
> setup(hd0)
> quit


น่ารู้1 :  ใน /boot/grub/menu.lst
มันไม่ต้อง tab จัดเรียงสวยงาม
แค่ space ก็พอเพียงน้ะจ้ะ

น่ารู้2 :
makeactive กับ chainloader +1 ใส่ไว้แค่ Windows Vista/Seven หรือ Mac OS X ก็พอ น้ะจ้ะ ของ ubuntu ไม่ต้องนะ ดูตัวอย่าง
## ## End Default Options ##

title   Ubuntu 11.10, kernel 3.0.0-17-generic
root    (hd0,1)
kernel    /boot/vmlinuz-3.0.0-17-generic root=UUID=45c7e398-1ba6-4315-81cc-4ec620618efa ro quiet splash
initrd    /boot/initrd.img-3.0.0-17-generic
quiet

title   Ubuntu 11.10, kernel 3.0.0-17-generic (recovery mode)
root    (hd0,1)
kernel    /boot/vmlinuz-3.0.0-17-generic root=UUID=45c7e398-1ba6-4315-81cc-4ec620618efa ro  single
initrd    /boot/initrd.img-3.0.0-17-generic
ส่วนของ Windows Vista หรือ Windows Seven กับ OS X ทำตามนี้
# This is a divider, added to separate the menu items below from the Debian
# ones.
title   Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title   Windows Vista/Longhorn (loader)
root  (hd0,0)
makeactive
chainloader +1

title Mac OS X
root (hd0,2)
makeactive
chainloader +1

ไม่มีความคิดเห็น:

LinkWithin

Related Posts Plugin for WordPress, Blogger...