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

How to implement n-grid layout in CSS

Common application scenarios The interfaces of cu...

Reasons and solutions for the failure of React event throttling effect

Table of contents The problem here is: Solution 1...

Summary of DTD usage in HTML

DTD is a set of grammatical rules for markup. It i...

Summary of 10 amazing tricks of Element-UI

Table of contents el-scrollbar scroll bar el-uplo...

How to implement scheduled backup of MySQL in Linux

In actual projects, the database needs to be back...

Solution to ES memory overflow when starting docker

Add the jvm.options file to the elasticsearch con...

MySQL 5.6.36 Windows x64 version installation tutorial detailed

1. Target environment Windows 7 64-bit 2. Materia...

Detailed discussion of InnoDB locks (record, gap, Next-Key lock)

Record lock locks a single index record. Record l...

Looping methods and various traversal methods in js

Table of contents for loop While Loop do-while lo...

Implementation of Docker Compose multi-container deployment

Table of contents 1. WordPress deployment 1. Prep...

Bundling non-JavaScript static resources details

Table of contents 1. Custom import in packaging t...

WeChat applet development chapter: pitfall record

Recently, I participated in the development of th...