All Products
Search
Document Center

:Instal GRUB pada server Linux

Last Updated:Jul 02, 2025

GRand Unified Bootloader (GRUB) adalah bootloader default untuk sistem operasi Linux. Saat file boot sistem rusak atau menu boot perlu diperbaiki, Anda harus menginstal atau memperbaiki GRUB untuk memulihkan fungsi boot sistem.

Informasi latar belakang

Saat menggunakan Server Migration Center (SMC) untuk memigrasikan server Linux ke Alibaba Cloud, Anda harus menginstal atau meningkatkan ke GRUB v2.02 atau yang lebih baru dalam situasi berikut:

  • GRUB tidak diinstal di server.

  • Server menjalankan distribusi Linux lama, seperti CentOS 5 atau Debian 7.

  • Versi GRUB lebih lama dari v2.02.

  • Pesan kesalahan "Do Grub Failed" ditampilkan di file log.

Topik ini menjelaskan cara menginstal GRUB pada server Linux. Dalam contoh ini, digunakan GRUB v2.02. Prosedur untuk menginstal versi GRUB lainnya serupa, namun paket kode sumber dapat bervariasi tergantung pada versi GRUB. Untuk informasi lebih lanjut, kunjungi Index of /gnu/grub.

Prosedur

Langkah 1: Periksa versi GRUB

  1. Masuk ke server Linux sebagai pengguna root.

  2. Jalankan perintah berikut untuk memeriksa jalur file versi GRUB saat ini dan alat terkait:

    which grub
    which grub-install
    which grub-mkconfig
    • Jika hasil dari perintah sebelumnya menunjukkan bahwa satu atau lebih jalur file tidak ada, GRUB tidak diinstal di server atau file yang sesuai hilang. Dalam hal ini, lakukan langkah-langkah berikut untuk menginstal GRUB.

    • Jika Anda menemukan jalur semua file, jalankan perintah berikut untuk mencadangkan file dengan mengganti nama file. Kemudian, instal versi GRUB baru untuk menimpa versi saat ini.

      mv /sbin/grub /sbin/grub-old
      mv /sbin/grub-install /sbin/grub-install-old
      mv /sbin/grub-mkconfig /sbin/grub-mkconfig-old
      Catatan

      Setelah Anda menggunakan SMC untuk memigrasikan server, Anda dapat memulihkan file dengan mengganti nama file ke nama aslinya.

Langkah 2: Instal dependensi

Jalankan salah satu perintah berikut untuk menginstal dependensi GRUB, termasuk bison, gcc, dan make, berdasarkan sistem operasi.

CentOS atau Red Hat Enterprise Linux

yum install -y bison gcc make flex

Debian atau Ubuntu

apt-get update && apt-get install -y bison gcc make flex

Langkah 3: Instal flex

  1. Buat folder tools jika folder tersebut belum ada.

    test -d /home/testuser/tools || mkdir -p /home/testuser/tools
  2. Pergi ke folder tools dan unduh paket instalasi flex.

    cd /home/testuser/tools
    wget https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz
    tar xzf flex-2.6.4.tar.gz
  3. Kompilasi dan instal flex serta buat tautan simbolis.

    cd flex-2.6.4
    mkdir -p build
    cd build
    ../configure
    make && make install
    ln -s /usr/local/bin/flex /usr/bin/flex

Langkah 4: Instal GRUB

  1. Unduh dan dekompres paket instalasi GRUB v2.02.

    cd /home/testuser/tools
    wget https://alpha.gnu.org/gnu/grub/grub-2.02~rc1.tar.gz
    tar xzf grub-2.02~rc1.tar.gz
  2. Kompilasi dan instal GRUB serta buat tautan simbolis.

    cd grub-2.02~rc1
    mkdir -p build
    cd build
    ../configure
    # Jika error -Werror dilaporkan, modifikasi file Makefile dan hapus opsi -Werror dari file tersebut.
    sed -i -e "s/-Werror//" ./grub-core/Makefile
    sed -i -e "s/-Werror//" ./Makefile
    make && make install
    ln -s /usr/local/sbin/grub-install /sbin/grub-install
    ln -s /usr/local/sbin/grub-mkconfig /sbin/grub-mkconfig

Langkah 5: Verifikasi instalasi

Jalankan perintah berikut untuk memeriksa apakah GRUB v2.02 diinstal atau GRUB ditingkatkan ke v2.02:

grub-install --version

Apa yang harus dilakukan selanjutnya

  • Jika GRUB v2.02 diinstal atau GRUB ditingkatkan ke v2.02, gunakan SMC untuk memigrasikan server ke Alibaba Cloud. Untuk informasi lebih lanjut, lihat Panduan Migrasi.

  • (Opsional) Jika Anda ingin menggunakan versi GRUB sebelumnya di server setelah server dimigrasikan, jalankan perintah berikut untuk memulihkan GRUB ke versi sebelumnya:

    rm /sbin/grub-install
    rm /sbin/grub-mkconfig
    rm /boot/grub/grub.cfg
    mv /sbin/grub-old /sbin/grub
    mv /sbin/grub-install-old /sbin/grub-install