首页 >运维 >linux运维 >如何为 Linux 服务器快速简单的安装 GRUB

如何为 Linux 服务器快速简单的安装 GRUB

坏嘻嘻
坏嘻嘻转载
2018-09-30 13:58:012611浏览

本篇文章给大家带来的内容是关于如何为 Linux 服务器快速简单的安装 GRUB,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如何为 Linux 服务器安装 GRUB

当您无法通过 迁云工具 迁移内核版本较低,自带系统引导程序 GRand Unified Bootloader(GRUB)版本为 1.99 以下的 Linux 服务器,例如,CentOS 5 和 Debian 7。而且日志文件提示 Do Grub Failed 时,可能是因为没有安装 1.99 以上版本的系统引导程序 GRUB。

本文主要介绍如何为您的源服务器安装系统引导程序 GRUB 1.99 版本。安装 GRUB 1.99 及以上版本如 1.99 和 2.02 的过程一致,主要差异在于安装过程中下载的GRUB版本源码包不同,您可访问 https://alpha.gnu.org/gnu/grub/ 获取新版本的下载地址。

安装 GRUB 1.99 版本

登录源服务器。

运行以下命令查看原 grub、grub-install 以及 grub-mkconfig 的路径:

which grub
which grub-install
which grub-mkconfig

使用 mv 命令为旧版本 grub、grub-install 以及 grub-mkconfig 改名以备份文件。您可以在使用迁云工具迁移服务器后,恢复原名以使用原配置。

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

运行 yum install -y bison gcc make 安装 GRUB 依赖的 bison、gcc 以及 make 工具。

运行以下命令安装 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

运行以下命令安装 GRUB 1.99 依赖。

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

说明:若编译过程中出现了 -Werror 报错,您可以定位到编译对象的编译文件 makefile 中,去掉 -Werror 选项重新编译。

运行 grub-install --version 检查 GRUB 版本是否更新为 1.99。

下一步

成功更新系统引导程序 GRUB 1.99 版本后,您可以使用 迁云工具 迁移服务器至阿里云。

(可选)迁云成功后,运行以下命令恢复使用旧版本 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

以上是如何为 Linux 服务器快速简单的安装 GRUB的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:aliyun.com。如有侵权,请联系admin@php.cn删除