LinuxサーバーにGRUBをインストールする手順

LinuxサーバーにGRUBをインストールする手順

Linux サーバーに GRUB をインストールする方法

クラウド移行ツールを使用して、CentOS 5 や Debian 7 など、カーネル バージョンが低く、組み込みシステム ブート ローダー GRand Unified Bootloader (GRUB) バージョンが 1.99 未満の Linux サーバーを移行することはできません。また、ログ ファイルに「Do Grub Failed」というメッセージが表示される場合は、システム ブート プログラム GRUB バージョン 1.99 以上がインストールされていないことが原因である可能性があります。

この記事では主に、ソース サーバーにシステム ブート プログラム 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 のパスを表示するには、次のコマンドを実行します。

どのグラブ
どのgrub-install
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 をインストールするには、次のコマンドを実行します。

テスト -d /root/tools || mkdir -p /root/tools
cd /root/tools
https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz をダウンロードしてください
tar xzf flex-2.6.4.tar.gz
フレックス-2.6.4
mkdir -p ビルド
CDビルド
../設定
作成 && インストール
ln -s /usr/local/bin/flex /usr/bin/flex

GRUB 1.99 の依存関係をインストールするには、次のコマンドを実行します。

テスト -d /root/tools || mkdir -p /root/tools
cd /root/tools
https://alpha.gnu.org/gnu/grub/grub-1.99~rc1.tar.gz をダウンロードしてください
tar xzf grub-1.99~rc1.tar.gz
grub-1.99~rc1 をインストールします
mkdir -p ビルド
CDビルド
../設定
sed -i -e "s/-Werror//" ./grub-core/Makefile
作成 && インストール
ln -s /usr/local/sbin/grub-install /sbin/grub-install
コマンドラインからgrub-mkconfigを実行します。

注: コンパイル中に -Werror エラーが発生した場合は、コンパイル オブジェクトのコンパイル ファイル makefile を見つけて、-Werror オプションを削除し、再コンパイルすることができます。

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

次のステップ

システムブートプログラム GRUB 1.99 を正常に更新したら、クラウド移行ツールを使用してサーバーを 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

以下もご興味があるかもしれません:
  • Linux で Sudo を使用して権限を委譲する
  • Linux の検索ツールの代替となるフレンドリーなツール
  • Linux で Xfce デスクトップ環境を使用すべき 8 つの理由
  • 歴史的な Linux 画像処理および修復ソリューション
  • Linux で pip 操作中にタイムアウトが発生する問題を解決する方法
  • オーディオマニアにアピールするオーディオビジュアルLinuxディストリビューション
  • Linux の便利な Bash エイリアス 10 個
  • iptables および firewalld ツールを使用して Linux ファイアウォール接続ルールを管理する
  • Linux システムのスワップ領域の紹介
  • Linux システム ディスクのフォーマットとスワップ パーティションの手動追加
  • Linux で top コマンドを使用する際のヒント
  • Linux デスクトップ用の 4 つのスキャン ツール

<<:  MySQL でのインデックスの追加と削除に関連する操作

>>:  RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

推薦する

Linux CentOS でスケジュールされたバックアップ タスクを設定する方法

実装準備 # ファイルパスをバックアップする必要があります: /opt/apollo/logs/ac...

jsは双方向データバインディング(アクセサ監視)を実現します

この記事の例では、双方向データバインディングを実現するためのjsの具体的なコードを参考までに共有して...

JavaScript のカンマ式が含まれている場合について

JavaScript の if ステートメントで英語のカンマ「,」が表示されることがあります。これは...

nginx を使用して特定のインターフェース (URL) をブロックする方法

1. はじめに場合によっては、Web プラットフォームがオンラインになった後、サービス インターフェ...

Docker でローカルにイメージをインポート/保存/読み込み/削除する方法

1. Dockerはローカルイメージをインポートする場合によっては、イメージをローカルまたは別の友人...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

1. プラグインを追加し、pomファイルの下に次の設定を追加します。 <!-- mybatis...

Javascript 操作メカニズム イベントループ

目次1. 4つのコンセプト1. JavaScriptはシングルスレッドです2. タスクキュー3. 同...

MySQL ストアドプロシージャとストアドファンクションの詳細な説明

1 ストアドプロシージャ1.1 ストアドプロシージャとは何かストアド プロシージャは、特定の機能を実...

Linux ディスク管理 LVM の使用

1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...

element-ui 写真をアップロードした後、座標点をマークします

要素UIとはelement-ui は、Ele.me のフロントエンド チームが開発者、デザイナー、製...

Vueの使用に関する深い理解

目次Vueのコアコンセプトを理解するVueの双方向バインディングの原理と実装を探るVue 双方向バイ...

MySQL データベース操作 (作成、選択、削除)

MySQL データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

JavaScript データ プロキシとイベントの詳細な分析

目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...