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?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communitysudo touch /forcefsck
Then reboot.
fsck.mode=force
on the kernel command line instead. (A warning appears in journalctl -xb
.)
Jan 26, 2021 at 8:33
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...
May 4, 2021 at 15:17
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.
sudo touch /forcefsck
worked when I did that before sudo reboot
.
Nov 6, 2013 at 16:54
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? and Bug #74139: shutdown missing -F (force fsck) option.
Oct 14, 2014 at 10:48
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"
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.
tune2fs
etc work on any platform, given that a (possibly embedded) initramfs is supported. So it really just depends on the Linux distribution.
On modern linux systems the answers above (with forcefsck) don’t work. You have to do it manually:
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
Reboot
Switch to runlevel 1 just to minimize the amount of interfering processes:
init 1
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
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)
Make your root file system readable/writable:
mount -o remount,rw /dev/sda2
Restore your /etc/fstab to its original state.
Reboot
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