Cloud Migration toolを使用してサーバー、仮想マシン、またはクラウドホストをAlibaba Cloudに移行してもログファイルにDo Grub Failedメッセージが表示された場合は、 GRUB(GRand Unified Bootloader)のバージョンは0.97より前です。

このタスクについて

この場合、ブートローダGRUBを1.99にアップデートすることができます。LinuxサーバのブートローダGRUBを更新するには、次の手順に従います。

手順


  1. 対象のオンプレミスサーバーにログオンします。


  2. 次のコマンドを実行して、元のgrub、grub-install、およびgrub-mkconfigのディレクトリを表示します。

    which grub
    which grub-install
    which grub-mkconfig

  3. 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

  4. bison、gcc、makeを含むブートローダGRUBの依存関係をインストールするには、 yum install -y bison gcc makeを実行します。


  5. 次のコマンドを実行して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

  6. 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を削除してから、やり直してください。


  7. grub-install --versionを実行して、GRUBが1.99バージョンに更新されていることを確認します。

タスクの結果

フォローアップ操作

  1. ブートローダGRUBを更新した後、Alibaba Cloudへサーバを移行することができます。

  2. オプション。サーバーが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