Saturday, December 29, 2007

Me-Restore Grub Ubuntu Setelah Instalasi Windows

Berhubung kemaren udah berhasil install Windows XP di notebook ku, MBR hard disknya ditimpa oleh instalasi Windowsnya. Jadinya, sekarang ketika booting, Grub nya tidak muncul. Setelah mendapatkan informasi yang cukup dari internet, Grub bisa di restore menggunakan Live CD Ubuntu. Berikut ini adalah langkah-langkah yang aku lakukan untuk me-restore Grub:

  1. Jalankan terminal window dari Live CD
  2. Mount partisi root instalasi Ubuntu yang telah terpasang sebelumnya.
    // Membuat mount point
    $ sudo mkdir /mnt/root

    // Mount partisi partisi root ke mount point
    $ sudo mount -t ext3 /dev/sda5 /mnt/root


    Jika tidak yakin partisi mana yang berisi root, bisa dijalankan perintah berikut untuk menampilkan semua partisi yang ada:

    $ sudo fdisk -l

    Disk /dev/sda: 120.0 GB, 120034123776 bytes
    255 heads, 63 sectors/track, 14593 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk identifier: 0x8d9aa1ca

    Device Boot Start End Blocks Id System
    /dev/sda1 1 192 1536000 27 Unknown
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 * 192 5414 41943040 7 HPFS/NTFS
    /dev/sda3 5414 10513 40960000 7 HPFS/NTFS
    /dev/sda4 10514 14593 32772600 5 Extended
    /dev/sda5 10514 12701 17575078+ 83 Linux
    /dev/sda6 12702 13005 2441848+ 82 Linux swap / Solaris
    /dev/sda7 13006 14593 12755578+ 83 Linux

  3. Mount proc subsystem dan udev ke dalam /mnt/root

    $ sudo mount -t proc none /mnt/root/proc

    $ sudo mount -o bind /dev /mnt/root/dev

  4. Mengubah root ke partisi root instalasi Ubuntu sebelumnya

    $ sudo chroot /mnt/root /bin/bash

  5. Jalankan grub

    $ sudo grub

  6. Kemudian akan muncul prompt grub>
    Perintah-perintah selanjutnya akan dijalankan dalam prompt grub>

  7. Mencari file /goot/grub/stage1

    grub> find /boot/grub/stage1

    Perintah ini akan mencari file /boot/grub/stage1 dan menampilkan partisi yang berisi file tersebut. Untuk kasusku keluaran dari perintah diatas adalah:

    (hd0,4)

  8. Jalankan perintah berikut

    grub> root (hd0,4)

    untuk mengatur agar partisi tersebut di set sebagai root dan melakukan mounting ke partisi tersebut. Aku juga kurang ngerti perintah ini untuk apa :P. Tapi sepertinya sih untuk mengkonfigurasi partisi tersebut untuk bootloadernya.

    Parameter di depan perintah root disesuaikan dengan hasil yang didapat dari langkah ke 7.

  9. Install grub pada MBR di hard disk pertama:

    grub> setup (hd0)

    Jika berhasil, output dari perintah tersebut seperti berikut ini :

    Checking if "/boot/grub/stage1" exists... yes
    Checking if "/boot/grub/stage2" exists... yes
    Checking if "/boot/grub/e2fs_stage1_5" exists... yes
    Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
    succeeded
    Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,4)/boot/grub/stage2
    /boot/grub/menu.lst"... succeeded
    Done.

  10. Keluar dari grub dengan perintah quit lalu restart.
Walaupun rada-rada banyak step-step nya, yang penting masalahnya solved :D.

6 comments:

Donny Kurnia said...

Wah, baru nemu blog ini pagi hari, setelah semalem nginstall ulang ubuntuku gara2 grubnya nampilin Error 17 akibat partisi linuxnya kuubah ukurannya (digedein)

Semalem sih nyari pake kata kunci 'GRUB Error 17', dan pagi ini nyari pake kata kunci 'Restore Grub Ubuntu'. Coba aja kalo nemu ini semalem, gw ga perlu install ulang ubuntu :D

Hal yang belum dilakuin semalem itu adalah nge-mount proc dan /dev, juga perintah di grubnya. Gw hanya chroot ke partisi ubuntu, lalu jalanin update-grub. Jadinya ya gagal, ga keupdate MBRnya.

Thanks ya tutorialnya. Buat referensi ke depan :)

Bani "BBoy Kodok" said...

waH saya mau install ulang windows coz ngadat muLu, tapi yg saya bingung itu ada ubuntu nya, takut grub nya ga bisa lagi,,,

tHx tutorialnya Mas,,,
saya coBa duLu aH...
seMohGa berHasiL ya saya,he,he,

teriMakasiH Lagi aH....

Anonymous said...

tkyu bosss atas sarannya... semoga diberkati.....

Adrian Budiono said...

Terima kasih banyak mas Eko..
wew..
semula saya sudah binggung gara2 ubuntu 8.04 saya sudah diupdate full..
hehe..
y pokoknya terima kasih banyak dech..

Toko Gerabah said...

terima kasih mas eko..
tapi pertanyaan saya, apa langkah2 seperti ini bisa diterapkan pad turunan ubuntu seperti linuxmint?
atas jawabannya terima kasih.

Eko Budi Prasetyo said...

@Toko Gerabah:
Jujur aja mas aku belum nyoba Linuxmint. Tapi kalo aku lihat sih pake Grub juga. Jadi aku rasa solusinya bisa diterapkan untuk Linuxmint.