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

可能由于昨天关电脑断电源的问题, 后来开机,直接出现如下界面:

心里想,不会吧,电脑怎么又出问题了吧(上周的时候,手贱,把装系统的硬盘分区设为了非活动分区,电脑就启动不来了,后来手动引导起来的;);

我仔细一个文字提示,需要让我在 initramfs 上手动运行一下 fsck 工具, 直接搜了一下什么是 fsck 工具,原来是用于检查与修复 文件系统的;      运行了以下命令,并且过程中的文字提示下,一直按 yes ,然后就修复成功了;

fsck -t ext4 /dev/sda1

既然如此,就有必要了解一下 这个工具的作用, 下面内容直接来自: man fsck 的中文版: (fsck 就是 filesystem chek 的缩写)

man fsck 的中文版:

FSCK(8)                                                   System Manager‘s Manual                                                   FSCK(8)

NAME
       fsck - 检查并修复Linux文件系统

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

描
       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 环境变量中列出的路径中搜索。请查看特定文件系统的检查器的手册页来获取细节信息。

选
       -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 极其复杂的选项和参数,它没有按照你想要的那样工作, 不
              you shouldn‘t be doing with fsck.

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

       -a     不提问,自动修复文件系统(请小心使用此选项)。注意   e2fsck(8)   支持  -a  仅仅是为了向前兼容。这个选项被映射到  e2fsck  的  -p
              选项,那比较安全一点,不像大多数文件系统检查器支持的 -a 那样。

       -r     交互式地修复文件系统错误(询问确认)。注意:       如果多个       fsck       在并行执行,这不是一个好想法。还要注意       e2fsck
              的默认行为;它也只为了向前兼容才保留这个选项。

作者 AUTHOR
       Theodore Ts‘o ([email protected])

文件 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 的开发者做测试之用。

参见 SEE ALSO
       fstab(5), mkfs(8), fsck.minix(8), fsck.ext2(8) 或者 e2fsck(8), fsck.xiafs(8).

[中文版维护人]
       袁乙钧 <[email protected]>

[中文版最新更新]
       2003.11.01

《中国linux论坛man手册页翻译计划》:
       http://cmpp.linuxforum.net

E2fsprogs version 1.34                                           July 2003                                                          FSCK(8)

完;

时间: 2024-11-15 20:59:18

fsck 工具 ——检查 与修复 Linux系统上的文件系统的相关文章

df 显示目前在Linux系统上的 文件系统的磁盘使用情况

Linux系统: df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 应用场景:检查磁盘内存使用状态,便于清理磁盘 语法:df [选项] [file] 中括号代表可选可省略项 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示 常用命令: df -m | grep /LMONAM df -h --t

在linux系统上建文件系统,建用户,修改用户所属组,重置用户密码

在linux系统上建文件系统,建用户,修改用户所属组,重置用户密码 实验背景:用户及空间 用户名:bosswlb    组别和附属组: bosswlb      主目录:/bosswlb            Shell:bash 空间: 新增    (新增/扩容) 5G   ■解锁  ■密码重置 abcd1234 第一点:建立新的文件系统 我们先来看下系统上现有的文件系统,如下图所示: 下面开始增加一块大小为5G的新盘,使用下面任意一个命令可以扫到新盘: 1.#echo '- - - '> 

Linux系统上的文本处理工具

Linux系统上的文件处理工具 我们都知道在计算机中,存在大量的文件,这些文件中包含大量的信息.可是有些时候,为了工作的效率,我们在茫茫信息中提取出我们所需要的信息,这样的技能就显得尤为重要.Linux系统上为我我们提供了多种多样的文本处理工具,下面我们来简单说一下. 查看文件内容我们可以使用less命令,cat命令,more命令等等 cat cat [OPTION]... [FILE]... -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有控制符 -b:非空行编号 -s

Linux系统上的特殊权限SUID,SGID,STICKY以及额外权限管理工具facl命令

Linux系统上的特殊权限 特殊权限:SUID, SGID, STICKY 安全上下文: 1.进程以某用户的身份运行:进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作: 2.权限匹配模型: (1) 判断进程的属主,是否为被访问的文件属主:如果是,则应用属主的权限:否则进入第2步: (2) 判断进程的属主,是否属于被访问的文件属组:如果是,则应用属组的权限:否则进入第3步: (3) 应用other的权限: SUID: 默认情况下:用户发起的进程,进程的属主是其发起者:因此,其以发起

在 Linux 系统上源码安装 GTK+ 2.0

在 Linux 系统上源码安装 GTK+ 2.0==================================================Keywords: GTK+, Install, Linux, SourceAuthor:       whyglinux (whyglinux AT hotmail DOT com)Date:          2007-01-07==================================================目录0. 前言1.

Linux系统上命令的使用格式

简述: 在学习Linux系统时,必不可少的要接触命令的使用方法和格式,下面通过详细介绍ifconfig.echo.tty.startx.export.pwd.history.shutdown.poweroff.reboot.hwclock.date等Linux常用命令的使用方法,来了解Linux系统上命令的使用格式. 正文: Linux系统命令使用格式: #COMMAND  [OPTIONS...]  [ARGUMENTS...] COMMAND :命令:一个可执行的二进制程序文件 OPTION

linux系统上安装paramiko模块

Linux系统上安装paramiko模块要求python要是2.7以上的,所以在安装模块之前应该安装python2.7(这里的安装过程略去) 在安装setuptools的时候突然报错了,RuntimeError:Compression requires the (missing) zlib module原因是因为没有安装zilb和zlib-devel包. yum install zlib yum installzlib-devel 安装完成后,重新编译 python2.7[不需要删除,只需要重新

linux系统上传下载文件的方法

linux系统上传.下载文件的方法有很多种,最常见的有ftp(需要安装ftp软件及配置),这里不做介绍, 下面介绍我常用的两种方式: 1.sftp方式(通过SecureCRT工具的ssh服务传输): 1.打开CRT工具自带的sftp(通过Alt+P命令打开),如图: 默认进入当前用户的家目录,可以自行cd命令切换到上传.下载的目录(windows操作文件系统需要在命令前加 l 参数,如lcd e:\到E盘根目录,lls列出根目录下的文件),上传通过put 加文件名,下载通过get 加文件名) 2

在linux系统上怎么获取命令的帮助信息及man文档划分

如何在linux系统上获取命令的帮助信息及man文档的章节划分 1.命令 -- help 2.man 命令 后者更加详细 首先帮助中尖括号<>和方括号[]以及省略号...的含义, 在方括号内的表达式("[" 和 "]"之间的字符)是可选的(写命令时要去掉括号). 在尖括号内的表达式("[" 和 "]"之间的字符)是必须替换的表达式(而且要去掉括号). 省略号表示该选项可以单个或多个 以7z的参数为例: 7z [..