I have a NTFS disk mounted as a data drive to a Ubuntu system (19.10).

In the last couple days, the drive has become very slow and unreliable.

The journal (journalctl -r) shows this :

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)

However ntfsfix reports the disk is okay (I think)

 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.
  • Is there another way of checking this disk?

At suggestions from comments some smartctl output.

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

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
  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

I don't know how to interpret it exactly but it looks like some heating problem?

  • 3
    ntfsfix like fsck checks for logical errors on the file-system, I'd be checking the health of the drive itself, ie. smartctl given IO errors (badblocks etc more than logical fs errs) – guiverc Nov 21 at 0:07
  • 1
    @wraith3690001 No! ntfxfix -b CLEARS the bad block list. You loose all prior bad block data. – heynnema Nov 21 at 0:27
  • 1
    If this is NOT SSD... If you have dual-boot with Windows, start Windows, backup your data from this drive, then do chkdsk /f n: and chkdsk /r n: on that drive letter. – heynnema Nov 21 at 0:30
  • 1
    @StephenBoston although I don't disagree that it might require replacement, for fun, you could try and bad block it and see how it does. If you want the procedure, let me know. – heynnema Nov 21 at 3:49
  • 1
    @StephenBoston I've put up the procedure. If it's helpful, please remember to accept my answer. Thanks! – heynnema Nov 21 at 15:55

Drive replacement is recommended.

  1. Smart 05 means how many spare sectors are used to replace bad sectors. RAW value 9840 means 9840 sectors, which means 4920KB. 93 is normalized value means you still have 93% spare secators.

  2. However, at the same time, 197 indicates that there's 41344 pending sectors. Pending sectors does not necessarily mean those sectors are bad, but the hard drive failed to fully process it. (Sometimes because not flushed before power interruption) On next write, it will either return to a good sector state, or go to 05 and replaced by spare sectors.

    Either way, 41344 is already around 20MB. Which is already too much and means that your drive is not stable.


Since you have the data backed up into the cloud, we can prepare the drive to bad block, this way...

  • use gparted to lay down a fresh GPT partition table (THIS WILL WIPE THE DRIVE)

  • use gparted to create a single ext4 partition that uses all unallocated space (you can always recreate a NTFS partition after bad blocking the disk)

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

Boot to a Ubuntu Live DVD/USB.

In terminal...

sudo fdisk -l # identify all "Linux Filesystem" partitions

Note: make sure you properly identify which drive to bad block... sdb1/etc.

sudo e2fsck -fcky /dev/sdXX # read-only test


sudo e2fsck -fccky /dev/sdXX # non-destructive read/write test (recommended)

The -k is important, because it saves the previous bad block table, and adds any new bad blocks to that table. Without -k, you loose all of the prior bad block information.

The -fccky parameter...

   -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

   -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.

Note: if bad blocking doesn't result in a usable drive, replace it.

  • I have sidelined the drive for now and ordered a replacement. I'll try the bad block procedure over the weekend. Thanks for your help. – Stephen Boston Nov 22 at 16:47
  • @StephenBoston status please... – heynnema 2 days ago
  • Procedure had no success. Drive is not recoverable. – Stephen Boston 2 days ago

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.