I have tried
sudo touch /forcefsck
Then I reboot, and the file disappears, but no disk check appears to have taken place. The whole boot process takes under 10 seconds!
Then I tried this to force it to reboot every day:
sudo tune2fs -i 1 /dev/sda1
To verify, I ran this:
sudo dumpe2fs -h /dev/sda1
The relevant lines of output are:
Last checked: Sun Sep 4 12:15:45 2016
Check interval: 86400 (1 day)
Next check after: Mon Sep 5 12:15:45 2016
Running "date" I see my clock says it is currently Dec 19, 2016, so fsck should run on the next boot up. But after I reboot it is again really fast and rerunning dumpe2fs I see the same exact text above, suggesting it never even tried to run fsck.
How can I force fsck to run at boot-up?
16.04 uses systemd to manage the boot process, the options you have tried are for the old SysV and early versions of upstart To force fsck on boot for systemd managed OSes you need to pass some kernel parameters, although usually these are not necessary as file system checks are automatic. More details about the kernel parameters (fsck.mode & fsck.repair) are available here and here