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 のヒント (画像付き)

推薦する

WebプロジェクトのDockerデプロイメントの実装

前回の記事では、docker サービスをインストールしました。引き続き、Web プロジェクトのデプロ...

CSS ブラウザ互換性の問題に対する 4 つの解決策

フロントエンドは、技術が急速に進化するだけでなく、知っておくべき事柄が多すぎるという理由で大変な仕事...

複数ページ通信を実現する JavaScript の sharedWorker の詳細な例

こんなことがありました。今日はGitHubで遊んでいました。最初はログインせずにいくつかのページを閲...

MySQL パスワードは正しいが、ローカルにログインできない -1045

MySQLパスワードは正しいが、ローカルでログインできない -1045 ユーザー 'roo...

vue-cli で stimulsoft.reports.js を使用する詳細なチュートリアル

vue-cli は stimulsoft.reports.js を使用します (ナニーレベルのチュー...

単一行関数と文字計算日付プロセス制御を説明する MySQL の例

目次1. キャラクター機能1. ケースコントロール機能2. キャラクターコントロール機能2. 数学関...

Javascript のスコープとクロージャの詳細

目次1. 範囲2. スコープチェーン3. 語彙の範囲5. 閉鎖の適用6. クロージャの欠陥7. 閉会...

HTML初心者や初級者向けの提案。専門家は無視してかまいません。

感想:私はバックエンド開発者です。静的 (HTML) ページを取得すると、ページ構造と命名規則が極端...

Tomcat9 のダウンロード、インストール、設定 + Eclipse への統合に関する詳細なチュートリアル

トムキャット公式サイトtomcatはローカルサーバーと同等であり、Webページを開くことができます設...

MySQL テーブルを作成するためによく使用される SQL ステートメントの概要

最近、私はプロジェクトに取り組んでおり、背景を記述するために SQL ステートメントを使用する必要が...

MySQLインデックスの作成について知っておくべきこと

目次序文: 1. インデックスメソッドを作成する2. インデックスを作成するために必要な権限序文: ...

MySQL スケジュールバックアップタスクの簡単な分析

導入実稼働環境では、データの損失を回避するために、通常、データベースは定期的にバックアップされます。...

WeChatアプレットを使用して天井効果を実現する方法の例

目次1. 実装2. 問題点3. より良い実装方法があるかどうか検討する要約する背景は日付のタイトルで...

Docker+K8S クラスタ環境構築と分散アプリケーション展開

1. Dockerをインストールする yumでdockerをインストール #サービスを開始する sy...