e2fsck 中文手册
原文:http://www.jinbuguo.com/man/e2fsck.html
名称
e2fsck - 检查 Linux ext2/ext3/ext4 文件系统
语法
e2fsck [ -pcnydfkvtDFV ] [ -b superblock ] [ -B blocksize ] [ -l|-L bad_blocks_file ] [ -C fd ] [ -j external-journal ] [ -E extended_options ] device
描述
e2fsck 用于检查 ext2/ext3/ext4 系列文件系统。对于带有日志的 ext3/ext4 文件系统来说,如果系统的不恰当关闭(例如掉电)并未造成文件系统错误,在重放日志中的已提交事物之后,文件系统就可以被标记为"正确无误"了。因此,对于日志型文件系统,e2fsck 通常只需要重放日志后退出即可。
不过在少数情况下,超级块会明确指示需要 e2fsck 做更深入的检查。
device 是将要被检查的文件系统所在的设备(例如 /dev/sdc1)
一般说来在已挂载的文件系统上运行 e2fsck 是危险的,唯一的例外是使用了 -n 且没有使用 -c, -l, -L 选项的时候。
不过,即便如此,此时的检查结果也是不可信的。所以归根结底一句话:不要在已挂载的分区上使用 e2fsck 。
当 e2fsck 询问是否要对一个已挂载的文件系统进行检查时,你应当总是回答"no",除非你是文件系统专家。
选项
-b superblock
使用这里指定的 superblock 代替默认的超级块。一般用于主超级块被破坏的场合。
备份超级块的位置取决于文件系统的块尺寸。块尺寸为 1k 的,备份超级块位于 block 8193 ;
块尺寸为 2k 的,备份超级块位于 block 16384 ;块尺寸为 4k 的,备份超级块位于 block 32768 。
可以通过 -n 选项打印出超级块的位置,从而确定是否存在额外的备份超级块。
注意:-b 选项的参数必须精确符合 -n 选项打印出的超级块位置。
如果指定了替代超级块并且文件系统并未处于只读状态,e2fsck 能够确保在检查完成之后,正确更新主超级块。
-B blocksize
通常,e2fsck 将会自己尝试确定超级块的尺寸,但偶尔会出错。这个选项可以用来强制指定超级块的尺寸。
如果未找到超级块,e2fsck 将会返回一个错误信号。
-c 要求 e2fsck 使用 badblocks(8) 工具来进行一次只读扫描,并将发现的坏块标记为不可用状态。
如果这个选项被指定了两次,那么将使用"读-写"模式进行坏块测试。
-C fd 要求 e2fsck 将进度信息写入文件描述符(fd),主要用于调用 e2fsck 的程序监视检查进度。
如果 fd 是个负数,那么将使用其绝对值并且隐去进度信息。随后可以再向 e2fsck 进程发送 SIGUSR1 信号开启。
如果 fd 是 0 ,那么 e2fsck 将会打印出进度条,前提是 e2fsck 必须运行在可视化的控制台或终端上。
-d 打印调试输出。仅供调试 e2fsck 自身之用。
-D 对文件系统上的所有目录进行最优化:或者对这些目录进行重新索引,或者排序并压缩小型目录,或使用传统的线性目录。
即使没有使用 -D 选项,e2fsck 有时候也会优化某些目录。-D 的目的在于强制优化所有目录。
不过在实践中,很少需要使用此选项。
-D 选项还会检测同目录下重名的目录项,这个动作在未指定 -D 的情况下一般是不执行的(因为比较耗时)。
-E extended_options
设置 e2fsck 的扩展选项。这些扩展选项之间使用逗号分隔,并且其中的选项还可以使用等号(=)接受参数。
目前可以接受的选项如下:
ea_ver=extended_attribute_version
指定文件系统的扩展属性块格式版本。可选值是1或2(默认)。
journal_only
除了重放日志之外,不进行任何进一步的检查。
fragcheck
在 pass 1 阶段,打印出文件系统上所有文件碎片的详细报告。
discard
如果在完成全部检查之后(pass 5)没有发现任何错误,那么就释放所有无用的文件块和inode块。
这对于SSD(固态硬盘)和sparse/thin-provision设备(CONFIG_DM_THIN_PROVISIONING)很有益处。
由于 e2fsck 并不总能返现所有问题,所以使用此选项有可能会让你失去将来手动恢复数据的机会。
nodiscard
与 discard 选项相反,不释放任何无用的文件块和inode块。这是默认值。
-f 即使文件系统看上去没有问题也强制检查一遍。
-F 在开始检查之前强制刷新该设备的缓冲区。仅对 e2fsck 耗时测试(time trial)时才有实际意义。
-j external-journal
设置存放此文件系统外部日志的路径。
-k 与 -c 选项连用,以保留坏块列表中所有的坏块,并且将 badblocks(8) 工具发现的所有坏块都添加到坏块列表中去。
-l filename
将 filename 中列出的块编号添加到文件系统的坏块列表中去,格式与 badblocks(8) 的输出格式相同。
注意,因为块编号(block number)与文件系统的块尺寸(blocksize)紧密相关,所以,必须告诉 badblocks(8) 准确的文件系统块尺寸,才能得到正确的块编号。
建议将此选项与 -c 选项连用,因为这可以确保向 badblocks(8) 传递正确的参数。
-L filename
用 filename 中列出的块编号覆盖文件系统的坏块列表。
此选项与 -l 类似,不同之处在于执行的是覆盖操作而不是追加操作。
-n 以只读方式打开文件系统,并且强制对所有问题的回答都是'no',从而允许 e2fsck 以非交互方式操作。
该选项不能与 -p 或 -y 选项同时使用。
-p 自动修复所有发现的可安全修复的错误。
如果某个错误必须要人工干预才能修复,那么 e2fsck 将打印出问题的详细描述,
并在退出码中包含数字4的比特位(参见"退出代码"小节)。
这个选项常用于系统的启动脚本,并且不能与 -n 或 -y 选项一起使用。
-t 打印出 e2fsck 执行时间统计信息。如果连续使用两次,则会为每个阶段(pass)都显示执行时间统计信息。
-v 啰嗦模式。也就是打印出检查过程的详细信息。
-V 显示版本信息后退出
-y 对所有问题都强制使用'yes'进行回答,这样就允许 e2fsck 以非交互方式操作。
该选项不能与 -p 或 -y 选项同时使用。
退出代码
退出代码可以是下面的数字的比特位叠加
- 0 - 没有错误
- 1 - 文件系统错误已被纠正
- 2 - 文件系统错误已被纠正,但必须重启系统
- 4 - 有未修正的文件系统错误
- 8 - 操作错误
- 16 - 用法或者语法错误
- 32 - 被用户中途取消操作
- 128 - 共享库错误
信号
可以向 e2fsck 发送的信号及其效果。
SIGUSR1
要求 e2fsck 开始显示进度条或输出进度信息(参见 -C 选项)
SIGUSR2
要求 e2fsck 停止显示进度条或输出进度信息(参见 -C 选项)
参见
e2fsck.conf(5), badblocks(8), dumpe2fs(8), debugfs(8), e2image(8), mke2fs(8), tune2fs(8)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: fstrim 中文手册
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论