首頁  >  文章  >  運維  >  如何為 Linux 伺服器快速簡單的安裝 GRUB

如何為 Linux 伺服器快速簡單的安裝 GRUB

坏嘻嘻
坏嘻嘻轉載
2018-09-30 13:58:012544瀏覽

這篇文章帶給大家的內容是關於如何為 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刪除