Let's check the basics first, by performing a manual fsck
...
- boot to a Ubuntu Live DVD/USB
- open a
terminal
window
- type
sudo fdisk -l
- identify the /dev/XXXX device name for your "Linux Filesystem"
- type
sudo fsck -f /dev/XXXX
# replacing XXXX with the number you found earlier
- repeat the fsck command if there were errors
- type
reboot
Update #1:
Ah, you've partitioned your disks slightly out of the ordinary, so we'll have to fsck
the other partitions also.
- boot to a Ubuntu Live DVD/USB
- open a
terminal
window
- type the following commands...
- sudo fsck -f /dev/sda4
- sudo fsck -f /dev/sda1
- sudo fsck -f /dev/sdb1
- sudo fsck -f /dev/sda5
Update #2:
We're investigating high read/seek/ECC error rates on sdb (HDD).
There may also be a Ubuntu software issue, or sda (SSD) firmware issue.
Update #3:
In looking at gparted
for sda (SSD) I see /var
is full.
I'd recommend:
- full backup of important files from
/home/username
from sdb (HDD)
- perform firmware update on sda (SSD) if required
- wipe sda (SSD) and install fresh Ubuntu WITHOUT separate
/var
or /home
- do not install anything on sdb and we'll do a bad block scan, and see if fsckd problem is gone
Update #4:
Bad block scan on sdb...
If sdb is not empty, use the appropriate partition number (probably sdb1 in your case) for the sdXX parameter below. If sdb is empty, assure that there's at least one large ext4 partition, which will probably be sdb1, and then use that for sdXX.
Note: do NOT abort a bad block scan!
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.
Update #5:
Bad blocking completed. SMART Data indicates that read/ECC errors are now zero! If read/seek/ECC errors return, suspect a bad SATA cable or SATA port. Monitor SMART Data for sdb.
Reinstall Ubuntu with no special partitioning, except for /home on ext4 sdb1, and possibly a sdb2 NTFS partition if you share files with Windows.