Your HDD has read/write errors and excessive load/unload errors. The drive may just be old, and pre-failing.
HDD's are much slower than SSD's, and tend to boot much slower. Expect boot times of approximately 30-90 seconds.
CABLES
Re-seat the data and power cables on the rear of the HDD, and the motherboard.
PARTITION TABLE
Your disk should probably be in GPT format... although with a 2014 computer that may be BIOS, not UEFI... that may not be possible.
SWAP
A 2G /swapfile is a little smallish, and we'll increase it to 4G...
Note: Incorrect use of the rm
and dd
commands can cause data loss. Suggest copy/paste.
In the terminal
...
sudo swapoff -a # turn off swap
sudo rm -i /swapfile # remove old /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile # set proper file protections
sudo mkswap /swapfile # init /swapfile
sudo swapon /swapfile # turn on swap
free -h # confirm 6G RAM and 4G swap
Edit /etc/fstab, using sudo -H gedit /etc/fstab
or sudo pico /etc/fstab
.
Confirm this /swapfile line in /etc/fstab... and confirm no other “swap” lines... use SPACES in this line... confirm NO TABS...
/swapfile none swap sw 0 0
reboot # reboot and verify operation
BAD BLOCKS
Let's check your disk for any bad blocks...
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 “Try Ubuntu” mode.
In terminal
...
sudo fdisk -l
# identify all "Linux Filesystem" partitions
sudo e2fsck -fcky /dev/sdXX
# read-only test
or
sudo e2fsck -fccky /dev/sda5
# 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.