I bought a new 4TB hard drive and will use it as an external hard drive for storage via USB3.0 port.

Before putting any data in it, I would like to check if there is a bad block or not. But so far, I couldn't find a way by googling.

Are there any free tools to achieve what I want? I don't plan to use any paid product. If there is no way to achieve this in MacOS, I will have to use Linux then.

Btw, SMART is NOT supported with the external enclosure and SMART tool can not be used to check all blocks either.

  • You may need a kernel extension for S.M.A.R.T compatibility, but deprecated kexts get increasingly more difficult to handle in modern operating systems: github.com/kasbert/OS-X-SAT-SMART-Driver
    – Redarm
    Jun 24, 2021 at 14:25
  • @Redarm yeah, I found that kernel extension, but that project hasn't been updated within 5 years. I don't plan to install a kernel extension which is NOT really maintained. I think I will just run Linux for this purpose. Thanks.
    – sgon00
    Jun 25, 2021 at 2:54
  • Even if the kext is maintained, Apple has all but killed them off in Big Sur and above. They are to be replaced by system extensions: developer.apple.com/support/kernel-extensions
    – Redarm
    Jun 25, 2021 at 9:54
  • 1
    By the way, binary fruit has released the SATSMART driver for Apple Silicon this year, which can be downloaded separately. binaryfruit.com/category/blog/sat-smart-driver
    – Redarm
    Jun 25, 2021 at 12:21

1 Answer 1


Bad blocks are re-mapped live by the drive's internal firmware whenever they are found.

There is no need to specifically try to find them all in one go. The manufacturers will have done that before shipping.

One sign of a failing drive is a rapidly-increasing number of bad blocks found in a short time. Only SMART can analyse that, because it keeps historical records.

  • Thanks for your reply. I knew the manufacturers would do test before shipping. But what about violent delivery service? What if the hard drive has some damage during the shipment? I lost some important data in the past with hard drive. So I would like to make sure it's perfect and no bad sectors before putting any data in it. Btw, I know I always should do backups on important data. Regarding the SMART, it shows it's not supported. So I can not use smartctl etc..
    – sgon00
    Jun 24, 2021 at 9:46
  • No drive should be the only repository of any information. It's just not worth the risk. if the drive turns out to be a lemon, send it back. Otherwise just use it. There really is no point in writing & reading every single block in one marathon event. The drive is perfectly capable of dealing with them as they arise.
    – Tetsujin
    Jun 24, 2021 at 9:49
  • OK, thanks a lot for the info. I figure out I can run smart tests on this enclosure in Linux. Somehow, MacOS does NOT support SMART on external drive. Maybe I just run smart tests on this new harddrive to check its health.
    – sgon00
    Jun 24, 2021 at 10:03
  • One more question: should I run extended smart self-test on a new hard drive? I think it will take about 7 hours. Based on your suggestion, there is no need to check bad blocks manually on a new drive.
    – sgon00
    Jun 24, 2021 at 10:19
  • 1
    FYI, smartmontools is available for macOS on both Macports and Homebrew. Jun 24, 2021 at 13:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .