How to deal with errors=remount-ro?

Don't touch /etc/fstab.

Your SMART Data indicates Current_Pending_Sector = 3320 which means that your HDD is probably failing.

FIRST, backup whatever important data that you have.

Then, we'll fsck it again, and then we'll bad block the disk to try and save what we can. If bad blocking fails, replace the HDD.

fsck

  • boot to a Ubuntu Live DVD/USB in “Try Ubuntu” mode
  • open a terminal window by pressing Ctrl+Alt+T
  • type sudo fdisk -l
  • identify the /dev/sdXX device name for your "Linux Filesystem"
  • type sudo fsck -f /dev/sda5, replacing sdXX with the number you found earlier
  • repeat the fsck command if there were errors

bad block

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

No, errors=remount-ro will not harm your system. In fact, it is intended to prevent harm, by not allowing writes to a filesystem that may already be damaged.

From man ext4:

   errors={continue|remount-ro|panic}
          Define the behavior  when  an  error  is  encountered.   (Either
          ignore  errors  and  just mark the filesystem erroneous and con‐
          tinue, or remount the filesystem read-only, or  panic  and  halt
          the  system.)   The default is set in the filesystem superblock,
          and can be changed using tune2fs(8).