Linux在下一次重新引导或引导序列上强制执行fsck
我要在下次重新启动时强制fsck吗?如何在基于Linux的服务器或笔记本电脑上强制使用fsck?在Linux上是否需要为此更改任何配置文件? fsck命令用于检查和可选地修复一个或多个Linux文件系统。您不必创建或更改/修改任何文件。您需要做的只是创建一个名为/forcefsck
的空文件。
fsck如何在Linux的每次启动时强制工作?
在Debian或Ubuntu Linux上,如果/forcefsck
,则使用/etc/init.d/checkfs.sh(或在Ubuntu LTS v14.04 +上的/etc/init/mountall.conf
)运行fsck命令。
检查/etc/init/mountall.conf文件,例如Ubuntu 14.04 LTS中的文件
script . /etc/default/rcS || true [ -f /forcefsck ] && force_fsck="--force-fsck" [ "$FSCKFIX" = "yes" ] && fsck_fix="--fsck-fix" # Doesn not work so well if mountall is responsible for mounting /proc, heh. if [ -e /proc/cmdline ]; then read line < /proc/cmdline for arg in $line; do case $arg in -q|--quiet|-v|--verbose|--debug) debug_arg=$arg ;; esac done < /proc/cmdline fi # set $LANG so that messages appearing in plymouth are translated if [ -r /etc/default/locale ]; then . /etc/default/locale || true export LANG LANGUAGE LC_MESSAGES LC_ALL fi exec mountall --daemon $force_fsck $fsck_fix $debug_arg
在RHEL/CentOS 6.x上,/etc/rc.sysinit文件用于运行fsck命令。
如果有一个/fsckoptions
文件,则从/fsckoptions
文件中加载选项。
如果有一个/forcefsck
文件,则添加-f。
检查/etc/rc.sysinit文件,例如RHEL/CentOS Linux 6.x中的文件
RHEL/CentOS 6.x /etc/rc.sysinit文件
使用/forcefsck在启动时强制使用fsck
通过创建/forcefsck文件,您将强制Linux系统(或rc脚本)执行完整的文件系统检查。
首先,以root用户身份登录:
$ su
或者
$ sudo -s
将目录更改为根(/)目录[可选]:
# cd /
创建一个名为forcefsck的文件:
# touch /forcefsck
现在,重新启动系统:
# reboot
在使用关机命令的下一次启动时启动fsce fsck(可能不适用于许多现代发行版)
-F选项在重新引导时强制fsck,以root用户身份登录,然后执行以下命令以重新引导并运行fsck:
# shutdown -rF now
上面将立即检查所有相关分区。
关于基于系统的系统的说明
上述解决方案仅适用于旧的SysVinit和早期版本的Upstart。
它不能与systemd一起使用。
systemd-fsck可以理解一个内核命令行参数:
fsck.mode =
auto,force,skip之一。
控制操作模式。默认值为auto自动,并确保在文件系统检查器认为有必要时进行文件系统检查。
无条件强制执行完整文件系统检查。
skip跳过所有文件系统检查。
fsck.repair =
preen,yes, no。
控制操作模式。默认值为preen,它将自动修复可以安全修复的问题。
是,将通过fsck对所有问题回答"是",而否将对所有问题回答"否"。