AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 14740
Accepted
UrkoM
UrkoM
Asked: 2010-11-25 06:27:19 +0800 CST2010-11-25 06:27:19 +0800 CST 2010-11-25 06:27:19 +0800 CST

重新启动时强制 fsck.ext4,但真的“有力”

  • 772

我的一台 Ubuntu 10.04 服务器给我带来了麻烦。当我运行fsck.ext4 -n /dev/sda5它时,它告诉我空闲 inode 计数、空闲块计数等存在错误。

我努力了:

touch /forcefsck

也试过:

shutdown -rF now

而且,重新启动后,我仍然看到错误。

我也刚刚检查了我的 eeePC 上网本 Ubuntu 10.10,并且遇到了同样的问题!

如何在重新启动时强制“/”文件系统的真正“强制”“强制”“认真修复我的文件系统”fsck?

澄清:我运行fsck.ext4 -n是因为它是一个挂载的文件系统,以检查是否有错误。这告诉我有。我认为在启动过程中每 30 次挂载自动 fsck正是为了处理根文件系统中的错误。但在我的情况下它并没有这样做。我可以使用 LiveCD 重新启动并修复错误,然后再次重新启动,但这对于实时服务器来说是一些严重的停机时间。重新启动,自动 fsck,然后继续启动在实时服务器上更具可持续性,我相信应该是正确的行为。

附加信息:这是输出。它看起来像是 autofsck 会修复的东西,不是吗?

root@server:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks
10.04 filesystem ext4 fsck
  • 6 6 个回答
  • 93984 Views

6 个回答

  • Voted
  1. Brian
    2014-11-13T06:50:25+08:002014-11-13T06:50:25+08:00

    我知道这是一个非常古老的线程,但我最近不得不解决这个问题,所以我想发布如何强制操作系统修复启动期间 fsck 发现的问题(对于 12.04)。

    您确实需要运行命令sudo touch /forcefsck。这将导致它在下次启动时执行 fsck。您可以在 /var/log/boot.log 中看到 fsck 的结果。

    但是,您不能保证 fsck 会修复它找到的任何东西。为此,您需要编辑文件 /etc/default/rcS。该文件末尾有一行:

    FSCKFIX=no
    

    这需要更改为以下内容:

    FSCKFIX=yes
    

    这将与使用 -y 选项运行 fsck 具有相同的效果,这将强制执行所有可能的修复,并且不会要求用户交互。

    这将允许您像 OP 要求的那样运行 fsck,而不必求助于从实时磁盘启动,这并不总是可能的,特别是如果您在远程系统上。

    • 26
  2. Dan Benamy
    2012-06-01T07:09:27+08:002012-06-01T07:09:27+08:00
    sudo touch /forcefsck
    sudo reboot
    

    你有一个错字 - 你正在触摸 /forcefcsk。“c”和“s”互换。fsck 是 FileSystemCheck 的缩写。

    • 13
  3. Best Answer
    Nyamiou The Galeanthrope
    2010-11-25T13:27:33+08:002010-11-25T13:27:33+08:00

    从 e2fsck 手册页:

    “请注意,通常在挂载的文件系统上运行 e2fsck 是不安全的。唯一的例外是如果指定了 -n 选项,而未指定 -c、-l 或 -L 选项。但是,即使它是安全的这样做,如果文件系统已挂载,e2fsck 打印的结果无效。如果 e2fsck 询问您是否应该检查已挂载的文件系统,唯一正确的答案是“不”。只有真正知道什么的专家他们正在考虑以任何其他方式回答这个问题。”

    因此,如果您使用 fsck 检查已安装的 FS,即使使用 -n 选项,结果也可能根本无效。不要检查已安装的文件系统。使用 Live-CD/Live-USB。

    如果您在挂载文件系统时不检查它,我不明白您为什么需要使用touch /forcefsck它,您可以卸载它并修复它。但如果是这种情况并且在修复后您的 FS 仍然有错误,那么您可以考虑使用:

    e2fsck -cy /dev/sda5
    

    这将解决与硬盘驱动器相关的问题,称为您可能遇到的坏块(这将需要很长时间)。

    如果您想检查已安装的文件系统,我不知道如何继续,但我认为您应该创建另一个问题。

    • 10
  4. charlie-tca
    2010-11-25T11:33:29+08:002010-11-25T11:33:29+08:00

    由于分区正在使用中,您不能强制执行 fsck on / 来修复。尝试从不同的分区或 live cd 运行检查。

    • 3
  5. hk3jld
    2017-01-01T16:00:33+08:002017-01-01T16:00:33+08:00

    您可以通过以下方式自动完成修订:

    Tune2fs -c 5 -i 10 / dev / sda1
    

    -c是运行前的最大挂载次数,是运行前fsck的-i最大天数fsck。

    在这种情况下,将每 5 次安装或每 10 天执行一次,以先到者为准。

    我有两台计算机,一台使用 Linux SuSE 13.2,另一台使用 Linux Mint 18.0,两者都运行良好。

    • 1
  6. Clock ZHONG
    2016-12-18T01:21:07+08:002016-12-18T01:21:07+08:00

    touch /forcefsck单独并不能确保我的系统fsck在下次启动时运行。我还需要运行:

    sudo tune2fs -c 1 /dev/<my partition>
    

    例如

    sudo tune2fs -c 1 /dev/sda1
    

    我在这里找到了更多解释:How to Force fsck to check filesystem after reboot

    • 0

相关问题

  • 如何避免启动时出现“S to Skip”消息?

  • 如何完全删除 Ruby + Rails + Gems?

  • 从 8.04 LTS 升级到 10.04 LTS 的体验?

  • 删除在线状态菜单,但保留注销菜单?

  • 什么可能会阻止 xrandr 屏幕之间的鼠标移动?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve