总览 SYNOPSIS

fsck [ -sACVRTNP ] [ -t fstype ] [filesys ... ] [--] [ fs-specific-options ]

描述 DESCRIPTION

fsck 通常用来检查并适当修复一个或多个Linux文件系统. filesys 可以是一个设备名(例如: /dev/hdc1, /dev/sdb2), 一个挂载点(例如: /, /usr, /home), 或一个ext2文件系统的磁盘标签, 也可以是UUID指定符(例如: UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root). 通常, fsck 会试着以并行的方式同时在不同的物理磁盘上运行文件系统检查,这样可以减少对所有文件系统进行检查的时间。

如果没有在命令行指定文件系统,并且没有指定 -A 选项, fsck 将默认顺序地检查 /etc/fstab 中登记的文件系统。这和使用 -As 选项是相同的。

fsck 退出的返回值是下列情况之和:
0 - 没有错误
1 - 文件系统有错但已修复
2 - 系统应当重启

4 - 文件系统错误没有修复
8 - 运行错误
16 - 用法或语法错误
32 - 用户撤销了fsck 操作
128
- 共享库出错
当检测多个文件系统时,退出的返回值是对每个文件系统检查的返回值按位或的结果。

实际上, fsck 只是Linux 中不同的文件系统检查器(fsck.fstype)的一个前端。首先,它在
/sbin 中搜索特定文件系统的检查器,然后在 /etc/fs/etc 中搜索,最后在 PATH
环境变量中列出的路径中搜索。请查看特定文件系统的检查器的手册页来获取细节信息。

选项 OPTIONS

-s
顺序地进行 fsck 操作。如果你要检查多个文件系统,并且检查器运行在交互模式,这样作比较有好处。(注意:
e2fsck(8) 默认是以交互方式运行的。要使 e2fsck(8) 以非交互方式运行,你必须指定
-p-a 选项,如果你想要自动纠正错误,或 -n 选项,如果不想自动纠正错误。)
-t fslist
指定要检查的文件系统的类型。当指定了 -A 标志时,只有 fslist 中列出的类型的文件系统会被检查。
fslist 参数是一个以逗号分隔的文件系统类型列表以及选项说明符。可以在这个以逗号分隔的列表的所有文件系统前面加上否定前缀
'no' 或 '!' 来使得只有没有列在 fslist 中的文件系统将被检查。如果并非 fslist
中列出的所有文件系统都加上了否定前缀,那么只有 fslist 中列出的文件系统将被检查。

选项说明符也可能包含在这个以逗号分隔的列表 fslist 中。它们的格式是 opts=fs-option
。如果出现了选项说明符,那么只有在 /etc/fstab 中它们的挂载选项字段中不包含 fs-option
的文件系统将被检查。如果选项说明符有否定前缀,那么只有在 /etc/fstab 中它们的挂载选项字段中包含 fs-option
的文件系统将被检查。

例如,如果 fslist 中出现了 opts=ro 那么只有 /etc/fstab 中,挂载选项包含
ro 的文件系统将被检查。

为了和Mandrake 发行版兼容(它的启动脚本依赖于一个未经许可而对 fsck 程序用户接口作出的改变),如果 fslist
中有一个 loop 文件系统,它被视为指定了 opts=loop 作为 -t 选项的参数。

一般地,文件系统类型是在 /etc/fstab 中通过搜索与 filesys 相应的条目得到的。如果不能这样推知类型,并且
-t 选项只有一个文件系统参数, fsck
将使用指定的文件系统类型。如果不能使用这种类型,将使用默认的文件系统类型(当前是ext2)。

-A
搜索 /etc/fstab 文件,一次检查所有在文件中有定义的文件系统。这个选项典型地用在 /etc/rc
系统初始化文件中,而不使用多条命令来分别检查各独立的分区。

如果没有使用 -P 选项,则根文件系统将第一个被检查。之后,将按 /etc/fstab 文件中第六字段
fs_passno 指定的顺序对各文件系统进行检查。 fs_passno 值为0 的文件系统将被跳过,不会被检查。
fs_passno 值大于0 的文件系统将被按顺序检查, fs_passno 值最小的文件系统将被最先检查。
如果多个文件系统有相同的pass号,fsck将试着并行处理这些文件系统,尽管它不允许在同一个物理磁盘上同时运行多个文件系统检查程序。

因此, /etc/fstab 文件中的一个很普遍的设置是将root文件系统的 fs_passno 设为1,定义其它文件系统的
fs_passno 为2。这样就充许 fsck 程序自动以并行的方式运行文件系统检查,
如果这样有好处的话。系统管理员可能会出于某些原因而不希望并行运行多个文件系统检查--例如,如果内存不够,那么过多的换页会成为系统瓶颈。

-C
如果文件系统检查器支持的话(当前只有ext2),显示进度条。fsck 将管理各文件系统检查器,使得同一时间它们中只能有一个可以显示进度条。
-N
不执行,仅仅显示将执行的操作。
-P
当设置了 -A 标志时,将并行检查root文件系统和其他文件系统。这样是世界上最不安全的做法,因为如果root文件系统有问题,
e2fsck(8) 这样的程序可执行文件将被破坏!这个选项是为不想把root 文件系统分得小而紧凑(这才是正确的做法)的系统管理员准备的。

-R
当使用 -A 标志来检查所有文件系统时,跳过root文件系统 (它可能已经被挂载为可读写)。
-T
启动时不显示标题。
-V
产生冗余输出,包含所有被执行的特定文件系统的命令。
fs-specific-options
fsck 不理解的选项被传递给特定文件系统的检查器。这些选项 决不能 有参数,因为 fsck
不能判断出哪个选项有参数,那些没有。
-- 引导的选项和参数将被当作特定文件系统的选项传给它的检查器。
注意 fsck 没有为传递任意复杂的选项给特定文件系统的检查器而专门设计。如果你要做复杂的操作,请直接执行特定文件系统的检查器。如果你传给
fsck 极其复杂的选项和参数,它没有按照你想要的那样工作, 不要把它报告为一个bug! You're almost
certainly doing something that you shouldn't be doing with fsck.

当前,标准的特定文件系统的选项仍在改进之中。尽管不能保证,还是有下列这些选项可以被大部分文件系统检查器所支持。

-a
不提问,自动修复文件系统(请小心使用此选项)。注意 e2fsck(8) 支持 -a
仅仅是为了向前兼容。这个选项被映射到 e2fsck-p 选项,那比较安全一点,不像大多数文件系统检查器支持的
-a 那样。
-r
交互式地修复文件系统错误(询问确认)。注意: 如果多个 fsck 在并行执行,这不是一个好想法。还要注意 e2fsck
的默认行为;它也只为了向前兼容才保留这个选项。

作者 AUTHOR

Theodore Ts'o (tytso@mit.edu)

文件 FILES

/etc/fstab

环境变量 ENVIRONMENT VARIABLES

fsck 程序的行为受下列环境变量影响:

FSCK_FORCE_ALL_PARALLEL
如果设置了这个环境变量, fsck
将试着并行运行所有指定的文件系统检查,不管这些文件系统是不是在同一设备上。(这对于RAID系统或者高端存储系统比如IBM或者EMC出售的那种很有用)
FSCK_MAX_INST
这个环境变量将限制同时可以运行的文件系统检查器的最大数量。这样使得拥有大量磁盘的系统避免 fsck
一次启动过多文件系统检查器,那样有可能耗尽机器的CPU和内存资源。如果值为0,可以孵化出没有限制的数量的进程,这是当前的默认值。将来版本的
fsck 将试着根据收集操作系统的统计数据,自动判断应当启动多少文件系统检查。
PATH
PATH 环境变量用来查找文件系统检查器。一些系统目录会被最先搜索: /sbin, /sbin/fs.d,
/sbin/fs, /etc/fs, 和 /etc. 然后才搜索 PATH 环境变量中设置的目录集合。
FSTAB_FILE
这个环境变量允许系统管理员指定 /etc/fstab 文件的位置。它也为 fsck 的开发者做测试之用。  

