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
Masuk ke server Linux sebagai pengguna root.
Jalankan perintah berikut untuk memeriksa jalur file versi GRUB saat ini dan alat terkait:
which grub which grub-install which grub-mkconfigJika 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-oldCatatanSetelah 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 flexDebian atau Ubuntu
apt-get update && apt-get install -y bison gcc make flexLangkah 3: Instal flex
Buat folder tools jika folder tersebut belum ada.
test -d /home/testuser/tools || mkdir -p /home/testuser/toolsPergi 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.gzKompilasi 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
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.gzKompilasi 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 --versionApa 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