ホームページ 運用・保守 Linuxの運用と保守 Linux システム障害のトラブルシューティングと修復方法に関するヒント

Linux システム障害のトラブルシューティングと修復方法に関するヒント

Aug 10, 2017 am 11:38 AM
linux 修理 トラブルシューティング

[はじめに] Linux システムの起動プロセス中にいくつかの障害が発生し、システムが正常に起動できないことがわかりました。ここでは、シングルユーザー モード、GRUB コマンド操作、および Linux を適用したいくつかの障害修復ケースを書きました。レスキューモードは、誰もがこれを理解できるようにするためのものです。 (1) シングルユーザー モード Linux システムは

を提供します。Linux システムの起動プロセス中にいくつかの障害が発生し、システムが正常に起動できないことがわかりました。ここにいくつかのアプリケーションを書きました: シングルユーザー モード、GRUB コマンド。障害修復のケースは、そのような問題の解決方法を誰もが理解するのに役立ちます。

(1) シングルユーザーモード

Linux システムには、最小限の環境でシステムメンテナンスを行うことができるシングルユーザーモード (Windows のセーフモードと同様) が用意されています。シングルユーザー モード (ランレベル 1) では、Linux はルート シェルで起動し、ネットワークは無効になり、少数のプロセスのみが実行されます。シングルユーザー モードは、ファイル システムの損傷の修正、構成ファイルの復元、ユーザー データの移動などに使用できます。

以下は、シングルユーザー モードでシステム障害を修復する典型的なケースです:

ケース 1: root パスワードを忘れた場合

シングルユーザー モードでは、Linux は root パスワードを必要としません (Red Hat システムは必要ありません) root パスワードが必要ですが、SuSe が必要であり、Linux システムによって若干異なります。この記事では例として Fedora Core 6 を使用します)。これにより、root パスワードの変更が非常に簡単になります。システムがマルチユーザー モードで起動できない場合に、シングルユーザー モードに入る方法を理解することが重要です。

1. システムの起動プロセス中に、任意のキーを押して GRUB メニュー オプションに入ります。

今後このプロンプトを回避したい場合は、GRUB メニュー オプションに直接移動し、設定ファイル grub.conf 内の「hiddenmenu」項目を削除してください。

2. 「e」キーを押して GRUB ブート メニュー オプションを編集し、「e」キーを押した後の GRUB 画面を編集します。矢印キーを使用してカーネル行まで移動し、「e」キーを押します。

3. 最後の行カーソルに単一を追加し、Enter キーを押して前の画面に戻り、「b」キーを押します。ブートすると、システムは自動的にシングル ユーザー モードに入ります。root パスワードを変更したい場合は、次のコマンドを実行します: sh-3.1# passwd root

変更が成功したら、exit コマンドを実行して終了し、再起動します。

シングルユーザー モードでのシステムの正常な起動を妨げる多くの問題を修正できます。

1. システム動作を中断する可能性のあるサービスを無効にします。たとえば、Samba サービスを無効にする場合は、次のコマンドを実行します。 3.1# chkconfig smb off next time system ブート中に Samba サービスは開始されません。

2. X Window が起動できない場合、または失敗する場合は、/etc/inittab ファイルを編集し、テキスト モードを使用してログインし、initdefault ブート レベルを 3: id: 3: initdefault: に変更します。

ケース 2: ハードドライブのセクター障害

起動プロセス中に発生する最も一般的な問題は、ハードドライブに不良セクターまたは障害セクター (データ損傷) がある可能性があることです。この状況は、多くの場合、異常な停電または異常によって引き起こされます。シャットダウン。この種の問題が発生した場合、システムの起動時に画面が表示されます:

root パスワードまたは Ctrl+D を押します: この時点で root パスワードを入力すると、システムは自動的にシングルユーザー モードに入ります。「fsck -」と入力します。 y /dev/hda6" (fsck はファイル システムの検出および修復コマンドです。「-y」はエラーが検出されたときに自動的に修復されるように設定します。/dev/hda6 はエラーが発生したハードディスク パーティションです。これを変更してください特定の状況に応じてパラメータを変更してください)、システムの修復が完了したら、「reboot」コマンドを使用して再起動します。

ケース 3、GRUB オプション設定エラー

「エラー 15」は、システムが grub.conf で指定されたカーネルを見つけられないことを示します。 GRUB ブート エラー メッセージ。入力ミスにより、カーネル ファイル内の「vmlinuz」が「vmlinux」と入力されていたため、システムがカーネル実行可能ファイルを見つけることができませんでした。任意のキーを押して GRUB 編集インターフェイスに戻り、このエラーを変更できます。Enter キーを押して保存し、「b」キーを押して通常どおり起動します。もちろん、その後 grub.conf ファイル内のエラーを変更することを忘れないでください。システムに入る。これは、多くの初心者 Linux ユーザーが GRUB 設定を変更するときに犯しやすい間違いです。この黒い画面プロンプトが表示されたら、エラー メッセージに注意してください。それに応じて修正できます。