fsck - 检查并修复Linux文件系统的更多相关文章

  1. fsck 工具 ——检查 与修复 Linux系统上的文件系统

    可能由于昨天关电脑断电源的问题, 后来开机,直接出现如下界面: 心里想,不会吧,电脑怎么又出问题了吧(上周的时候,手贱,把装系统的硬盘分区设为了非活动分区,电脑就启动不来了,后来手动引导起来的:): ...

  2. Linux文件系统与磁盘管理

    Linux文件系统与磁盘管理 有哪些文件系统: FAT:微软在Dos/Windows系列操作系统中共使用的一种文件系统的总称.       exFAT(Extended File Allocation ...

  3. 82 fsck-检查与修复 Linux 档案系统

    Linux fsck命令用于 检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统. 语法 fsck [-sACVRP] [-t fstype] [--] [fsck-opt ...

  4. Linux文件系统损坏导致无法正常启动与fsck修复工具

    今天在打开自己的虚拟机学习的时候,发现在文件系统检查过程中出现以下的报错: /dev/mapper/VolGroup-lv_root:UNEXPECTED INCONSISTENCY;RUN fsck ...

  5. Linux文件系统的目录结构

    Linux下的文件系统为树形结构,入口为/ 树形结构下的文件目录: 无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的.各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差 ...

  6. Linux 文件系统的组织方式

    在linux中,一切都看成文件,不管是目录还是设备.所以想要熟练使用Linux,那么对文件的本质和组织结构要有一定的认识. linux系统下使用的设备不用像windows系统下一样创建驱动器磁盘符.l ...

  7. Linux文件系统及常用命令

    Linux文件系统介绍: 一 .Linux文件结构 文件结构是文件存放在磁盘等存贮设备上的组织方法.主要体现在对文件和目录的组织上.目录提供了管理文件的一个方便而有效的途径. Linux使用树状目录结 ...

  8. Linux文件系统的目录结构详解

    Linux文件系统的目录结构详解   一.前 言 文章对Linux下所有目录一一说明,对比较重要的目录加以重点解说,以帮助初学者熟练掌握Linux的目录结构. 二.目 录 1.什么是文件系统 2.文件 ...

  9. 《Linux性能及调优指南》1.3 Linux文件系统

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

随机推荐

  1. 年少和 Smart の日常比赛 R3

    在洛谷上参加了个比赛....写写题解 rank3....共5人...(捂脸 没有注明是官方代码的均是我比赛时本人提交的代码 T1  洗牌 题目描述 小明把 n (n 为偶数)张牌按编号顺序 1, 2, ...

  2. NC文件的处理【netcdf】

    NC是气象领域数据的标准格式之一. 能够更好的存储格点数据. 下面为测试NC文件的读写. git:https://git.oschina.net/ipnunu/nctest pom.xml <p ...

  3. Linux 命令 -- tar

    tar 命令 tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现 ...

  4. Cannot call value of non-function type 'UITextView'报错

    iOS里面的开发,类写到一半就报错这个.后来发现是因为重名的时候召唤对象不明确的问题.先贴代码,晚点再说 出错点 //ヒントをクリアするためのイニシャライザ init (clearStr: UITex ...

  5. C++笔试题(四)

    华为从事通信网络技术与产品的研究.开发.生产与销售,是中国电信市场的主要供应商之一,并已成功进入全球电信市场.每年华为都要在各大高校招聘大批的应界生,特别是华中科技大学.公司网址是:http://ww ...

  6. <TLE>奇偶剪枝hdoj1010

    (奇偶剪枝)转自百度百科,讲的非常棒: http://baike.baidu.com/link?url=3g5bW7LszRVOVvFDFp6cL0ZZnAaOLUdpaNjc2leHoxkKU9Eh ...

  7. sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异

    问题:工作过程中,不管是什么项目,伴随着项目不断升级版本,对应的项目数据库业务版本也不断升级,数据库出现新增表.修改表.删除表.新增字段.修改字段.删除字段等变化,如果人工检查,数据库表和字段比较多的 ...

  8. Java关键字abstract与final总结

    关键字:abstract 用来修饰抽象类与抽象类中的方法 抽象类需要注意的几点: 抽象类不能被实例化.抽象类可以包含属性:方法:构造方法,但是构造方法不能用来new实例,只能被子类调用 有抽象方法的类 ...

  9. [BZOJ3916/WOJ3815]Friends

    题目链接: 传送门 题目: Description 有三个好朋友喜欢在一起玩游戏,A君写下一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到U.现在你得到了U,请你找 ...

  10. Codeforces Round #324 (Div. 2)

    CF的rating设置改了..人太多了,决定开小号打,果然是明智的选择! 水 A - Olesya and Rodion #include <bits/stdc++.h> using na ...