Linux システムで grub.cfg ファイルの破損を修復する手順

Linux システムで grub.cfg ファイルの破損を修復する手順

1. grub.cfg ファイルの紹介

1. grub.cfg ファイルの場所

ブートファイル

[ルート@ノード1 grub2]# ls
device.map フォント grub.cfg grubenv i386-pc
[root@node1 grub2]# pwd
/boot/grub2
[ルート@ノード1 grub2]# 

2. grub.cfg ファイルの機能

grubはオペレーティングシステムを起動するプログラムです。独自の設定ファイルに従ってカーネルを起動します。カーネルがメモリにロードされた後、
カーネルは、grub 構成ファイル内の構成に従って、ルート パーティションで使用されるファイル システムに対応するドライバーを見つけ、ルート パーティション ファイル システムに対応するドライバーを介してルート パーティションをマウントし、それによってオペレーティング システムを起動するという目的を達成します。

3. システム起動プロセスの概要

1. MBR をメモリにロードします。MBR = 512 バイト = ブート プログラム (446 バイト) + 64 バイト (パーティション テーブル) + 2 バイト 2. BIOS は GRUB ブート プログラムをロードし、システム制御がブート プログラムに引き渡されます。
3. ブート プログラムは、設定ファイル /boot/grub2/grub.cfg をロードし、/boot ディレクトリとカーネル ファイルがあるパーティションを指示し、カーネルと initramfs をロードしてメモリに配置します。
initramfs には、ハードウェアの起動に必要なカーネル モジュールと初期化スクリプトが含まれています。
4. カーネルは自身を初期化し、initramfs 内のすべてのハードウェアのドライバーを見つけてハードウェアを初期化します。
5. initramfs 内の /sbin/init が pid 1 のプロセスとして起動され、systemd にリンクされます。
6. カーネルはルートを initramfs から実際のルートに切り替えます。
7. 最初のプログラムsystemdを起動する

2. grub.cfgファイルが破損しており、システムが起動してインターフェースを起動する

ここに画像の説明を挿入

3. 修復手順

1. /bootディレクトリがあるパーティションを指定します

ここに画像の説明を挿入

2. カーネルファイルをロードし、ルートパーティションを読み取り専用モードでマウントします。

ここに画像の説明を挿入

3. initramfsファイルを指定する

ここに画像の説明を挿入

4. 開始

ここに画像の説明を挿入

5. システムに入り、grub.cfgファイルを再生成します。

ここに画像の説明を挿入

注意: ルート パーティションをマウントするときは、実際の状況に応じて情報を入力してください。通常、システムがデフォルトでインストールされ、システム ディスクが nvme 形式の場合、ルート パーティションは /dev/nvme0n1p3 です。

システム ディスクは SATA ハード ディスクであり、ルート パーティションは通常 /dev/mapper/rhel-root ですが、システムを自分でインストールした場合はカスタマイズされたシステム パーティションになります。

これで、Linux で破損した grub.cfg ファイルを修復する方法に関する記事は終了です。Linux で破損した grub.cfg ファイルを修復する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 「fsck」を使用して Linux のファイルシステムエラーを修正する方法
  • 歴史的な Linux 画像処理および修復ソリューション
  • Linux ディスク修復 e2fsck コマンドについての簡単な説明

<<:  CSS を使用してデータ ホットスポット効果を実現する方法

>>:  優れたユーザー インターフェース デザインのための 37 のヒント (画像付き)

推薦する

Docker に Kong ゲートウェイをインストールする方法の例

1. Dockerネットワークを作成する docker ネットワーク作成 kong-net 2. デ...

JS を使用して HTML で回転するクリスマスツリーを実装する

<!DOCTYPE ヘムル パブリック> <html> <ヘッド&g...

Vueプロジェクトでコンポーネントをカプセル化する簡単な手順

目次序文Toastコンポーネントをカプセル化する方法ユースケース具体的な実装要約する序文ビジネスが発...

CSS3 回転キューブ問題の詳細な説明

3D座標の概念要素が回転すると、その座標軸も一緒に回転します。注 -y方向の問題立方体を回転させる効...

Nginx ポート競合を解決するトラブルシューティング方法の例

問題の説明データ転送に Nginx を使用し、フロントエンドとバックエンドが分離された Spring...

MySQL truncate table ステートメントの使用

Truncate table ステートメントは、テーブル内のすべてのデータを削除/切り捨てるために使...

W3C チュートリアル (4): W3C XHTML アクティビティ

HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...

mysql ワイルドカード (sql 高度なフィルタリング)

目次まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。...

JavaScript配列の一般的なメソッドの詳細な説明

目次一般的な配列メソッドポップ()シフト解除()シフト()スライス()スプライス()配列から重複した...

Webpack で環境変数を使用するためのさまざまな正しい姿勢

目次前に書いてビジネスコードは環境変数を使用するwebpack.DefinePlugin プラグイン...

Nginx+Keepalived でデュアルマシン マスターとバックアップを実装する方法

序文まず、高性能サーバーの高可用性またはホットスタンバイソリューションである Keepalived ...

TSで最も一般的な宣言マージ(インターフェースマージ)

目次1. マージインターフェース1.1 非関数メンバー1.2 関数メンバー序文:今日お話ししたいのは...

Dockerで新しいイメージを手動で構築する方法

この記事では、Docker で新しいイメージを手動で構築する方法を紹介し、皆さんと共有します。詳細は...