标签: fsck

如何对 ext4 文件系统结构进行全面检查?

我有 2TB ext4 分区,上面有 50 万个文件。
我想检查这个分区是否包含任何错误。
我不想搜索坏块,只应该检查逻辑结构。

我已卸载分区并运行fsck /dev/sda2,但 fsck 立即返回退出代码 0,而无需实际检查整个文件系统。
我预计完整的分区检查需要几个小时才能完成。
我已阅读man fsck但没有找到“彻底测试”的选项。

我担心我的分区可能有一些扇区被垃圾数据意外覆盖。
我的硬盘以前连接到另一个操作系统,ext4 分区可能会因该操作系统的错误行为而受到损害。
这就是为什么我要确保整个树结构是完全正确的。

换句话说,我想执行类似于实用程序chkdsk.exe在 Windows 上所做的检查。
我应该在 Debian 上使用什么来完全检查 ext4 文件系统?

partition debian fsck

31
推荐指数
3
解决办法
7万
查看次数

修复 EXT4-fs 错误几何(块数超过设备大小)

我有一个微型 SD 卡,它有一个 FAT32 分区和一个 EXT4 分区。EXT4 分区将不再挂载。dmesg 显示以下错误:

EXT4-fs (sdb2): bad geometry: block count 2199023779840 exceeds size of device (524288 blocks)
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索过,但仍然不完全理解问题出在哪里(在分区表中?文件系统中?)也不知道如何解决它。我尝试了多种解决方案:

  • 使用testdisk写分区表
  • 使用 fsck 从备份中恢复超级块(我已经尝试了所有这些)。例如fsck.ext4 -b 163840 -B 4096 /dev/sdb2
  • 使用fsck -cc检查坏块
  • 使用 resize2fs 设置分区的大小。输出:The combination of flex_bg and !resize_inode features is not supported by resize2fs.

当我运行 fsck 时,它出现了一堆错误(下面的完整输出),它声称已修复。但是,如果我再次运行它,它每次都会再次显示相同的错误。

如何修复错误的几何问题并使我的文件系统再次可挂载?这怎么发生的?

fsck 输出:

e2fsck 1.42 (29-Nov-2011)
One or more block group descriptor checksums are invalid.  Fix<y>? yes

Group descriptor 0 checksum is invalid.  FIXED.
Group …
Run Code Online (Sandbox Code Playgroud)

filesystems ext4 fsck

23
推荐指数
3
解决办法
5万
查看次数

在“systemd”崩溃后如何自动强制fsck磁盘?

如何设置systemdfsck崩溃后自动强制磁盘(硬关机)?

当我使用sysvinit(在 Arch Linux 中)时,/sbin/init我使用了 hack:在rc.local我创建的/forcefsck文件中;在rc.local.shutdown我删除它。在启动时rc.sysinit启用强制 fsck(如果/forcefsck存在)。

如何做同样的事情systemd?也许它有内置的自动fsck后粉碎设施?

fsck systemd

19
推荐指数
1
解决办法
2万
查看次数

如何在允许试验系统时间更改的同时避免“手动运行 fsck”消息?

我正在使用一个系统,我们希望允许用户根据需要随意调整日期和时间,并且可以随意重新启动。这很好,除了一件事:如果向后跳的时间很长,重新启动时会出现以下错误:

Checking filesystems
IMAGE2: Superblock last mount time (Tue Mar  1 17:32:48 2011,
        now = Thu Feb 24 17:34:29 2011) is in the future.

IMAGE2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Run Code Online (Sandbox Code Playgroud)

...然后引导挂起等待用户控制台输入,即使获得控制台访问权限,也需要 root 密码才能继续。

这显然不太理想。有没有办法跳过检查或强制检查在重新启动时自动发生?

谷歌只提供了需要手动运行 fsck 的帮助,如果/当它被击中时,这不是我所追求的。设置时间后手动运行 fsck 不起作用,因为此时文件系统仍处于挂载状态,并且完全禁用 fsck 不太理想。

我正在使用红帽 6。

更新:我目前使用的解决方案是破解 fstab 以禁用重新启动时的 fsck 检查。我曾尝试使用 …

boot rhel date fsck

18
推荐指数
1
解决办法
1万
查看次数

fsck 不会 fsck(无法设置超级块标志)

在基于 SD 卡的设备不正常关机后,我将 SD 卡取出到fsck根文件系统。这导致了以下变化:

e2fsck 1.43.1 (08-Jun-2016)
/dev/sdc2: recovering journal
Superblock needs_recovery flag is clear, but journal has data.
Run journal anyway<y>? no
Clear journal<y>? no
e2fsck: unable to set superblock flags on /dev/sdc2
Run Code Online (Sandbox Code Playgroud)

在这里,我两次都回答“否”,但没有一系列是/否不会立即导致相同的结果。

文件系统可以挂载,随便检查一下就可以了;它在设备中也能正常工作,这就是根文件系统(实际上结果不太好,请参阅评论;tldr 一些无法挽回的损坏目录)。

dd将分区(8 GB)分配给一个文件,并在其上尝试了 fsck。有趣的是:

