Is Ubuntu destroying my internal HDD?

TL;DR

No, Ubuntu is not destroying your HDD! :-)


The long answer:

HDDs die a slow, painful death like cancer, whereas SSDs just suddenly stop working like a heart attack : you can diagnose both by using SMART technology.

Why you heard the noises under Ubuntu and not under Windows is because Windows was installed first, so it resides on the inner side of your hard drive in the denser packed region, whereas Ubuntu was installed on the outer regions where the noises are more pronounced due to seeking.

And I can infer all this just from your description of the symptoms without having looked at your hard disk's partition table nor knowing how you installed your system...


What kind of sound does it make? If it's clicking you hear, then your OS MIGHT ACTUALLY BE DESTROYING YOUR HDD. The problem is ages old and involves Advanced Power Management feature parking/unparking the disk too aggressively. Try using hdparm to check the APM value (-B param). If it's less then 254, set it to 254 and check if it helps with the noise. If it does, make sure the value stays 254 at all times. One good way to ensure this under Linux is to use tlp. For the record, I've seen this problem occur in Windows as well with certain laptop models, but it's way more common in Linux.


You have (at least) one bad block (LBA 5642528) that's causing repeated errors. You can try to:

  1. backup your entire hard disk
  2. reformat/repartition your disk using the LONG method to try and make it map out the bad block(s). This could take many hours to complete.
  3. restore your hard disk

or

  1. replace the hard disk

Update #1:

To test your HDD for bad blocks...

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 # read-only test

or

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