Ubuntu システム (19.10) にデータ ドライブとしてマウントされた NTFS ディスクがあります。
ここ数日、ドライブが非常に遅くなり、信頼性が低下しました。
ジャーナル (journalctl -r) には次のように表示されます:
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 54 to 53
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 46 to 47
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 188 Command_Timeout changed from 100 to 99
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], SMART Usage Attribute: 183 Runtime_Bad_Block changed from 97 to 96
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], 41344 Offline uncorrectable sectors (changed +8)
...
Nov 20 15:23:39 acer smartd[1253]: Device: /dev/sdb [SAT], 41344 Currently unreadable (pending) sectors (changed +8)
しかし、ntfsfix
ディスクは正常であると報告されています(私はそう思います)
sudo ntfsfix -bd /dev/sdb1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
Going to un-mark the bad clusters ($BadClus)... No bad clusters...OK
NTFS partition /dev/sdb1 was processed successfully.
- このディスクをチェックする別の方法はありますか?
コメントからの提案により、いくつかsmartctl
出力します。
smartctl -data -A /dev/sdb
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-5.3.0-23-generic] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
[=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 079 078 006 Pre-fail Always - 168133076
3 Spin_Up_Time 0x0003 094 092 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 099 099 020 Old_age Always - 1209
5 Reallocated_Sector_Ct 0x0033 093 093 036 Pre-fail Always - 9840
7 Seek_Error_Rate 0x000f 074 060 030 Pre-fail Always - 8648101443
9 Power_On_Hours 0x0032 073 073 000 Old_age Always - 24172
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 099 020 Old_age Always - 1237
183 Runtime_Bad_Block 0x0032 096 096 000 Old_age Always - 4
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 001 001 000 Old_age Always - 12019
188 Command_Timeout 0x0032 099 098 000 Old_age Always - 11 26 26
189 High_Fly_Writes 0x003a 097 097 000 Old_age Always - 3
190 Airflow_Temperature_Cel 0x0022 047 042 045 Old_age Always In_the_past 53 (Min/Max 47/58 #91)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 1217
193 Load_Cycle_Count 0x0032 099 099 000 Old_age Always - 3392
194 Temperature_Celsius 0x0022 053 058 000 Old_age Always - 53 (0 18 0 0 0)
197 Current_Pending_Sector 0x0012 001 001 000 Old_age Always - 41344
198 Offline_Uncorrectable 0x0010 001 001 000 Old_age Offline - 41344
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 23784h+22m+27.579s
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 16322055947757
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 108452827544617
正確にどう解釈したらよいか分かりませんが、加熱の問題のように見えます。
答え1
ドライブの交換をお勧めします。
Smart 05 は、不良セクターを置き換えるために使用されるスペア セクターの数を意味します。RAW 値 9840 は 9840 セクターを意味し、これは 4920KB です。93 は正規化された値であり、93% のスペア セクターがまだあることを意味します。
しかし、同時に、197 は保留中のセクターが 41344 個あることを示しています。保留中のセクターは、必ずしもそれらのセクターが不良であることを意味するわけではなく、ハード ドライブがそれを完全に処理できなかったことを意味します (電源中断前にフラッシュされなかったことが原因である場合もあります)。次の書き込みでは、良好なセクター状態に戻るか、05 に戻ってスペア セクターに置き換えられます。
いずれにせよ、41344 はすでに約 20 MB です。これはすでに大きすぎるため、ドライブが安定していないことを意味します。
答え2
データはクラウドにバックアップされているので、このようにしてドライブを不良ブロックに準備することができます...
gparted
新しいGPTパーティションテーブルを作成するために使用します(これによりドライブが消去されます)gparted
未割り当て領域をすべて使用する単一のext4パーティションを作成するために使用します(ディスクがブロックされた後でも、いつでも NTFS パーティションを再作成できます)
Note: do NOT abort a bad block scan!
Note: do NOT bad block a SSD
Note: backup your important files FIRST!
Note: this will take many hours
Note: you may have a pending HDD failure
Ubuntu Live DVD/USB から起動します。
でterminal
...
sudo fdisk -l
# すべての「Linux ファイルシステム」パーティションを識別します
注意: どのドライブに不良ブロックがあるかを正しく識別してください... sdb1/etc.
sudo e2fsck -fcky /dev/sdXX
# 読み取り専用テスト
または
sudo e2fsck -fccky /dev/sdXX
# 非破壊読み取り/書き込みテスト(推奨)
-k は重要です。以前の不良ブロック テーブルを保存し、新しい不良ブロックをそのテーブルに追加するためです。-k を使用しないと、以前の不良ブロック情報はすべて失われます。
-fccky パラメータ...
-f Force checking even if the file system seems clean.
-c This option causes e2fsck to use badblocks(8) program to do a
read-only scan of the device in order to find any bad blocks.
If any bad blocks are found, they are added to the bad block
inode to prevent them from being allocated to a file or direc‐
tory. If this option is specified twice, then the bad block
scan will be done using a non-destructive read-write test.
-k When combined with the -c option, any existing bad blocks in the
bad blocks list are preserved, and any new bad blocks found by
running badblocks(8) will be added to the existing bad blocks
list.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.
注意: 不良ブロックによってドライブが使用できなくなった場合は、ドライブを交換してください。