Tutorial memperbaiki grub boot loader yang rusak pada OS Linux Centos 7

Terkadang gagal booting OS Linux Centos 7 banyak penyebabnya, berikut salah satu penyebab umum yang terjadi :

  • tidak sengaja partisi /boot terhapus total
  • terdapat file yang hilang didalam folder /boot/grub2/
  • kernel yang tidak support
  • dan masi banyak hal lainnya.

Apa yang harus kamu lakukan untuk memperbaiki booting issue ?

OS Linux Centos 7 dengan mode BIOS :

  • Masuk kedalam rescue mode pada liveCD Centos 7
  • jalankan perintah :

    chroot /mnt/sysimage

  • cek apakah file ini ada atau tidak (dalam kasus ini grub.cfg file nya hilang)

    /boot/grub2/grub.cfg

  • cek apakah isi partisi /boot ada yang hilang atau tidak (dalam kasus ini isi partisi /boot adalah kosong)

    [[email protected] ~]# ls -lthr /boot/
    total 0

  • cek dimana partisi /boot berada, apakah di sda, sdb, sdc atau lainnya dengan cara sbb:

    [[email protected] ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    devtmpfs 16G 0 16G 0% /dev
    tmpfs 16G 4,0K 16G 1% /dev/shm
    tmpfs 16G 162M 16G 2% /run
    tmpfs 16G 0 16G 0% /sys/fs/cgroup
    /dev/md125 466G 287G 155G 66% /
    none 16G 6,5M 16G 1% /var/lve/dbgovernor-shm
    /dev/md127 453M 191M 235M 45% /boot
    /dev/loop0 3,9G 17M 3,6G 1% /tmp
    tmpfs 3,2G 0 3,2G 0% /run/user/1035
    tmpfs 3,2G 0 3,2G 0% /run/user/0

    [[email protected] ~]# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 477G 0 disk
    ├─sda1 8:1 0 3,7G 0 part
    │ └─md126 9:126 0 3,7G 0 raid1 [SWAP]
    ├─sda2 8:2 0 477M 0 part
    │ └─md127 9:127 0 476M 0 raid1 /boot
    ├─sda3 8:3 0 3M 0 part
    │ └─md0 9:0 0 2M 0 raid1
    ├─sda4 8:4 0 1K 0 part
    └─sda5 8:5 0 472,8G 0 part
    └─md125 9:125 0 472,6G 0 raid1 /
    sdb 8:16 0 477G 0 disk
    ├─sdb1 8:17 0 3,7G 0 part
    ├─sdb2 8:18 0 477M 0 part
    ├─sdb3 8:19 0 3M 0 part
    │ └─md0 9:0 0 2M 0 raid1
    ├─sdb4 8:20 0 1K 0 part
    └─sdb5 8:21 0 472,8G 0 part
    sdc 8:32 0 477G 0 disk
    ├─sdc1 8:33 0 3,7G 0 part
    │ └─md126 9:126 0 3,7G 0 raid1 [SWAP]
    ├─sdc2 8:34 0 477M 0 part
    │ └─md127 9:127 0 476M 0 raid1 /boot
    ├─sdc3 8:35 0 3M 0 part
    │ └─md0 9:0 0 2M 0 raid1
    ├─sdc4 8:36 0 1K 0 part
    └─sdc5 8:37 0 472,8G 0 part
    └─md125 9:125 0 472,6G 0 raid1 /
    loop0 7:0 0 4G 0 loop /var/tmp


  • install ulang grub untuk memperbaiki boot loader

    sudo grub2-install /dev/sda
    sudo grub2-install /dev/sdc


  • install ulang kernel, keluar dari chroot terlebih dahulu

    exit
    cd /mnt/install/repo/Packages
    rpm -ivh --root=/mnt/sysimage kernel-core-3.10.0-1016.el7.x86_64

  • masuk kedalam chroot dan reconfigure grub loader

    chroot /mnt/sysimage
    grub2-mkconfig -o /boot/grub2/grub.cfg

    pastikan file /boot/grub2/grub.cfg ada setelah di mkconfig.

  • cek juga apakah kernel yang sudah di reinstall tadi sudah ada atau belum dengan cara

    ls -lrt /boot/vmlinuz-*
    -rwxr-xr-x. 1 root root 5392080 Nov 22 2018 /boot/vmlinuz-3.10.0-1016.el7.x86_64
    -rwxr-xr-x. 1 root root 5392080 Oct 1 12:44 /boot/vmlinuz-0-rescue-4bd23218ddab41e587bdd39ae2cfc09a

  • exit dari chroot dan silahkan reboot server dan booting kembali secara normal.

 

OS Linux Centos 7 dengan mode UEFI :

  • jika kamu menggunakan mode UEFI, cara kerja nya sama dengan mode BIOS, yang berbeda hanya dari syntax nya saja.
  • Masuk kedalam rescue mode liveCD Centos7
  • chroot kedalam sistem OS Centos7

    chroot /mnt/sysimage

  • biasanya didalam rescue mode, kamu tidak memiliki koneksi internet, sehingga untuk melakukan reinstall kernel kamu perlu menggunakan local repo dari LiveCD atau USB centos7 ISO.
    mount local repo sesuaikan dengan drive liveCD yang ada, contoh: mount /dev/cdrom /mnt atau mount /dev/sr0 /mnt (tergantung dimana letak liveCD storage kamu berada)
    buatlah media.repo didalam folder /etc/yum.repos.d/



  • reinstall beberapa package untuk membenarkan grub rescue

    yum reinstall grub2-efi kernel shim -y

  • reconfigure grub2

    grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

  • untuk menyelesaikan rescue mode, silahkan exit dari chroot dan reboot server, maka kamu akan kembali ke normal booting.

 

Kesimpulan

Menjadi sysadmin sudah sewajibnya memiliki pengetahuan tentang boot issue, bagaimana cara reinstall grub2 dan mengatasi jika partisi /boot yang hilang. Selain cara reinstall grub, terdapat cara lain yang mungkin juga bisa menjadi salah satu solusi alternatif yaitu mengkoreksi lokasi dimana root dan boot berada dengan catatan partisi tersebut tidak hilang total. (tanpa menggunakan rescue mode)

  • bootloader, grub2, fixing grub
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Pengertian tentang raid hardware dan raid software

Jika anda memiliki dedicated server, pengetahuan dasar tentang raid harus sudah dimiliki....

Tutorial mengganti hardisk yang rusak pada raid 1 software

setiap hardisk pasti ada umur nya, dan kita harus bisa mengantisipasi jika salah satu hardisk...

mengetahui performance suatu storage dengan menghitung IO transfer rate dan IOPS

Terkadang kita hanya melihat performance suatu server hanya dari ram dan processor yang dimiliki....

Mengirimkan notifikasi jika ada storage yang rusak pada raid software di OS Linux

Jika kalian menggunakan raid sofrware dengan bantuan mdadm, maka anda bisa memanfaatkan fasilitas...

Mengirimkan notifikasi jika ada storage yang rusak pada raid hardware Lsi dengan OS Linux

Jika menggunakan raid hardware Lsi, maka berikut cara mudah untuk mendapatkan notifikasi email...

Powered by WHMCompleteSolution