How to check Hard Drive Disk Health in GNU/Linux

Mike Turcotte-McCusker
Jul 19, 2017
Updated • Jul 22, 2017
Linux
|
9

So, I recently purchased a new (used, but new to me) laptop, that had a 1TB 5400RPM Hard Disk in it, granted the laptop is fairly powerful and capable of modern gaming, rendering, and number crunching thanks to a 4th generation i7 CPU and a Dedicated 2GB GDDR5 GPU. However, the HDD seemed to be running awfully slowly, even for a 5400RPM drive.

I’ve been using strictly Solid State Drives for a number of years now, so I admit there was always the possibility of me just having become spoiled, but I thought that perhaps I should look into the health of the drive; after all, a laptop with specs like that should in my eyes run faster so better safe than sorry. This raised the thought to me that perhaps I should write a quick how-to on this procedure for the Ghacks.net community.

This tutorial is done via CLI only, however, there are tools that do the job as well I will briefly cover at the end of this.

Checking the hard drive health in Linux

The tool we are going to be using is called smartmontools (which is also available for Windows and OS X).

The smartmontools package contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure. Smartmontools was originally derived from the Linux ​smartsuite package and actually supports ATA/ATAPI/SATA-3 to -8 disks and SCSI disks and tape devices.

Installing smartmontools

  • For Ubuntu/Linux Mint users: sudo apt install smartmontools
  • For Arch users: sudo pacman -S smartmontools

Generally speaking smartmontools is available on most distributions, just install with your given package manager using the package name “smartmontools”

The How-To

Once that is installed, we need to figure out which drive our questionable one is:

sudo fdisk -l

This will give you a list of all drives and partitions. If you are only using one drive within your machine then it’s going to list /dev/sda and its various partitions. If you have multiple drives, you’ll need to use a little bit of common sense in seeing which drive the one you want to inspect, has what on it, and it’s associated listing such as /dev/sdb or /dev/sdc etc.

Once we know the drive we want to check out, there are three tests that we can run, depending on how concerned you are:

  • A short test, usually sufficient at detecting issues
  • A longer test if you are more concerned that examines the entire disk surface
  • A conveyance test which is used to test if damages occurred during transportation of the device from the manufacturer.

The next step is to find out what types of tests our disk supports, as well as an estimate to how long the tests will take to run.

sudo smartctl -c /dev/sdX (replace X with the appropriate letter)

You're going to be given a large amount of output as seen in this screenshot. I've highlighted the areas that were relevant to me for this test; the time estimates, and the fact that my disk does NOT support a conveyance test.

I oped to run the shorter test, just because I heard no clicks or other telltale signs that the hard disk was actually on it’s last legs besides the speed; to which I again state I may just be spoiled by SSDs. You are more than welcome to run that which you feel needed.

The commands for the various tests are (replace sdX with the drive that you want to test)

  • Short: sudo smartctl -t short /dev/sdX
  • Long: sudo smartctl -t long /dev/sdX
  • Conveyance: sudo smartctl -t conveyance /dev/sdX

Note: You will not get any scrolling output for your test beyond being told how long the test will take. If you're running the long test, you may have to wait an hour or two or longer.

Once the test is finished, it's time to get out result!

sudo smartctl -H /dev/sdX

Hopefully you'll see this:

If not, then either some more digging may need to be done, or it might just be time to replace the drive in question.

GUI Tools

There are other options for those of you who avoid the command line, such as the very popular and well known tool gnome-disk-utility (also known as 'disks' by some desktop environments.)

There are numerous other free and paid utilities out there, but I'm not here to advertise, as both of these utilities have served me well in the past for doing quick checks.

Good Luck!

Summary
How to check Hard Drive Disk Health in GNU/Linux
Article Name
How to check Hard Drive Disk Health in GNU/Linux
Description
Mike provides you with instructions on checking hard drives connected to a machine running Linux for health related issues.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Previous Post: «
Next Post: «

