GRUB の設定とトラブルシューティングの方法
この記事では、GRUB の知識を紹介し、ブート ローダーが必要な理由と、ブート ローダーがどのようにシステムに機能を追加するかについて説明します。
Linux ブート プロセスは、コンピュータの電源ボタンを押したときから開始され、システムが完全に機能するまで続きます。プロセス全体は次の主な手順に従います:
- 1. POST (電源投入時セルフテスト) と呼ばれるプロセスは、コンピューターのハードウェア コンポーネントの包括的なチェックを実行します。
- 2. POST が完了すると、制御がブートローダーに移り、ブートローダーが Linux カーネル (および initramfs) をメモリにロードして実行します。
- 3. カーネルは最初にハードウェアをチェックしてアクセスし、次に初期化プロセス (主に一般名 init で知られています) を実行し、次に初期化プロセスによっていくつかのサービスが開始され、最後にシステム起動プロセスが完了します。 。
シリーズの 7 回目の講義 (「SysVinit、Upstart、および Systemd」) では、最新の Linux ディストリビューションで使用されるサービス管理システムとツールのいくつかを紹介しました。続行する前に、そのレッスンを復習することをお勧めします。
GRUB ブート ローダーの概要最新のシステムでは、2 つの主要な GRUB バージョン (1 つは GRUB Legacy とも呼ばれる v1 バージョン、もう 1 つは ##v2 バージョン) があります。ほとんどの最新バージョンの配布システムは、デフォルトで v2 バージョンを使用します。現在、Red Hat Enterprise Linux 6 とその派生バージョンのみが依然としてバージョン v1 を使用しています。
したがって、このガイドでは、v2 バージョンの機能に焦点を当てます。
GRUBのバージョンに関係なく、ブートローダーを使用するとユーザーは次のことができます。
別のカーネルの使用を指定してシステムの動作を変更します。- 複数のオペレーティング システムから起動するには 1 つを選択してください;
- 構成ブロックを追加または編集して、起動オプションなどを変更します。
- 現在、
プロジェクトは GRUB を維持しており、Web サイトで広範なドキュメントを提供しています。このガイドを読みながら、公式の GNU ドキュメントを参照することを強くお勧めします。 システムが起動すると、メイン コンソールに次の
GRUB画面が表示されます。最初は、プロンプトに従って複数のカーネル バージョンの中からカーネルを選択し (デフォルトでは、システムは最新のカーネルで起動します)、GRUB コマンド ライン モードに入ることができます (c# を使用) ## キー)、またはスタートアップ項目を編集します (e キーを押します)。
GRUB スプラッシュ画面
古いバージョンのカーネルで起動することを検討する理由の 1 つは、以前は正常に動作していたハードウェア デバイスがアップグレード後に「動作する」場合です (たとえば、AskUbuntu フォーラムのこのスレッドを参照できます。 )。
起動中に、GRUB v2
が/boot/grub/grub.cfg または /boot/grub2/grub.cfg ファイルから読み取られます。構成ファイル。GRUB v1 で使用される構成ファイルは、/boot/grub/grub.conf または /boot/grub/menu.lst から取得されます。これらのファイル は手動で直接編集するべきではなく、/etc/default/grub の内容および /etc/grub.d## 内のファイルを介して更新する必要があります。 # ディレクトリ。 CentOS 7 では、システムが最初にインストールを完了すると、次の構成ファイルが生成されます: リーリー オンライン ドキュメントに加えて、次のコマンドを使用して GNU GRUB マニュアルを参照することもできます。 リーリー
/etc/default/grub ファイルで使用できるオプションに特に興味がある場合は、設定セクションのヘルプ ドキュメントを直接参照できます。
# info -f grub -n 'Simple configuration'
使用上述命令,你会发现 GRUB_TIMEOUT 用于设置启动画面出现和系统自动开始启动(除非被用户中断)之间的时间。当该变量值为 -1 时,除非用户主动做出选择,否则不会开始启动。
当同一台机器上安装了多个操作系统或内核后,GRUB_DEFAULT 就需要用一个整数来指定 GRUB 启动画面默认选择启动的操作系统或内核条目。我们既可以通过上述启动画面查看启动条目列表,也可以使用下面的命令:
在 CentOS 和 openSUSE 系统上# awk -F/' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg在 Ubuntu 系统上
# awk -F/' '$1=="menuentry " {print $2}' /boot/grub/grub.cfg
如下图所示的例子中,如果我们想要使用版本为 3.10.0-123.el7.x86_64 的内核(第四个条目),我们需要将 GRUB_DEFAULT 设置为 3(条目从零开始编号),如下所示:
GRUB_DEFAULT=3
使用旧版内核启动系统
最后一个需要特别关注的 GRUB 配置变量是 GRUB_CMDLINE_LINUX,它是用来给内核传递选项的。我们可以在 内核变量文件 和 man 7 bootparam 中找到能够通过 GRUB 传递给内核的选项的详细文档。
我的 CentOS 7 服务器上当前的选项是:
GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet"
为什么你希望修改默认的内核参数或者传递额外的选项呢?简单来说,在很多情况下,你需要告诉内核某些由内核自身无法判断的硬件参数,或者是覆盖一些内核检测的值。
不久之前,就在我身上发生过这样的事情,当时我在自己已用了 10 年的老笔记本上尝试了衍生自 Slackware 的 Vector Linux。完成安装后,内核并没有检测出我的显卡的正确配置,所以我不得不通过 GRUB 传递修改过的内核选项来让它工作。
另外一个例子是当你需要将系统切换到单用户模式以执行维护工作时。为此,你可以直接在 GRUB_CMDLINE_LINUX 变量中直接追加 single 并重启即可:
GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet single"
编辑完 /etc/default/grub 之后,你需要运行 update-grub (在 Ubuntu 上)或者 grub2-mkconfig -o /boot/grub2/grub.cfg (在 CentOS 和 openSUSE 上)命令来更新 grub.cfg 文件(否则,改动会在系统启动时丢失)。
这条命令会处理早先提到的那些启动配置文件来更新 grub.cfg 文件。这种方法可以确保改动持久化,而在启动时刻通过 GRUB 传递的选项仅在当前会话期间有效。
修复 Linux GRUB 问题如果你安装了第二个操作系统,或者由于人为失误而导致你的 GRUB 配置文件损坏了,依然有一些方法可以让你恢复并能够再次启动系统。
在启动画面中按下 c 键进入 GRUB 命令行模式(记住,你也可以按下 e 键编辑默认启动选项),并可以在 GRUB 提示中输入 help 命令获得可用命令:
修复 Linux 的 Grub 配置问题
我们将会着重关注 ls 命令,它会列出已安装的设备和文件系统,并且我们将会看看它查找到的东西。在下面的图片中,我们可以看到有 4 块硬盘(hd0 到 hd3)。
貌似只有 hd0 已经分区了(msdos1 和 msdos2 可以证明,这里的 1 和 2 是分区号,msdos 则是分区方案)。
现在我们来看看能否在第一个分区 hd0(msdos1)上找到 GRUB。这种方法允许我们启动 Linux,并且使用高级工具修复配置文件,或者如果有必要的话,干脆重新安装 GRUB:
# ls (hd0,msdos1)/
从高亮区域可以发现,grub2 目录就在这个分区:
查找 Grub 配置
一旦我们确信了 GRUB 位于 (hd0, msdos1),那就让我们告诉 GRUB 该去哪儿查找它的配置文件并指示它去尝试启动它的菜单:
set prefix=(hd0,msdos1)/grub2 set root=(hd0,msdos1) insmod normal normal
查找并启动 Grub 菜单
然后,在 GRUB 菜单中,选择一个条目并按下回车键以使用它启动。一旦系统成功启动后,你就可以运行 grub2-install /dev/sdX 命令修复问题了(将 sdX 改成你想要安装 GRUB 的设备)。然后启动信息将会更新,并且所有相关文件都会得到恢复。
# grub2-install /dev/sdX
其它更加复杂的情景及其修复建议都记录在 Ubuntu GRUB2 故障排除指南 中。该指南中阐述的概念对于其它发行版也是有效的。
总结本文向你介绍了 GRUB,并指导你可以在何处找到线上和线下的文档,同时说明了如何面对由于引导加载相关的问题而导致系统无法正常启动的情况。
幸运的是,GRUB 是文档支持非常丰富的工具之一,你可以使用我们在文中分享的资源非常轻松地获取已安装的文档或在线文档。
你有什么问题或建议吗?请不要犹豫,使用下面的评论框告诉我们吧。我们期待着来自你的回复!
以上がGRUB の設定とトラブルシューティングの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。

linuxisnothardtolearn、butthedifficultydependsonyourbackgroundandgoals.forthosewithosexperience、特にcommand-llinefamparsition、linuxisaneasyytransition.beginnersmayteeper relearningcurvebutcanagewithpersources.linux'sopen-sourcenature


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

メモ帳++7.3.1
使いやすく無料のコードエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
