ディスクドライブまたはフラッシュメモリ上のセクタ/ブロックは、ディスクの表面に固定された物理的な損傷または失敗したフラッシュメモリトランジスタの結果として、もはや読み取ることも書き込むこともできないセクションです。
悪セクタが蓄積され続けると、ディスクドライブまたはフラッシュメモリの容量に望ましくない影響を与えたり、破壊的に影響を与えたり、さらにはハードウェアの故障を引き起こす可能性があります。
また、悪ブロックの存在には、新しいディスクドライブを入手するか、単に悪ブロックを使用不可としてマークすることを考え始めるべきであることに留意することも重要です。
したがって、この記事では、特定のディスクスキャンユーティリティを使用して、Linuxディスクドライブまたはフラッシュメモリ上の悪セクタの存在または不在を判断できる必要な手順について説明します。
それでは、以下に方法を示します:
badblocksツールを使用してLinuxディスクの悪セクタをチェックする
A badblocks program enables users to scan a device for bad sectors or blocks. The device can be a hard disk or an external disk drive, represented by a file such as /dev/sdc.
まず、スーパーユーザー権限を使用してfdiskコマンドを使用して、すべてのディスクドライブまたはフラッシュメモリとそのパーティションに関する情報を表示します:
$ sudo fdisk -l

次に、Linuxディスクドライブをスキャンして悪セクタ/ブロックをチェックします。
$ sudo badblocks -v /dev/sda10 > badsectors.txt

上記のコマンドでは、badblocks がデバイス /dev/sda10 をスキャンしています(実際のデバイスを指定してください)、-v
を使用して操作の詳細を表示します。さらに、操作の結果は出力リダイレクションを使用してファイル badsectors.txt に保存されます。
ディスクドライブに不良セクタが見つかった場合は、ディスクをアンマウントし、次のように報告されたセクタに書き込まないようにオペレーティングシステムに指示します。
e2fsck(ext2/ext3/ext4ファイルシステム用)または fsck コマンドを使用して、以下のコマンドのように badsectors.txt ファイルとデバイスファイルを使用する必要があります。
-l
オプションは、ファイル名で指定されたファイル(badsectors.txt)にリストされたブロック番号を不良ブロックのリストに追加するようにコマンドに指示します。
------------ Specifically for ext2/ext3/ext4 file-systems ------------ $ sudo e2fsck -l badsectors.txt /dev/sda10 OR ------------ For other file-systems ------------ $ sudo fsck -l badsectors.txt /dev/sda10
Smartmontools を使用して Linux ディスク上の不良セクタをスキャンする
この方法は、現代のディスク(ATA/SATAおよびSCSI/SASハードドライブおよびソリッドステートドライブ)には、ハードウェアの故障を検出、報告、およびログに記録するのに役立つ S.M.A.R.T(Self-Monitoring, Analysis and Reporting Technology)システムが搭載されているため、より信頼性が高く効率的です。
以下のコマンドを実行して smartmontools をインストールできます:
------------ On Debian/Ubuntu based systems ------------ $ sudo apt-get install smartmontools ------------ On RHEL/CentOS based systems ------------ $ sudo yum install smartmontools
インストールが完了したら、ディスクに統合された S.M.A.R.T システムを制御する smartctl を使用できます。マニュアルページやヘルプページを参照できます。
$ man smartctl $ smartctl -h
今、smartctrlコマンドを実行し、次のコマンドのように特定のデバイスを引数として名前を付けます。フラグ-H
または--health
が含まれていると、SMART全体の健康自己評価テスト結果が表示されます。
$ sudo smartctl -H /dev/sda10

上記の結果は、ハードディスクが健康であり、まもなくハードウェアの障害が発生する可能性がないことを示しています。
ディスク情報の概要については、-a
または--all
オプションを使用して、ディスクに関するすべてのSMART情報を印刷し、-x
または--xall
を使用して、ディスクに関するすべてのSMARTおよび非SMART情報を表示します。
このチュートリアルでは、非常に重要なトピックであるディスクドライブの健康診断について説明しました。ご意見や質問を共有するために、以下のフィードバックセクションからお問い合わせいただけます。そして、常にTecmintに接続していることを忘れないでください。
Source:
https://www.tecmint.com/check-linux-hard-disk-bad-sectors-bad-blocks/