Comments

  1. sovietgoodwindows said on August 18, 2018 at 1:25 am
    Reply

    In Windows 7 was implemented the best system for checking HDD drives and even Sata 2/3 /, when you go into my computer you right-click on the disk and select the properties, go to the service, perform the scan, the following options are available: 1) Automatically correct system errors 2) Scan and repair damaged sectors. in Windows 10 do you think it’s all included? Removed … you run the Automatically fix system errors – on Windows 2000 / XP / Windows Vista / 7 / test automatically and you will be notified that the system is busy and can not check the disk, enable the next time you restart the computer, check (in the scheduler) and there will be a blue screen with verification depending on the version of Windows / and will check well between others, for which I liked Microsoft, but for some reason I forgot or specially removed it in Windows 10 and maybe in 8 / 8.1 such a function, of course the best way to restore these functions to save many users from the Bad Sector to the At the initial stage, do not you agree? Ð’ Windows 7 была реализована самая лучшая система по проверке HDD дисков и даже Sata 2/3/ , когда заходишь в мой компьютер нажимаешь правой кнопкой мыши на диск и выбираешь свойства, переходишь в сервис, выполнить проверку, Доступны следующие варианты: 1)Автоматически исправлять системные ошибки 2)Проверять и восстанавливать поврежденные сектора. в Windows 10 вы думаете всё включено? Убрали… вы запустите проверку Автоматически исправлять системные ошибки – на Windows 2000/XP/Windows Vista/7/ и вам выдаст уведомление о том, что система занята и не может проверить диск, включить при следующий перезагрузке компьютера проверку (в планировщик) и будет синий экран с проверкой в зависимости от версии Windows/ и между прочем проверит хорошо, за что я любил Microsoft, но почему то забыли или специально убрали в Windows 10 а то и может и в 8/8.1 такую функцию, конечно лучший вариант восстановить эти функции, чтобы спасти многих пользователей от Бад Секторов на начальной стадии, разве вы не согласны?

  2. .Chris Brown said on February 19, 2018 at 2:11 pm
    Reply

    THANK YOU. very helpful. Q. Can I run this utility on more than on hard drive at once, i.e. start it for one, then immediately for another while the first test is running?

  3. Kubrick said on August 25, 2017 at 1:16 pm
    Reply

    I use the gnome disk utility but its alright informing me of bad sectors but can they fix them.?.these are useless in that respect.

  4. TelV said on July 20, 2017 at 4:20 pm
    Reply
  5. Emil said on July 19, 2017 at 6:44 pm
    Reply

    PartEd Magic would be worth a feature, I think it’s indispensable.

  6. Lumpy Gravy said on July 19, 2017 at 6:03 pm
    Reply

    If your hdd or partition is formatted with ext2/ext3/ext4 you can also use e2fsprogs which, like these file systems, is developed and maintained by Theodore Ts’o.

    http://e2fsprogs.sourceforge.net/
    https://en.wikipedia.org/wiki/E2fsprogs

    The program(s) (it’s actually a number of very small tools) is straightforward to use from the console and has many useful options. I have set mine up to run a thorough hdd-check once each 100 boot-ups …

    tune2fs -c 100 /dev/sda1 (change your device accordingly)

    … so, each couple of weeks the boot procedure takes a little longer. But that’s ok.

  7. svim said on July 19, 2017 at 5:59 pm
    Reply

    Another GUI for smartmontools is through Webmin, a browser-based system configuration utility. It includes a handy module that taps into a drive’s SMART.
    http://www.webmin.com/

  8. Richard Steven Hack said on July 19, 2017 at 8:36 am
    Reply

    I use GSmartControl which is a GUI that runs smartmontools and is available for most distros in their repositories and is very easy to use. Shows you details of the hard drive selected (type, serial number, model, firmware version, etc.), shows all the S.M.A.R.T. attributes and capabilities supported by the drive, and allows to select the short or long tests.

    1. Gerard said on July 19, 2017 at 12:27 pm
      Reply

      I agree with Richard. Disks (gnome-disks) is good enough for a quick view and check. GSmartControl is more detailed and extensive, an excellent GUI for smartctl in my opinion.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.