启动时跳出 e2fsck

joh*_*odo 4 linux boot debian fsck

是否有可能在启动时以某种方式突破 e2fsck?

我的系统每 30 天运行一次 e2fsck,这对我来说很好,我希望它保持这种状态。但有时当我打开电脑并且 30 天过去了,我仍然希望它能够快速启动。例如,当我不得不用笔记本电脑做演示时——想象一下告诉 50 个人“我们只需要等 10 分钟......不,我无法避免......是的,这是 Linux,你为什么要问?” :)

如果我按 Ctrl+C,它会停止检查并继续引导序列,但系统无法使用,因为根文件系统以只读方式安装。在我重新启动后,检查再次开始。

我在网上搜索了答案,有很多类似的问题,但我找不到解决方案。有人知道解决方案吗?

:我在寻找能解决禁止的fsck,并且将重新启动计算机之前,采取任何措施-我不知道事先我将不得不跳过检查。

如果重要:Debian 6 (Squeeze).\

更新:我了解到可以在 Ubuntu 上使用 Esc 键突破 e2fsck。这正是我正在寻找的 - 有谁知道如何在 Debian 上做到这一点?

解决方案:加勒特的回答是正确的,我不得不编辑/etc/init.d/checkroot.sh. 就在这些行之前:

#
# The actual checking is done here.
#
if [ "$rootcheck" = yes ]
then
    ...
Run Code Online (Sandbox Code Playgroud)

我添加了这些行:

if [ "$rootcheck" = yes ]
then
    if [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
    then
        echo "fsck was forced."
    else
        echo "********************************************************************************************************"
        echo "*                                                                                                      *"
        echo "*  WARNING: fsck should be run, but it is disabled. Create /forcefsck and reboot at your convenience.  *"
        echo "*                                                                                                      *"
        echo "********************************************************************************************************"
        rootcheck="no"
    fi
fi
Run Code Online (Sandbox Code Playgroud)

效果很好 - 每次看到这条消息我都会微笑,因为我知道我刚刚又挽救了半个小时的生命。:)

Gar*_*ett 6

根据具体情况,有三种简单的方法可以实现您的目标。

  1. 关闭时,使用命令行shutdown二进制文件并传递-f开关,例如重新启动:shutdown -rf now。如果你愿意,你也可以用它做一个快捷方式。这将仅在下次重新启动时跳过 fsck 检查。
  2. 当启动时显示 grub 菜单时,点击“e”以编辑当前启动内核,编辑 vmlinuz 行并附fastboot加到末尾。与选项 1 一样,这仅跳过该引导的 fsck 检查。
  3. 如果你真的想完全禁用检查(不推荐),你可以编辑文件/etc/fstab. 找到根文件系统所在的行,最后会有两个数字,通常是1 2. 将最后一个数字(此处为 2)更改为 0 将阻止在该卷上运行所有自动启动时 fsck 检查。

编辑 #2:您可以向 grub for 添加一个新条目fastboot,这可能更适合您的示例案例。这保留了正常的 fsck 检查,同时在引导期间提供选择。