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利用firewalld和iptables实现IP端口限制与开放
在服务器管理中,防火墙是保护系统安全的重要工具,通常,我们可能会关闭firewalld,但在某些情况下,我们需要利用firewalld或iptables来限制IP请求,本文将详细介绍如何使用firewalld和iptables来实现IP端口限制与开放,需要的朋友可以参考下2025-02-02
使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务的方法
在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些服务的初始化及 systemd 脚本添加进去,不过此时它们并没有被启用。下面小编给大家带来了使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务的方法,一起看看吧2018-11-11
haproxy+keepalived实现高可用负载均衡(实例配置)
上一篇文章以理论介绍居多,这篇文章就以实际的应用配置为主,需要的朋友可以参考下这两篇文章2013-01-01
Linux虚拟机ipaddr/ifconfig不显示IP的解决方案(亲测有效)
有时候经常会出现之前明明好的,但是换了个网络就查不到ip了,由于不知道原因,有的人会选择重装虚拟机,还有的人开始崩溃,本篇文章将彻底解决该问题的出现,需要的朋友可以参考下2023-09-09


最新评论