e2fsck 1.43.1 (08-Jun-2016)
plush.rootfs: recovering journal
Clearing orphaned inode 18290 (uid=0, gid=0, mode=0100644, size=34096)
Clearing orphaned inode 18270 (uid=0, gid=0, mode=0100644, size=38916)
Clearing orphaned inode 18250 (uid=0, gid=0, mode=0100644, size=1128076)
Clearing orphaned inode 11411 (uid=0, …
Run Code Online (Sandbox Code Playgroud)

ext4 fsck sd-card

18
推荐指数
2
解决办法
3万
查看次数

fsck -p (preen) 在 ext4 上做什么?

我正在阅读一篇关于文件系统修复的博客文章,作者提出了一个很好的问题......fsck -p应该在没有人工干预的情况下自动修复小错误。但是当它被告知整理文件系统时,它究竟会修复什么?它会修复什么错误,什么会导致它停止并告诉用户他或她必须以交互方式运行 fsck?是否有某种清单?

我一直在谷歌搜索,我找到的只是手册页,它并没有真正说明什么-p将修复或触发动手标志的原因。我对 ext4 文件系统特别感兴趣。

linux ext4 fsck

17
推荐指数
1
解决办法
1万
查看次数

坏扇区是否表示磁盘出现故障?

我的 Ubuntu 13.10 系统在过去一天左右的时间里表现非常糟糕。查看内核日志,似乎小于 1 年的 3TB SATA 磁盘的特定扇区存在问题:

Nov  4 20:54:04 mediaserver kernel: [10893.039180] ata4.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Nov  4 20:54:04 mediaserver kernel: [10893.039187] ata4.01: BMDMA stat 0x65
Nov  4 20:54:04 mediaserver kernel: [10893.039193] ata4.01: failed command: READ DMA EXT
Nov  4 20:54:04 mediaserver kernel: [10893.039202] ata4.01: cmd 25/00:08:f8:3f:83/00:00:af:00:00/f0 tag 0 dma 4096 in
Nov  4 20:54:04 mediaserver kernel: [10893.039202]          res 51/40:00:f8:3f:83/40:00:af:00:00/10 Emask 0x9 (media error)
Nov  4 20:54:04 mediaserver kernel: [10893.039207] ata4.01: …
Run Code Online (Sandbox Code Playgroud)

ubuntu badblocks sata hard-disk fsck

17
推荐指数
3
解决办法
2万
查看次数

如何在每次启动时强制 fsck - 所有(相关)文件系统?

我正在使用具有 debian 6 和 3 分区(FAT 和 2x ext2)的无风扇 PC(实际上有数百台)。该系统没有电源按钮,因此大多数人倾向于猛拉插头以“关闭它”而不是 init 0(或等效的)。结果,文件系统很快就会产生错误。

我试过使用 'shutdown -rF' 来强制 fsck 但这似乎不起作用。我想知道是否有某种方法可以告诉系统在挂载之前检查每个挂载点/ FS。

我试过在 /etc/fstab 中设置 fsck 参数。这通常会给我一个“发现错误”。手动运行 fsck '消息。

还有其他选择可以尝试吗?

debian fsck

16
推荐指数
3
解决办法
4万
查看次数

我应该怎么做才能在启动时强制进行根文件系统检查(以及可选的修复)?

昨天,我们的一台计算机掉线了,grub或者说老实说,当我们打开机器时,我不确定它是什么外壳。

它表明由于不一致,它无法挂载根文件系统或某种意义上的东西。

我跑了,我相信:

fsck -fy /dev/sda2
Run Code Online (Sandbox Code Playgroud)

重新启动,问题消失了。

问题部分来了:

我已经在她的 root 的 crontab 中:

@reboot /home/ruzena/Development/bash/fs-check.sh
Run Code Online (Sandbox Code Playgroud)

而脚本包含:

#!/bin/bash
touch /forcefsck
Run Code Online (Sandbox Code Playgroud)

想一想,我不知道,为什么我为这么短的命令创建了脚本文件,但无论如何......

此外,在文件中:

/etc/default/rcS
Run Code Online (Sandbox Code Playgroud)

我已经定义:

FSCKFIX=yes
Run Code Online (Sandbox Code Playgroud)

所以我不明白。怎么会出现这种情况?


我应该怎么做才能在启动时强制进行根文件系统检查(以及可选的修复)?

或者这两件事是我能做的最大的事情吗?

操作系统: Linux Mint 18.x Cinnamon 64 位。

fstab

cat /etc/fstab | grep ext4
Run Code Online (Sandbox Code Playgroud)

显示:

UUID=a121371e-eb12-43a0-a5ae-11af58ad09f4    /    ext4    errors=remount-ro    0    1
Run Code Online (Sandbox Code Playgroud)

grub

fsck.mode=force
Run Code Online (Sandbox Code Playgroud)

已经添加到grub配置中。

linux ext4 fsck

15
推荐指数
2
解决办法
2万
查看次数

fsck 死亡,状态码为 4

在启动时,我的笔记本电脑说:

fsck died with status code 4
Run Code Online (Sandbox Code Playgroud)

手册页告诉我:

fsck 返回的退出代码是以下条件的总和:

[..]

4 - 文件系统错误未得到纠正

当我尝试以 root 身份修复错误时,fsck 说我的磁盘是干净的:

$ fsck /dev/sda1
/dev/sda1, clean [and some things about available blocks]
Run Code Online (Sandbox Code Playgroud)

如何修复我的磁盘?

fsck

14
推荐指数
2
解决办法
4万
查看次数

标签 统计

fsck ×10

ext4 ×4

debian ×2

linux ×2

badblocks ×1

boot ×1

date ×1

filesystems ×1

hard-disk ×1

partition ×1

rhel ×1

sata ×1

sd-card ×1

systemd ×1

ubuntu ×1