(2) GRUB ブートのトラブルシューティング

Linux の起動後、GRUB コマンド ライン インターフェイスが直接表示されることがあります (現時点では、多くのユーザーが再インストールを選択します)。 GRUB をインストールするか、システムを再インストールします。実際、一般的に、この失敗の最も一般的な理由は 2 つあります。1 つは、GRUB 構成ファイルのオプション設定が間違っていることです。もう 1 つは、GRUB 構成ファイルの損失です (カーネルなどのいくつかの理由もあります)。ファイルまたはイメージ ファイルの破損または欠落、/boot ディレクトリの誤った削除など)、最初のケースの場合は、まず GRUB コマンドを使用してシステムを起動し、2 番目のケースの場合は修復する必要があります。 Linux レスキュー モードを使用して修復します (この記事で後述します)。

まず、GRUB ブート システムのブート プロセスを理解する必要があります。grub.conf ファイルの主な構成オプションは次のとおりです (GRUB 構成ファイルは /boot/grub/grub.conf、/ であることに注意してください)。 etc/grub.conf はソフトリンクのみです):

title Fedora Core (2.6.18-1.2798.fc6)root (hd0,0)kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-1.2798.fc6.img
ログイン後にコピー

「title」セクションは、GRUB によってブートされるシステムを指定します。「root」セクションは、/boot パーティションの場所を指定します。「kernel」セクションは、カーネルがロードされるときのカーネル ファイルの場所を指定します。読み取り専用 (「ro」) で、ルート パーティションの場所を指定します (root=LABEL=/)。 initrd はイメージ ファイルの場所を指定します。したがって、GRUB が起動するときは、最初に /boot パーティションがロードされ、次にカーネル ファイルとイメージ ファイルが順番にロードされます。

ケース: 「title Fedora Core (2.6.18-1.2798.fc6)」セクションが誤って削除されました

このとき、システムは起動後に自動的に「GRUB>」コマンドラインに入ります。次の操作を順番に行うことができます:

1. /boot/grub/grub.conf ファイルが存在するパーティションを見つけます

2.エラー用の grub.conf ファイル GRUB>cat (hd0, 0)/boot/grub/grub.conf システムをインストールしてセットアップした後、grub.conf ファイルがある場合はバックアップすることをお勧めします。 grub.conf.bak などのバックアップ ファイルを作成すると、この時点でバックアップ ファイルを表示して、現在のファイルと比較できます。エラー: GRUB>cat (hd0, 0)/boot/grub/grub.conf.bak

3エラーを確認したら、まずコマンド ラインから GRUB ブートを完了し、システムに入った後に grub.conf ファイルを修復します。 エラー: 1) /boot パーティション ルート (hd0, 0) を指定します

2) kernel reading kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb Quiet 3) イメージファイルの場所を指定 initrd /boot/ initrd-2.6.18-1.2798.fc6.img

ヒント: GRUB はタブ キー コマンド補完機能をサポートします

4. /boot パーティション (hd0, 0) からブートを開始します

コマンド ライン モードは GRUB メニュー モードで渡すことができます。「c」キーを押して呼び出します。また、新しくコンパイルされたカーネルをテストするために使用することもできます (カーネルをセットアップし、新しいカーネルとイメージ ファイルをブートするための initrd)。 GRUB ブートと Linux システムブートに関する知識を深めれば、この種の問題のトラブルシューティングに大いに役立ちます。

(3) Linux レスキュー モード アプリケーション

システムがシングルユーザー モードにさえ入ることができない場合、または GRUB コマンド ラインでは解決できないブート問題がある場合、Linux レスキュー モードを使用する必要があります。トラブルシューティング。手順は次のとおりです:

1. Linux インストール CD (CD を使用する場合は、最初の起動 CD) を CD-ROM ドライブに挿入し、Linux インストール時にファームウェア CMOS/BIOS が CD から起動するように設定します。画面が表示されたら、「boot:」プロンプトで「linuxrescue」と入力し、Enterを押してレスキューモードに入ります。 (レスキュー モードについて詳しく知りたい場合は、F5 キーを押して表示することもできます)

2. システムがハードウェアを検出し、CD 上の Linux 環境を起動し、言語を選択するように求められます。レスキュー モードで使用します (デフォルトの英語を選択することをお勧めします。著者のテストによると、一部の Linux システムでは中国語を選択すると文字化けが発生します)。キーボードのネットワーク設定はデフォルトの「us」を使用する必要があります。ほとんどの障害修復にはネットワーク接続は必要ありません。この設定を行って「いいえ」を選択することはできません。

3. 次に、システムはルート パーティションの検索を試み、マウント プロンプトが表示されます。デフォルト設定では、ハードディスクのルート パーティションが /mnt/sysimage ディレクトリにマウントされます。 CD-ROM Linux 環境。デフォルトのオプション「続行」は、ダウンロード許可が読み取りおよび書き込みを意味します。「読み取り専用」は読み取り専用を意味します。検出が失敗した場合は、「スキップ」を選択できます。ここでは、システムを修復する必要があるため、読み取りおよび書き込み権限が必要です。通常は、デフォルトのオプション「続行」が選択されています。

