當你無法通過遷云工具遷移內核版本較低,自帶系統引導程序 GRUB 版本為 0.97 及其以下的 Linux 服務器,例如,CentOS 5 和 Debian 7。而且日志文件提示Do Grub Failed時,可能是因為沒有安裝 1.9 以上版本的系統引導程序GRUB(GRand Unified Bootloader)。qiniu七牛云主機:如何為Linux服務器安裝GRUB?皇冠官网本文即將介紹如何為你的源服務器安裝系統引導程序 GRUB 1.99 版本。

操作步驟
1.?登錄源服務器
2. 運行以下命令查看原 grub、grub-install 以及 grub-mkconfig 的路徑:
which grub which grub-install which grub-mkconfig
3.?使用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
4.?運行yum install -y bison gcc make安裝 GRUB 依賴的 bison、gcc 以及 make 工具。
5.?運行以下命令安裝 flex。
test -d /root/tools || mkdir -p /root/tools cd /root/tools wget http://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
6.?運行以下命令安裝 GRUB 1.99 依賴。
test -d /root/tools || mkdir -p /root/tools cd /root/tools wget http://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 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選項重新編譯。
7.?運行grub-install –version檢查 GRUB 版本是否更新為 1.99。
成功更新系統引導程序 GRUB 1.99 版本后,你可以使用七牛云遷移服務器至 QVM。
遷云成功后,運行以下命令恢復使用舊版本 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
GNU GRUB(GRand Unified Bootloader簡稱“GRUB”)是一個來自GNU項目的多操作系統啟動程序。GRUB是多啟動規范的實現,它允許用戶可以在計算機內同時擁有多個操作系統,并在計算機啟動時選擇希望運行的操作系統。GRUB可用于選擇操作系統分區上的不同內核,也可用于向這些內核傳遞啟動參數。