Cloud Migration toolを使用してサーバー、仮想マシン、またはクラウドホストをAlibaba Cloudに移行してもログファイルにDo Grub Failedメッセージが表示された場合は、
GRUB(GRand Unified Bootloader)のバージョンは0.97より前です。
このタスクについて
この場合、ブートローダGRUBを1.99にアップデートすることができます。LinuxサーバのブートローダGRUBを更新するには、次の手順に従います。
手順
-
-
次のコマンドを実行して、元のgrub、grub-install、およびgrub-mkconfigのディレクトリを表示します。
which grub
which grub-install
which grub-mkconfig
-
grub、grub-install、およびgrub-mkconfigの名前を変更してコピーを作成するには、 mv
コマンドを使用します。
注意: Cloud Migration toolを使用してサーバーを移行した後、元のファイルを元のファイルに戻して元のファイルに戻すことができます。
mv /sbin/grub /sbin/grub-old
mv /sbin/grub-install /sbin/grub-install-old
mv /sbin/grub-mkconfig /sbin/grub-mkconfig-old
-
bison、gcc、makeを含むブートローダGRUBの依存関係をインストールするには、 yum install -y 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
make && make install
ln -s /usr/local/sbin/grub-install /sbin/grub-install
ln -s /usr/local/sbin/grub-mkconfig /sbin/grub-mkconfig
注意: エラー -werror
が表示された場合、メイクファイルでエラーを見つけて-werror
を削除してから、やり直してください。
-
grub-install --version
を実行して、GRUBが1.99バージョンに更新されていることを確認します。
タスクの結果
フォローアップ操作
-
ブートローダGRUBを更新した後、Alibaba Cloudへサーバを移行することができます。
-
オプション。サーバーがAlibaba Cloudに正常に移行されたら、次のコマンドを実行して旧バージョンの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