次のステップに入ると、システムは「chroot /mnt/sysimage」コマンドを実行して、ルート ディレクトリをハードディスク システムのルート ディレクトリにマウントするように求めます。

ケース 1: デュアル システム起動の修復

デュアル システム環境をインストールする場合、最初に Linux をインストールしてから Windows をインストールします。または、デュアル システム環境にインストールされている Windows が破損しているため、Windows を再インストールした後、GRUB を保存します。 MBR (マスター ブート レコード (マスター ブート レコード) は Windows システム ブートローダー NTLDR によって上書きされ、Linux システムが起動できなくなります。

1. デュアルシステムブートを復元したい場合は、まず上記の方法でレスキューモードに入り、次のように chroot コマンドを実行します:

sh-3.1# chroot /mnt/sysimage
ログイン後にコピー

2. ルートディレクトリをハードディスクシステムのルートディレクトリに切り替えます。次に grub-install コマンドを実行して GRUB を再インストールします:

sh-3.1# grub-install /dev/hda
ログイン後にコピー

"/dev/hda" はハードディスクの名前です。SCSI ハードディスクを使用している場合、または Linux が 2 番目の IDE ハードディスクにインストールされている場合、この設定が必要です。それに応じて調整されます。

3. 次に、exit コマンドを順番に実行して、chroot モードとレスキュー モードを終了します (exit コマンドを 2 回実行します):

sh-3.1# exit
ログイン後にコピー
ログイン後にコピー

システムが再起動すると、GRUB ブートによるデュアル システムの起動が復元されます。

ケース 2: システム構成ファイルの損失の修復

システムの起動中、非常に重要なプロセスは、init プロセスが構成ファイル /etc/inittab を読み取り、システムの基本サービス プログラムとデフォルトのランレベル サービス プログラムを開始することです。システムの起動中に、/etc/inittab が誤って削除されたり、誤って変更されたりした場合、図 7 に示すように、Linux は正常に起動しません。現時点では、このような問題はレスキュー モードでのみ解決できます。

/etc/inittab ファイルが見つからないブートエラーの例

1、有备份文件的恢复办法进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf及/etc/passwd的文件修改错误,也可以直接修正恢复。假设有备份文件/etc/inittab.bak,则在救援模式下执行:

sh-3.1# chroot /mnt/sysimagesh-3.1# cp /etc/inittab.bak /etc/inittab
ログイン後にコピー

2、没有备份文件的恢复办法如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab属于哪一个RPM包(即便文件丢失,因为存在RPM数据库,一样可以查找到结果):sh-3.1# chroot /mnt/sysimage sh-3.1# rpm -qf /etc/inittab initscripts-8.45.3-1

退出chroot模式:

sh-3.1# exit
ログイン後にコピー
ログイン後にコピー

挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source目录下):

sh-3.1# mount /dev/hdc /mnt/source
ログイン後にコピー

Fedora系统的RPM包存放在光盘Fedora/RPMS目录下,其他Linux存放位置大同小异,我在这里不一一列举;另外,因为要修复的硬盘系统的根目录在/mnt/sysimage下,需要使用——root选项指定其位置。覆盖安装/etc/inittab文件所在的RPM包:

sh-3.1# rpm -ivh ——replacepkgs ——root /mnt/sysimage /mnt/source/Fedora/RPMS/ initscripts-8.45.3-1.i386.rpm
ログイン後にコピー

其中的rpm命令选项“——replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件。

如果想只提取RPM包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令:

sh-3.1# rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittabsh-3.1# cp etc/inittab /mnt/sysimage/etc
ログイン後にコピー

注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整的绝对路径。提取文件成功后,将其复制到根分区所在的/mnt/sysimage目录下相应位置即可。

救援模式是维护Linux的有力武器,本文以上述两个例子讲解了它的应用方法,希望能够给读者一点启示。解决Linux系统启动的故障,必须充分理解Linux的引导过程,才能够对故障进行有效的判断和处理。

以上がLinux システム障害のトラブルシューティングと修復方法に関するヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

Docker画像が失敗した場合はどうすればよいですか Docker画像が失敗した場合はどうすればよいですか Apr 15, 2025 am 11:21 AM

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。

VSCODEに必要なコンピューター構成 VSCODEに必要なコンピューター構成 Apr 15, 2025 pm 09:48 PM

VSコードシステムの要件:オペレーティングシステム:オペレーティングシステム:Windows 10以降、MACOS 10.12以上、Linux Distributionプロセッサ:最小1.6 GHz、推奨2.0 GHz以上のメモリ:最小512 MB、推奨4 GB以上のストレージスペース:最低250 MB以上:その他の要件を推奨:安定ネットワーク接続、XORG/WAYLAND(Linux)

See all articles