56

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
  • 563
  • 1
  • 4
  • 4

6 Answers6

69
sudo touch /forcefsck

Then reboot.

psusi
  • 8,122
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
6

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
  • 959
6

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.

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
  • 2,028
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