这个硬盘还能用吗?

这个硬盘还能用吗?

我想检查旧硬盘从较低高度(约 20 厘米)掉落后的健康状况。smartctl -l selftest记录了以下自我测试:

=== START OF READ SMART DATA SECTION ===  
SMART Self-test log structure revision number 1  
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error  
\# 1  Short offline       Completed: read failure       90%     10728         225080

但是smartctl -A给出了以下输出:

=== START OF READ SMART DATA SECTION ===    
SMART Attributes Data Structure revision number: 16    
Vendor Specific SMART Attributes with Thresholds:    
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE    
  1 Raw_Read_Error_Rate     0x002f   100   100   051    Pre-fail  Always       -       1063    
  2 Throughput_Performance  0x0026   252   252   000    Old_age   Always       -       0    
  3 Spin_Up_Time            0x0023   061   044   025    Pre-fail  Always       -       12000    
  4 Start_Stop_Count        0x0032   097   097   000    Old_age   Always       -       3935    
  5 Reallocated_Sector_Ct   0x0033   252   252   010    Pre-fail  Always       -       0    
  7 Seek_Error_Rate         0x002e   252   252   051    Old_age   Always       -       0    
  8 Seek_Time_Performance   0x0024   252   252   015    Old_age   Offline      -       0    
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       10728    
 10 Spin_Retry_Count        0x0032   252   252   051    Old_age   Always       -       0    
 11 Calibration_Retry_Count 0x0032   252   252   000    Old_age   Always       -       0    
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       3918    
181 Program_Fail_Cnt_Total  0x0022   099   099   000    Old_age   Always       -       30835999    
191 G-Sense_Error_Rate      0x0022   100   100   000    Old_age   Always       -       161    
192 Power-Off_Retract_Count 0x0022   252   252   000    Old_age   Always       -       0    
194 Temperature_Celsius     0x0002   059   044   000    Old_age   Always       -       41 (Min/Max 11/58)    
195 Hardware_ECC_Recovered  0x003a   100   100   000    Old_age   Always       -       0    
196 Reallocated_Event_Count 0x0032   252   252   000    Old_age   Always       -       0    
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       6    
198 Offline_Uncorrectable   0x0030   252   252   000    Old_age   Offline      -       0    
199 UDMA_CRC_Error_Count    0x0036   100   100   000    Old_age   Always       -       14    
200 Multi_Zone_Error_Rate   0x002a   100   100   000    Old_age   Always       -       37    
223 Load_Retry_Count        0x0032   252   252   000    Old_age   Always       -       0    
225 Load_Cycle_Count        0x0032   090   090   000    Old_age   Always       -       111034    

特别是这些结果:

5 Reallocated_Sector_Ct   0x0033   252   252   010    Pre-fail  Always       -       0   
196 Reallocated_Event_Count 0x0032   252   252   000    Old_age   Always       -       0    
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       6  

这是否意味着虽然有 6 个坏扇区等待替换,但其他扇区从未被替换过?有没有办法告诉 HDD 替换坏扇区?我可以定义“未使用的扇区”,以便 HDD 可以使用它们来替换坏扇区吗?或者我不应该费心让这个 HDD 的使用寿命更长?

我已按照@heynnema 描述的推荐步骤完成,结果如下:

sudo e2fsck -fccky /dev/sdb1  
e2fsck 1.42.13 (17-May-2015)  
Checking for bad blocks (non-destructive read-write test)  
Testing with random pattern: done                                                   
test: Updating bad block inode.  
Pass 1: Checking inodes, blocks, and sizes  
Pass 2: Checking directory structure  
Pass 3: Checking directory connectivity  
Pass 4: Checking reference counts  
Pass 5: Checking group summary information

test: ***** FILE SYSTEM WAS MODIFIED *****  
test: 11/122101760 files (0.0% non-contiguous), 7713426/488378390 blocks

答案1

测试磁盘是否有坏块,并绘制出发现的任何坏块...

Note: do NOT abort a bad block scan!

Note: do NOT bad block a SSD

Note: backup your important files FIRST!

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.

相关内容