私もこの問題に直面しなければなりませんでした。 インストールした私の友人の 1 人 Ubuntu古いもののように ASUSノートパソコン、少なくとも時々は頭のスイッチを入れたくない人が、そのような問題を抱えて私のところに来ました。 新しい Ubuntu 12.10 が彼のラップトップにインストールされていますが、システムが単に起動せず、黒い画面が表示されたり、紫色の背景でフリーズしたりすることがよくあります。 しかし、 最近「オペレーティング システムを起動できませんでした。」のようなメッセージが表示され始めました。 さらにアクションを実行するには、目的のキーを選択してください...」そして、何を押す必要があるかについての説明があります。 システムがどのキーを押すかを正確に覚えていませんが、エラーを自動的に修正するにはこれこれのキーを押し、別のキーを手動でデバッグするにはこのキーを押し、このメッセージを無視するには 3 番目のボタンを押すように求められるということです。 自動エラー修正は何も起こらず、オペレーティング システムのロードは論理的な結論に達しませんでした。 そこで有名なチームに挑戦してみることにしました fsck.
まず、どちらかから起動する必要があります 起動可能なフラッシュドライブ Ubuntu (Lubuntu、Xubuntu、Kubuntu など)、または Ubuntu Live CD から。 次に、修正するためにスキャンする必要がある Ubuntu パーティションを見つける必要があります。 ファイルシステム。 ターミナルを起動し (Ctrl-Alt-T)、コマンドを実行します。
sudo fdisk -l
このコマンドは、システムにマウントされているすべてのディスクとフラッシュ ドライブを表示します。 私の例を挙げてみましょう パソコン友人のラップトップではありません。 私が得たものは次のとおりです。
ubuntu@ubuntu:~$ sudo fdisk -l
ディスク/dev/sda: 640.1 GB、640135028736 バイト
255 ヘッド、63 セクタ/トラック、77825 シリンダ、合計 1250263728 セクタ
ディスク識別子: 0x0009d6f7
/dev/sda1 * 2048 61442047 30720000 83 Linux
/dev/sda2 61442048 73730031 6143992 82 Linux スワップ / Solaris
/dev/sda3 73730048 1250263039 588266496 83 Linux
ディスク /dev/sdb: 500.1 GB、500107862016 バイト
255 ヘッド、63 セクタ/トラック、60801 シリンダ、合計 976773168 セクタ
単位 = 1 * 512 = 512 バイトのセクター
セクタサイズ (論理/物理): 512 バイト / 512 バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスク識別子: 0xb9ff6f01
デバイスのブート開始終了ブロック ID システム
/dev/sdb1 * 16065 100197404 50090670 83 Linux
/dev/sdb2 105322201 976771071 435724435+ 5 拡張
/dev/sdb3 100197405 105322139 2562367+ 82 Linux スワップ / Solaris
/dev/sdb5 105322203 832110591 363394194+ 7 HPFS/NTFS/exFAT
/dev/sdb6 832112640 860755218 14321289+ 83 Linux
/dev/sdb7 860758016 862613503 927744 82 Linux スワップ / Solaris
/dev/sdb8 862615552 976771071 57077760 83 Linux
パーティションテーブルのエントリがディスクの順序に従っていません
ディスク/dev/sdc: 8115 MB、8115978240 バイト
250 ヘッド、62 セクタ/トラック、1022 シリンダ、合計 15851520 セクタ
単位 = 1 * 512 = 512 バイトのセクター
セクタサイズ (論理/物理): 512 バイト / 512 バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスク識別子: 0xc3072e18
デバイスのブート開始終了ブロック ID システム
/dev/sdc1 * 32 15847625 7923797 b W95 FAT32
コマンド出力からわかるように、 sudo fdisk -l、2つ持っています ハードドライブ(sda)640 GB と (sdb)500 GB、およびフラッシュ ドライブ (sdc)8 GB から実際に起動しました。 Ubuntu 12.04 を搭載したベース システムは sda ディスク上にあり、オペレーティング システムが含まれるパーティションは sda1 と呼ばれることがわかっています。
スキャンする必要があるパーティションがわかったので、実際にチェックを開始できます。 ターミナルで:
sudo fsck -y -f -c /dev/sda1
エラーが表示された場合は、このパーティションをアンマウントする必要がある可能性があります。
sudo umount /dev/sda1
コマンドキーとパラメータ fsck:
y- すべての質問に常に「はい」と答えます (代替手段があります: キー p - 完全自動モードでチェックを開始します)。
f- ファイル システムの強制チェック (ファイル システムが完全に機能しているとマークされている場合でも)
c- 不良ブロックを探し、それに応じてマークを付けます
/dev/sda1- チェックする必要があるデバイスまたはパーティション。 チームの姿は違うかもしれないけど。 例えば:
sudo fsck -p /dev/sda1
で この場合-p スイッチのみが追加されています。 すべての fsck コマンド キーについて読んで、必要なキーを正確に追加するだけです。 プログラムのすべての機能を確認するには、ターミナルに次のように入力します。
男fsck
これは、ターミナルがチェックした後に生成したものです。
ubuntu@ubuntu:~$ sudo fsck -y -f -c /dev/sda1
util-linux 2.20.1 の fsck
e2fsck 1.42.5 (2012 年 7 月 29 日)
不良ブロックのチェック (読み取り専用テスト): 0.00% 完了、0:00 経過。 (0/0/0 間違えました
/dev/sda1: 不良ブロック i ノードを更新しています。
パス 1: i ノード、ブロック、サイズのチェック
パス 2: ディレクトリ構造の確認
パス 3: ディレクトリの接続を確認する
パス 4: 参照カウントの確認
パス 5: グループの概要情報を確認する
ハードドライブの故障は、コンピュータ操作において最も不快な現象の 1 つです。 簡単に大金を失うだけでなく、 重要な情報 HDD を交換すると予算に大きな負担がかかります。 これに、ご存知のとおり、回復されない無駄な時間と神経を加えましょう。 問題に驚かされずに事前に診断できるように、Ubuntu OS でハードドライブのエラーをチェックする方法を知っておく価値があります。 ソフトウェアツールこのようなサービスを提供している人はたくさんいます。
Ubuntuでテストする方法 ハードドライブ間違いのために。
Ubuntu でディスク チェックを実行するためにプログラムをダウンロードする必要はまったくありません。 オペレーティング システムには、このタスク用に設計されたユーティリティがすでに組み込まれています。 これは badblocks と呼ばれ、ターミナル経由で制御されます。
ターミナルを開いて次のように入力します。
このコマンドは、システムで使用されているすべての HDD に関する情報を表示します。
この後、次のように入力します。
sudo badblocks -sv /dev/sda
このコマンドは、破損したセクターの検索にすでに使用されています。 /dev/sda の代わりに、ドライブの名前を入力します。 -s および -v スイッチは、チェック ブロック (s) の進行状況を正しい順序で表示し、すべてのアクション (v) に関するレポートを提供するために使用されます。
Ctrl + C を押すと、ハードドライブのチェックが停止します。
他の 2 つのコマンドを使用してファイル システムを監視することもできます。
ファイル システムをアンマウントするには、次のように入力します。
エラーを確認して修正するには:
sudo fsck -f -c /dev/sda
追加 ソフトウェアこの機能でも素晴らしい仕事をしてくれます。 そして場合によってはさらに良いこともあります。 さらに、一部のユーザーは、グラフィカル インターフェイスの方が作業しやすいと感じています。
GParted は、テキスト インターフェイスが好きではない人専用です。 ユーティリティが実行するのは、 多数の Ubuntu での HDD の操作に関連するタスク。 これには、ディスクのエラーのチェックも含まれます。
まず、GParted をダウンロードしてインストールする必要があります。 次のコマンドを入力して、公式リポジトリからダウンロードします。
sudo apt-get install gparted
プログラムはディスクをスキャンします。 量に応じて、プロセスにかかる時間が長くなったり短くなったりする場合があります。 スキャン後、結果が通知されます。
これは、さまざまなパラメータを使用して HDD のより本格的なチェックを実行する、より複雑なユーティリティです。 その結果、管理もより困難になります。 Smartmontools にはグラフィカル インターフェイスがありません。
プログラムをダウンロードします。
aptitude インストールスマートモンツール
どのドライブがシステムに接続されているかを見てみましょう。 数字ではなく文字で終わる行に注意する必要があります。 これらの行には、ディスクに関する情報が含まれています。
ls -l /dev | grep -E 'sd|hd'
出力するコマンドを入力します 詳細情報運送業者について。 ATA パラメータを確認する価値があります。 実際、ネイティブ ドライブを交換する場合は、同じかそれ以上の ATA を備えたデバイスをインストールすることをお勧めします。 こうすることで、その機能を最大限に活用できます。 また、SMART パラメータを見て覚えておいてください。
スマートctl –info /dev/sde
チェックを始めましょう。 SMART がサポートされている場合は、「-s」を追加します。 サポートされていない場合、またはすでに有効になっている場合は、この引数を削除できます。
Smartctl -s on -a /dev/sde
その後、「READ SMART DATA」の下の情報を確認します。 結果は PASSED または FAILED の 2 つの値をとります。 後者が思いついた場合は、次のことを始めることができます バックアップ交換用のハードドライブを探します。
プログラムの機能はこれで終わりではありません。 ただし、1 回限りの HDD チェックの場合はこれで十分です。
これはもう沈没船で使うのにぴったりのプログラムです。 ディスクに問題があることに気づいていて、残っているファイルをできるだけ多く保存したい場合は、セーフコピーが役に立ちます。 その役割はまさに、破損したメディアからデータをコピーすることです。 さらに、壊れたブロックからもファイルを抽出します。
セーフコピーをインストールします。
sudo apt install セーフコピー
あるディレクトリから別のディレクトリにファイルを転送します。 他のものを選択することもできます。 今回はsdaドライブからホームフォルダーにデータを移動しています。
sudo セーフコピー /dev/sda /home/
「これらの壊れたブロックは何ですか。HDD に触れたこともないのに、一体どこから来たのですか?」と疑問を持つ人もいるかもしれません。 不良ブロックまたは不良セクターは、読み取り不能になった HDD のセクションです。 いずれにせよ、これは客観的な理由でファイル システムによってマークされた方法です。 そして最も可能性が高いのは、ディスクのこれらの場所に実際に何か問題があることです。 古いハードドライブと最新のハードドライブはほぼ同じテクノロジーを使用して動作するため、「不良品」は両方に見られます。
不良セクタはさまざまな理由で発生します。
これで、HDD のエラーをスキャンする方法がわかりました。 Ubuntu と他のシステムの両方で、ディスクのチェックはかなり重要な操作であり、少なくとも年に 1 回は実行する必要があります。
管理者による
Linux システムで hdd を確認および診断する方法を見てみましょう。 HDD の動作に関する情報は、状態の分析に役立ち、必要に応じて障害が発生したメディアを交換することで、システムのクラッシュやデータ損失を防ぐことができます。 さらに、zabbix監視システムにスマートHDDの監視を追加します。
システム内に接続されているドライブのリストを取得します
何がどこにマウントされているかを確認するには、次のようにします
見て 忙しい場所いずれかのドライブ上で
ソフトな乗り心地がある場合は以下のコマンドで確認してみましょう
root@big:~# cat /proc/mdstat
性格:
md1: アクティブなRAID1 sdb3 sda3
965888832 ブロック スーパー 1.2md0: アクティブなRAID1 sdb1 sda1
9756544 ブロック スーパー 1.2
未使用のデバイス:
root@big:~#
どのようなRAIDがインストールされているか(組み立てられているか)
md0- RAID デバイス名
sda sdb- このRAIDに含まれるデバイス
- RAID アレイ内のディスクの状態
必要なパッケージをインストールする
aptitude インストール hdpparm sysstat スマートモンツール
ドライブからの読み取り速度ステータスを確認します
助けを借りて イオスタット(sysstat の一部として) HDD の負荷を分析します
すべてのディスクのデータ出力を 10 秒間隔で確認します。
を追加することで、分析するドライブを定義できます。
このユーティリティを使用して、デバイスの負荷、I/O 統計、使用率を決定します。
平均CPU: %ユーザー %ニース %システム %iowait %窃盗 %アイドル 0,16 0,00 1,89 23,75 0,00 74,21
まず、HDD に不良ブロックがないかチェックし、必要に応じてそれらを選択し、無視するようにマークします。
badblocks /dev/sda3 -sv > /root/badblockSDA3
不良ブロックのチェック (読み取り専用テスト): 27.93% 完了、36:12 経過。 (0/0/0 エラー)
/dev/sda3- テスト対象のデバイスの名前
s- パーセンテージ情報の表示
v- 詳細モードを有効にする
> /root/badblockSDA3- 不良セクタをファイルに書き込む
不良ブロックをマークする (将来、マークされたブロックはシステムによって無視されます):
e2fsck -l /root/badblockSDA3 /dev/sda3
不良ブロックがマークされ、ディスクを操作できるようになります。
注意!!! この操作は、マウントされていないメディアまたは読み取り専用モードで実行する必要があります
注意!!! テストされたデバイスと不良ブロックがマークされるデバイスは同じである必要があります。
HDD動作に関するS.M.A.R.Tデータを受信
/dev/sdX は、チェックする必要があるデバイスの名前です。
S.M.A.R.T 属性の出力が得られます。各属性の意味については wiki で詳しく説明されています。
ドライブごとに SMART サポートを確認します
root@big:~# Smartctl -i /dev/sda |grep SMART
SMART サポートは次のとおりです: 利用可能 - デバイスは SMART 機能を備えています。
SMART サポートは次のとおりです: 有効
root@big:~#
サポートされているが有効になっていない場合は、有効にしてください
スマートctl -s オン -S オン -o オン /dev/sda
コマンドでステータスを確認する
Smartctl -H /dev/sda |grep "テスト"| カット -f2 -d: |tr -d " "
root@big:/etc/zabbix# Smartctl -H /dev/sda |grep "test"| カット -f2 -d: |tr -d " "
合格した
root@big:/etc/zabbix#
Zabbix エージェント設定ファイルで、ディスクのスマート チェック パラメータを有効にします。
UserParameter=HDD_smart.[*],sudo Smartctl -H /dev/$1 |grep "test"| カット -f2 -d: |tr -d " "
どこ HDD_スマート- zabbix要素のキー
V sudoersエントリを追加する
zabbix ALL=NOPASSWD:/usr/sbin/smartctl
sudo と zabbix エージェントを再起動します。
正確であることを確認するために、zabbix ユーザーとしてログインし、コマンドの実行を確認してみましょう。
root@big:/etc/zabbix# su - zabbix -s /bin/bash
ディレクトリが見つからないかアクセスできません。HOME=/ でログインしてください。
zabbix@big:/$ sudo Smartctl -H /dev/sda |grep "test"| カット -f2 -d: |tr -d " "
合格した
zabbix@big:/$
zabbix サーバー上に zabbix エージェントを作成しましょう ( アクティブ)データ要素
名前- 任意
タイプ- Zabbix エージェント (アクティブ)
鍵- HDD_スマート。 - 最初のディスク、2 番目のディスク、それぞれ...
タイプ- シンボル
そしてしばらくしてからデータを観察します
本当に遭遇したくないものがある場合は、 オペレーティング·システムであれば、これは間違いなく予期せぬ失敗です ハードドライブ。 バックアップと RAID ストレージ テクノロジの助けを借りて、すべてのデータを迅速に元の場所に戻すことができますが、損失は発生します。 ハードウェアデバイス特に計画していなかった場合は、予算に大きな影響を与える可能性があります。
このような問題を回避するには、smartmontools を使用できます。 これ ソフトウェアパッケージ Self-Monitoring Analysis and Reporting Technology または単に SMART を使用してストレージ デバイスを管理および監視します。
最新の ATA / SATA、SCSI / SAS ストレージ デバイスのほとんどは、SMART インターフェイスを提供します。 SMART 目標 - 信頼性の監視 ハードドライブ、さまざまなエラーを特定し、その発生に迅速に対応します。 Smartmontools は、smartctl と Smartd という 2 つのユーティリティで構成されます。 これらを組み合わせることで、Linux で発生する可能性のある HDD 障害に対する強力な監視および警告システムが提供されます。 次に、Linux ハードドライブのチェックを詳しく見ていきます。
Smartmontools パッケージは、ほとんどの公式リポジトリで入手できます。 Linuxディストリビューションなので、インストールは 1 つのコマンドを実行するだけで済みます。 Debian および Debian ベースのシステムでは、次を実行します。
aptitude インストールスマートモンツール
そして Red Hat の場合:
yum でスマートモンツールをインストールします
これで、次に進むことができます 難しい診断 Linux ディスク。
まずは何なのか調べてみましょう ハードドライブシステムに接続されています:
ls -l /dev | grep -E "sd|hd"
出力は次のようになります。
ここで、sdx はコンピュータに接続されている HDD デバイスの名前です。
特定のハード ドライブに関する情報 (デバイス モデル、S/N、ファームウェア バージョン、ATA バージョン、SMART インターフェイスの可用性) を表示するには、info オプションとハード ドライブ名を指定して Smartctl を実行します。 たとえば、/dev/sda の場合:
スマートctl --info /dev/sda
ATA のバージョンにあまり注意を払わないかもしれませんが、交換用デバイスを探す場合、これは最も重要な要素の 1 つです。 それぞれ 新しいバージョン ATAは以前のものと互換性があります。 たとえば、古い ATA-1 および ATA-2 デバイスは ATA-6 および ATA-7 インターフェイスでは正常に動作しますが、その逆は当てはまりません。 デバイスとインターフェイスの ATA バージョンが一致しない場合、ハードウェアの機能が完全に発揮されません。 この場合、交換には ATA-7 ハード ドライブを選択するのが最善です。
ハードドライブチェックを実行する ubuntuディスク次のコマンドを使用できます。
Smartctl -s on -a /dev/sda
ここにオプションがあります -s指定されたデバイスの SMART フラグをオンにします。 SMART サポートがすでに有効になっている場合は、削除できます。 ディスク情報はセクションに分かれています。 スマートデータを読み取るハードドライブの状態に関する一般的な情報が含まれています。
スマートデータ読み取りセクションの開始 ===
SMART 全体的健康自己評価の休息結果: 合格
このテストは合格できます ( 合格した) か否か ( 失敗した)。 後者の場合、失敗は避けられません。 バックアップこのディスクからのデータ。
Linux で HDD 診断が必要な場合に次に確認できるのは、SMART 属性テーブルです。
SMART テーブルには、開発者が特定のディスクに対して定義したパラメータと、これらのパラメータの障害しきい値が記録されます。 テーブルは自動的に入力され、ディスク ファームウェアに基づいて更新されます。
今あなたは考えています、そうだ、smartctl 良いツール、しかし、毎回手動で実行する能力はありません。プログラムが定期的に実行され、スキャン結果について通知されるように、この作業全体を自動化できれば良いでしょう。 そして、これはsmartdを使用することで可能になります。
Linux のリアルタイム HDD 診断はセットアップが非常に簡単です。 まず、smartd 構成ファイル /etc/smartd.conf を編集します。 次の行を追加します。
nano /etc/smartd.conf
/dev/sda -m [メールで保護されています]-Mテスト
変更を保存し、smartdを再起動します。 乗るべきだよ 電子メールこのような手紙:
スケジュールに従ってテストをスケジュールすることもできます。これを行うには、-s オプションを使用し、 正規表現「T/MM/DD/DN/HH」と入力します。ここで:
残りの文字はテストの日付と時刻を決定します。
ドットはすべての可能な値を意味し、括弧内の式 (A|B|C) は 3 つのオプションのいずれかを意味します。 角括弧範囲 (1 ~ 5) を意味します。
たとえば、実行するには フルチェック Linux ハード ドライブの場合、平日の午後 1 時に、smartd.conf に次の行を追加します。
DEVICESCAN -s (L /../../ / 13)
ハードドライブの機械的動作を迅速にチェックしたり、物理的状態を表示したり、ディスク表面のほぼ完全なスキャンを実行したりしたい場合は、smartmontools を使用してください。 定期的にスキャンすることを忘れないでください。後で自分自身に感謝するでしょう。 以前にこれをやったことがありますか? やりますか? それとも他の方法を使用しますか? コメントに書いてください!
翻訳元。
Linus Torvalds 氏は、自らの発案で Linux が組み込みシステム (安価なホーム ルーターだけでなく、AVAYA PBX などの本格的な通信ソリューション) で使用されることを想像していましたか?
最近、ある大規模顧客の AVAYA PBX の機能を復元する必要がありました。 これは、Avaya S8400 サーバー (プロセッサー) を搭載した Avaya G650 ゲートウェイ (シャーシ) です。 品質的にはどこにあるのか システムディスク 2GBのコンパクトフラッシュメディアを使用します。 条件付きで考えられるのは SSDディスク IDEインターフェースを搭載。
そして、カード リーダーを介して CF ドライブを接続したときに、見慣れた Linux ファイル システムの構造を見たときの私の驚きを想像してみてください。 もちろん、これにより CF ドライブの機能をチェックする手順が簡素化されました。
手術室で マイクロソフトシステム DOS (そうそう、バージョン 5.0 はフロッピー ディスク 1 枚に収まっていたのを覚えています!) には CHKDSK ディスク チェック コマンドがありました。 そして、同様のものが Linux にも存在します。
確認するには Linuxディスクファイル システム エラーの場合は、チェックするファイル システム名を見つける必要があります。
# df -h 使用されるファイルシステム サイズ 使用可能率 マウント先 /dev/sda 20G 4.0G 15G 21% / /dev/sdd1 1G 455M 555M 46% /media/Np%blsl3648B4Jjeiedgyy /dev/sdd6 1G 98M 902M 10% /media/ 10.13-23dd なし 246M 0 246M 0% /dev/shm
テストしたドライブの CF は、 /dev/sdd1そして /dev/sdd6
次に、テスト対象のファイル システムをアンマウントする必要があります。
#sudo umount /dev/sdd1 #sudo umount /dev/sdd6
#fsck -y /dev/sdd1 #fsck -y /dev/sdd6
パラメータ -yは、すべての質問に自動的に「はい」と答えます。これは、ほとんどのユーザーが通常行うことです。
私の場合、パーティションの 1 つにエラーがあり、ユーティリティによって修正されました。 その後、CF ドライブが元の場所に戻され、Avaya PBX の機能が復元されました。