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 communityI 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?
sudo 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...
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.
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
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