Linux Force fsck on the Next Reboot or Boot Sequence

by on July 23, 2006 · 30 comments· LAST UPDATED December 20, 2008

in , ,

Q. I want to force fsck on the next reboot? How do I force fsck? Is there any configuration file that I need to alter for this purpose.

A. fsck is used to check and optionally repair one or more Linux file systems. You don't have to create or alter/modify any file. All you need to do is just create empty file /forcefsck.

Force fsck on boot using /forcefsck

By creating /forcefsck file you will force the Linux system (or rc scripts) to perform a full file system check.

Login as the root:
$ su -
Change directory to root (/) directory:
# cd /
Create a file called forcefsck:
# touch /forcefsck
Now reboot the system:
# reboot

Frce fsck on next boot using shutdown command

The -F option force fsck on reboot, login as root and type the following command to reboot and run fsck:
# shutdown -rF now

Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 30 comments… read them below or add one }

1 Tom February 26, 2007 at 8:53 pm

Good info. You don’t need to goto the root directory if you’re providing the full path, as you are. You can:
touch /forcefsck
from anywhere… You do need to cd / if you are using a relative path, such as
cd /
touch forcefsck
cd /
touch ./forcefsk
but not
cd ~
touch ../forcefsk
(changes to /root, and creates the file one directory level higher)


2 Ifan September 24, 2007 at 5:21 pm

nice! didn’t know that at alL!!


3 sudar February 19, 2008 at 6:39 am

Hi every one,
I’m able to reboot my target board using the command [reboot] from the bash prompt.
But i can able to by the command [reboot -f].
What should i need to do if i want to use the command [reboot]
Plz help me.
Thanks in Advance


4 dj March 12, 2008 at 7:46 pm

shutdown -rF now <-will reboot and forcefsck now. More info: man shutdown


5 Martijn July 10, 2008 at 10:05 am


Your ‘shutdown’ tip won’t work on many modern distributions, since they use Upstart instead of the old Sysvinit system.

Upstart has dropped many legacy commands that would be better done differently, in favor of a modern lean system.

‘touch /forcefsck’ is currently the most universal way.


6 Jason B August 18, 2008 at 8:20 pm

On RHEL 4, ‘shutdown -rF’ just writes /forcefsck anyway.


7 Nigel Horne February 4, 2009 at 4:53 pm

There’s no need to use the touch command, “>/forcefsck” will do.


8 yanger February 27, 2009 at 12:42 am

thanks! sudo touch /forcefsck is a good way :)


9 ankur May 16, 2009 at 4:05 pm

What about trying to force fsck another partition ?


10 neurosys June 26, 2009 at 9:40 am

then u could just umount it……


11 neurosys June 26, 2009 at 9:41 am

umount /dev/hdb2; fsck -y -c -f /dev/hdb2;echo ‘w00t’


12 Paolo July 6, 2011 at 3:04 pm

Thanks, this works great for me!


13 like how? August 7, 2009 at 8:29 pm

me@mybox:/$ sudo umount /dev/hdb2
umount: /home: device is busy.
me@mybox:/$ echo ‘unwoot’


14 Axel Werner September 1, 2009 at 1:16 pm

Will performing a “shutdown -rF now” or a “touch /forcefsck ” at a specific date and time once a week prevent the “automatic fsck” that is forced by the ext2/ext3 partition parameters ?? (can be set by tune2fs ) – i mean.. will it “reset” the timeouts/deadlines if doing a force fsck manualy once a week so there will be no “surprise” when trying to reboot my server if needed ?? any positive experience on that?


15 itpatil December 11, 2009 at 10:11 am

Hey, thanks for the information. Appreciate it.


16 David Nuttall February 8, 2010 at 6:21 pm

Running fsck, by whatever means, will cause the mount counter to be reset to 0. Well, so long as it completes successfully. If fsck dies for some reason (like trying to run on a mounted or read-only file system, oops) then the counter is not reset.

