Steps to install GRUB on Linux server

Steps to install GRUB on Linux server

How to Install GRUB for Linux Server

You cannot use the cloud migration tool to migrate Linux servers with lower kernel versions and built-in system boot loader GRand Unified Bootloader (GRUB) versions lower than 1.99, such as CentOS 5 and Debian 7. And when the log file prompts Do Grub Failed, it may be because the system boot program GRUB version 1.99 or above is not installed.

This article mainly describes how to install the system boot program GRUB 1.99 version for your source server. The installation process for GRUB 1.99 and above is the same as that for 1.99 and 2.02. The main difference is that different GRUB source packages are downloaded during the installation process. You can visit https://alpha.gnu.org/gnu/grub/ to obtain the download address of the new version.

Install GRUB version 1.99

Log in to the source server.

Run the following command to view the paths of the original grub, grub-install, and grub-mkconfig:

which grub
which grub-install
which grub-mkconfig

Use the mv command to rename the old versions of grub, grub-install, and grub-mkconfig to back up the files. After migrating the server using the cloud migration tool, you can restore the original name to use the original configuration.

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

Run yum install -y bison gcc make to install the bison, gcc, and make tools that GRUB depends on.

Run the following command to install flex.

test -d /root/tools || mkdir -p /root/tools
cd /root/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
cd flex-2.6.4
mkdir -p build
cd build
../configure
make && make install
ln -s /usr/local/bin/flex /usr/bin/flex

Run the following command to install GRUB 1.99 dependencies.

test -d /root/tools || mkdir -p /root/tools
cd /root/tools
wget https://alpha.gnu.org/gnu/grub/grub-1.99~rc1.tar.gz
tar xzf grub-1.99~rc1.tar.gz
cd grub-1.99~rc1
mkdir -p build
cd build
../configure
sed -i -e "s/-Werror//" ./grub-core/Makefile
make && make install
ln -s /usr/local/sbin/grub-install /sbin/grub-install
ln -s /usr/local/sbin/grub-mkconfig /sbin/grub-mkconfig

Note: If a -Werror error occurs during compilation, you can locate the compile file makefile of the compilation object, remove the -Werror option and recompile.

Run grub-install --version to check whether the GRUB version is updated to 1.99.

Next step

After successfully updating the system boot program GRUB 1.99, you can use the cloud migration tool to migrate the server to Alibaba Cloud.

(Optional) After successful migration, run the following command to restore the old version of GRUB:

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

You may also be interested in:
  • Delegating Privileges in Linux Using Sudo
  • Friendly Alternatives to Find Tool in Linux
  • 8 Reasons Why You Should Use Xfce Desktop Environment for Linux
  • Historical Linux image processing and repair solutions
  • How to solve the timeout during pip operation in Linux
  • An audio-visual Linux distribution that appeals to audiophiles
  • 10 Handy Bash Aliases in Linux
  • Use iptables and firewalld tools to manage Linux firewall connection rules
  • Introduction to Linux system swap space
  • Linux system disk formatting and manually adding swap partition
  • Tips for using top command in Linux
  • 4 Scanning Tools for the Linux Desktop

<<:  Related operations of adding and deleting indexes in mysql

>>:  How to visualize sketched charts in Vue.js using RoughViz

Recommend

Pure CSS custom multi-line ellipsis problem (from principle to implementation)

How to display text overflow? What are your needs...

Docker time zone issue and data migration issue

Latest solution: -v /usr/share/zoneinfo/Asia/Shan...

jQuery manipulates cookies

Copy code The code is as follows: jQuery.cookie =...

Detailed explanation of MySQL 30 military rules

1. Basic Specifications (1) InnoDB storage engine...

Solution to the routing highlighting problem of Vue components

Preface Before, I used cache to highlight the rou...

Detailed explanation of WeChat Mini Program official face verification

The mini program collected user personal informat...

How to configure ssh/sftp and set permissions under Linux operating system

Compared with FTP, SSH-based sftp service has bet...

How to configure SSL for koa2 service

I. Introduction 1: SSL Certificate My domain name...

jQuery realizes the full function of shopping cart

This article shares the specific code of jQuery t...

Solve the cross-domain problem of get and post requests of vue $http

Vue $http get and post request cross-domain probl...

Briefly describe how to install Tomcat image and deploy web project in Docker

1. Install Tomcat 1. Find the tomcat image on Doc...

The complete code of the uniapp packaged applet radar chart component

Effect picture: The implementation code is as fol...