Server Migration Center (SMC) を使用して Alibaba Cloud へ移行するには、GRUB を v2.02 以降にインストールまたはアップグレードしてください。
背景
SMC では、ソースサーバーに GRUB v2.02 以降が必要です。次の状況では、GRUB をインストールまたはアップグレードしてください。
-
GRUB がインストールされていない。
-
サーバーが CentOS 5 や Debian 7 などの初期の Linux ディストリビューションを実行している。
-
インストールされている GRUB のバージョンが v2.02 未満である。
-
ログファイルに "Do Grub Failed" エラーが表示される。
この手順では、GRUB v2.02 を例として使用します。他のバージョンでも手順は同じですが、ソースコードパッケージが異なります。他のバージョンは Index of /gnu/grub からダウンロードしてください。
手順
GRUB バージョンの確認
-
root ユーザーとして Linux サーバーにログインしてください。
-
GRUB および関連ツールのファイルパスを確認してください。
which grub which grub-install which grub-mkconfig-
いずれかのパスが存在しない場合、GRUB がインストールされていないか、ファイルが欠落しています。「GRUB のインストール」に進んでください。
-
すべてのパスが存在する場合は、ファイルを名前変更してバックアップし、新しいバージョンをインストールしてください。
mv /sbin/grub /sbin/grub-old mv /sbin/grub-install /sbin/grub-install-old mv /sbin/grub-mkconfig /sbin/grub-mkconfig-old説明SMC での移行後、ファイルを元の名前に戻して復元してください。
-
依存関係のインストール
オペレーティングシステムに応じて、GRUB の依存関係 (bison、gcc、make、flex) をインストールしてください。
CentOS または Red Hat Enterprise Linux
yum install -y bison gcc make flex
Debian または Ubuntu
apt-get update && apt-get install -y bison gcc make flex
flex のインストール
-
tools フォルダーが存在しない場合は作成してください。
test -d /home/testuser/tools || mkdir -p /home/testuser/tools -
tools フォルダーに移動し、flex パッケージをダウンロードしてください。
cd /home/testuser/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 -
flex をコンパイルしてインストールし、シンボリックリンクを作成してください。
cd flex-2.6.4 mkdir -p build cd build ../configure make && make install ln -s /usr/local/bin/flex /usr/bin/flex
GRUB のインストール
-
GRUB v2.02 パッケージをダウンロードして解凍してください。
cd /home/testuser/tools wget https://alpha.gnu.org/gnu/grub/grub-2.02~rc1.tar.gz tar xzf grub-2.02~rc1.tar.gz -
GRUB をコンパイルしてインストールし、シンボリックリンクを作成してください。
cd grub-2.02~rc1 mkdir -p build cd build ../configure # -Werror エラーが報告された場合は、Makefile ファイルを編集して -Werror オプションを削除します。 sed -i -e "s/-Werror//" ./grub-core/Makefile sed -i -e "s/-Werror//" ./Makefile make && make install ln -s /usr/local/sbin/grub-install /sbin/grub-install ln -s /usr/local/sbin/grub-mkconfig /sbin/grub-mkconfig
インストールの確認
GRUB v2.02 がインストールされていることを確認してください。
grub-install --version
次のステップ
-
GRUB v2.02 のインストール後、SMC を使用してサーバーを 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 mv /sbin/grub-mkconfig-old /sbin/grub-mkconfig