As for running on fsck on the partition mounted on /home, that should automagically mount, and will be checked at that time; just do (no quotes) “sudo touch /home/forcefsck” if mounted and if not mounted, you can run it directly, if you can log in, that is. Get to root and just run it one the device: “sudo fsck /dev/sda6″ or whatever device it is.


17 Light February 24, 2010 at 7:43 am

Hi ,
I am going to check your tip hoping that ,this will work on My Ubuntu Karmic System with Ext4 File System.


18 Light February 24, 2010 at 7:47 am

And Yes ,it Worked with Ext4 FS.Thanks for the Tip!


19 Juraj July 6, 2010 at 6:14 pm

I used “touch /forcefsck” which forced the system to check after reboot…fine
but on the subsequent boots still forces to check. I looked in root dir for the forcefsck file but it is not there….what then makes the system force to check? :(


20 xe March 15, 2011 at 3:44 pm

How to specify some fsck cli params in this case?


21 Aj April 10, 2011 at 8:01 am

as root, do the following

# (mount partition as read only – allows fsck to work)

mount -oremount,ro /

e2fsck /dev/sda1

where / is the path to device you want to fsck, and sda1 is the device name (could be hda1, hda2, sdb3 etc)

then when done, do

mount -oremount,rw /

(here it will give you a number which is current run level, note it (debian is N 2)


telinit 1; telinit 2

(where 2 is the number given to you in first telinit line)

This b


22 Jörgen Persson July 4, 2012 at 7:56 pm

Don’t forget to put a ‘y’ in the forcefsck file if you want to scan a remote drive. If not the check will be stuck while waiting for you to answer ‘y’, but you won’t be able to see that question…

sudo -i
touch /forcefsck
echo y > forcefsck


23 Pascal September 22, 2012 at 7:56 am

On Fedora 17 the -F option is not available for command shutdown.


24 Manazar October 14, 2012 at 3:50 am

can we do this on specific filesystem ?
Note : updated fstab fields as 0 2 ,still server skip fsck on …..


25 Neutron68 November 13, 2012 at 1:49 am

I followed the directions and it worked for my Mythbuntu system…on EVERY reboot.
I found I had to remove the /forcefsck file from my hard drive, when I wanted the disk checks at reboot to stop.
BUT, I could not see the /forcefsck file in the / directory until I did an “ls -a”

Best wishes!


26 Eduardo Nunes December 3, 2012 at 11:28 pm

You could also use tune2fs and set the filesystem mount count to something higher than the limit which triggers the filesystem check. This is very useful to check other filesystems besides the root /

# tune2fs -l /dev/sda1
and you can see on the output:
Mount count: 3
Maximum mount count: 38

so you have to place the Mount count higher than 38 with the following command:
# tune2fs -C 39 /dev/sda1

check the value changed with tune2fs -l and then reboot!

On my servers I like to set the filesystem Maximum mount count to 1, because when the server ever gets shutdown some shit did happen! So we must check everything!!


27 Jim June 21, 2013 at 9:21 pm

Use “sudo chattr +i /forcefsck” without the quotes if you want to perform a filesystem check every time the Raspberry PI boots, I do just to check for problems with the SD card. The +i makes the file forcefsck immutable so it doesn’t get removed even after a reboot. I found the file disappeared after every reboot but this fixed that problem.
Hope this stops someone else wondering where the file goes and how stop it happening.


28 Patrick October 9, 2013 at 10:47 pm

Is there a way of setting this up to automatically repair any issues that it finds? Also, in the comment about adding a “y” to the file to scan remote drives, does that mean networked drives (located on another computer) or does it mean other drives in the same computer?

I have two internal hard drives, and four USB (External) drives attached to a server, and I want (need?) to fsck at least one or two of the external drives–but I want to do all of the drives.


29 Balaji P January 27, 2014 at 6:50 pm

In our environment some of the servers Filesystem automatically mount in readonly mode on the fly, we fixed it by running forefsck at reboot. may i know what will cause this kind of issue??


30 Nix Craft January 27, 2014 at 6:53 pm

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: