50

I installed Linux Mint 12 KDE, and I would like to check the root partition for any errors.

How do I check the root partition with fsck at boot time?

BlueSky
  • 503
  • 1
  • 4
  • 4

6 Answers6

64
sudo touch /forcefsck

Then reboot.

psusi
  • 7,837
  • 21
  • 25
  • 1
    This works, but for whatever reason, systemd recommends to pass `fsck.mode=force` on the kernel command line instead. (A warning appears in `journalctl -xb`.) – Seppo Enarvi Jan 26 '21 at 08:33
  • Did it for me (Debian 10). – kkm inactive - support strike May 04 '21 at 14:58
  • @SeppoEnarvi: the `forcefsck` is (was?) natively supported only by system V init, but neither upstart nor systemd. The support for it may be added by the distro (Debian and, therefore, Ubuntu, do). The solution you mention is distro-independent. Too bad it's not a simple business to pass anything on the kernel command line on a headless server or a cloud VM... – kkm inactive - support strike May 04 '21 at 15:17
  • 1
    This no longer works, fsck.mode=force is now required. https://askubuntu.com/a/1352782/293072 – Alkanshel Mar 23 '23 at 05:13
29

You can use shutdown command for this too.

shutdown -rF now

From man:

The -F flag means 'force fsck'.
This only creates an advisory file /forcefsck which can be tested by the system when it comes up again. The boot rc file can test if this file is present, and decide to run fsck(1) with a special `force' flag so that even properly unmounted file systems get checked. After that, the boot process should remove /forcefsck.

insider
  • 466
  • 5
  • 7
  • 1
    I tried this with Linux Mint 15 MATE and it didn't cause a check when rebooting. But `sudo touch /forcefsck` worked when I did that before `sudo reboot`. – Colin D Bennett Nov 06 '13 at 16:54
  • 8
    `shutdown` supplied with Upstart does not support the `-F` option any more. You should use `sudo touch /forcefsck` instead. See for example [Why was -F removed from /sbin/shutdown?](http://unix.stackexchange.com/a/64131/19702) and [Bug #74139: shutdown missing -F (force fsck) option](https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/74139). – pabouk - Ukraine stay strong Oct 14 '14 at 10:48
  • is linux mint 12, should work – Francisco Tapia Sep 16 '15 at 18:19
5

Here is another way to do this:

tune2fs -C 2 -c 1 /dev/THEDEVTHATROOTIS

reboot

then the filesystem will be checked, and once all is good you should do

tune2fs -c 60 /dev/THEDEVTHATROOTIS

I have assumed that the max-mount-count was set to 60, you should find out before issuing the first command with

dumpe2fs /dev/THEDEVTHATROOTIS |grep "Maximum mount count"

g24l
  • 929
  • 5
  • 8
  • 4
    your answer is good and ... should work most of the time (I mean on most of standard installed Linux) BUT, you ASSUME that root partition is ext2,3,4 formatted, what if is something else like xfs or reiserfs ? :) – THESorcerer Sep 14 '14 at 08:17
  • True this is a 9/10 solution. – g24l Jan 28 '15 at 09:38
2

On my systems (several x86 notebooks and a Banana Pi Pro), saying sudo shutdown now brings me to runlevel 1 (aka maintenance mode) where I can safely check my root FS:

mount -o remount,ro /dev/rootpartition
fsck /dev/rootpartition
reboot

There's no need to alter /etc/fstab to do this, and I have the opportunity to run fsck with whatever options that may be needed to fix a tricky case.

Note: /forcefsck and tune2fs tricks work on x86, but not on Banana Pi.

Dmitry Grigoryev
  • 9,151
  • 4
  • 43
  • 77
0

If you are on a Raspberry pi and you find yourself in emergency mode, you can in fact unmount the root partition and still use fsck

(login as root)
mount -o remount,ro /
fsck
reboot
-1

On modern linux systems the answers above (with forcefsck) don’t work. You have to do it manually:

  1. Put your root partition into read-only mode by modifying the faulty partition’s line on /etc/fstab (but remember your old settings):

    UUID=fd1d0fad-3a4c-457f-9b5e-eed021cce3d1 /                       ext4    remount,ro        1 1
    
  2. Reboot

  3. Switch to runlevel 1 just to minimize the amount of interfering processes:

    init 1
    
  4. Fix your file system (replace /dev/sda2 with your partition’s device), which should now work because the root partition is in read only:

    fsck /dev/sda2
    
  5. Reboot. (On my Fedora 21 system I had to change to runlevel 1 during boot with Grub2, because otherwise the system was stuck due to not being able to write on the root-partition)

  6. Make your root file system readable/writable:

    mount -o remount,rw /dev/sda2
    
  7. Restore your /etc/fstab to its original state.

  8. Reboot


Source: http://bitsofmymind.com/2014/03/14/how-to-fix-fsck-your-root-file-system-that-you-have-to-boot-into-on-linux/

erik
  • 1,908
  • 3
  • 22
  • 38