当前位置: 首页 > Web前端 > HTML

fsck详解

时间:2023-03-29 12:45:59 HTML

Linux命令:fsck  功能描述:检查文件系统,尝试修复错误。  语言  方法:fsck-aANPrRsTV[文件系统...]  补充说明:当文件系统出现错误时,可以使用fsck命令尝试修复。  Parameters  Parameters:  -a不询问任何问题自动修复文件系统。  -A根据/etc/fstab配置文件的内容,查看文件中列出的所有文件系统。  文件/etc/fstab存放的是系统中的文件系统信息。当文件设置正确后,就可以使用“mount /directoryname”命令挂载文件系统了。每个文件系统对应一个单独的行,每行中的字段由空格或制表键分隔。同时,fsck、mount、umount等命令都使用了这个程序。  -N不执行命令,只列出实际执行时会执行的动作。  -P与“-A”参数一起使用时,会同时检查所有文件系统。  -r是交互式的,在执行修复时提出问题,允许用户确认并决定要做什么。  -R与“-A”参数一起使用时,将跳过/目录的文件系统,不检查。  -s按顺序执行检查作业,而不是同时执行。  -t<文件系统类型>指定要检查的文件系统类型。  -T执行fsck命令时,不会显示头信息。  -V显示命令执行过程。运行fsck后,该命令将分6个阶段检查文件系统。这六个阶段是:Stage1:检查块和块大小Stage2:检查路径名称Stage3:检查连通性Stage4:检查引用计数Stage5:检查空闲块列表Stage6:修复列表freeblocks----fsck检查每个阶段,如果发现错误,会提示用户修改。一些常见的错误是:1)RemoveAdirectoryentrywithoutrelatedfiles ----此时,用户可以回答Yes或Y来删除目录项。    ----2)Relinkanallocatedbutunaccessiblefile:    ----fsckfoundanallocatedinodebutinaccessible(inodeisnotconnectedtoanydirectory),这时候一般回答Yesto"重新连接?”fsck的,即把I-node连接到lost+found目录下,文件名为I-node编号。之后,管理员应该检查文件类型,确定文件的用途,然后将文件复制到相应的目录。----3)调整连接数    ----在交互模式下,如果fsck发现连接数不一致,会询问用户采取什么措施。实际连接数不一致。----然后用户应回答Yes或Y以更正连接数。    ----4)空闲块表不一致    ----fsck发现未分配块数与superblock中给出的空闲块表不一致。----那么用户应该回答Yes或Y来修改超级块。----从上面的错误信息和处理方法可以发现,fsck提出的问题大多数情况下都可以用Yes来回答,所以在实际应用中,可以使用“-y”选项来执行这条命令更新硬盘检查并修复。  使用fsck检查文件系统完整性  文件系统很复杂,因此容易出错。可以使用fsck命令检查文件系统是否正确有效。它修复了它在命令中发现的小错误,并向用户报告未修复的错误。幸运的是,文件系统的代码非常高效,所以问题很少根本不是问题,问题通常是由电源故障、硬件故障或操作错误(如未正确关闭系统)引起的。大多数系统都设置为在引导时自动运行fsck,因此在使用系统之前会检测到任何错误(并在需要时进行更正)。使用有问题的文件系统会使问题变得更糟:如果数据结构有问题,使用这个文件系统会使问题变得更糟,从而导致更多的数据丢失。当然,在大文件系统上运行fsck可能需要一段时间,如果系统正常关闭,几乎不会出现错误,所以有办法避免检查。如果文件/etc/fastboot存在,则不会检查它。另外,如果ext2文件系统在superblock中有特定的标记,说明该文件系统自上次mount后还没有被正常unmount。版本)不检查系统。/etc/fastboot是否影响系统取决于您的启动脚本,但是当您使用e2fsck时,ext2标志开始发挥作用——基于e2fsck选项(参见e2fsck手册页)    仅自动检查自动检查的文件在启动时安装系统工作。==>?使用fsck手动检查其他文件系统,例如软盘。  1.fsck  fsck可以说是使用最多的工具(超过90%被系统本身使用)。就是FS完整性检查,包括supblk、cylgrpblk、inode.tab、数据区等,检查的原则是:冗余发。维修时,根据实际情况调整记录的信息。  lost+founddirectory:fsck时,将找不到父目录的文件复制到该目录下,并以i节点号作为文件名。  系统启动时,会使用fsck扫描文件系统,并报告扫描结果。例如:/dev/rdsk/c0t0d0s7stable等。  后面是Fs的状态。其中clean表示umount后没有人使用文件系统,stable表示文件系统已经被使用,但是是完整的,好吧。而如果很多,有碎片%之类的,都说明文件系统乱七八糟,进系统后应该用fsck整理一下。说到这里,想说说非法关机后重启的很多情况(各种原因),以上是一种情况,最坏的是系统只能进入但是用户态,最坏最重要的是连单用户状态都进不去(肯定是/和/usr区有问题,这是因为如果fsck扫描不到/区,系统当然会启动失败,调用的一些函数库byfsckarein/usrOn...)  当系统的状态是clean,stableandlogging(logging??不知道的话,看一节课)fsck不运行。    2。fsck的使用  本课三个参数:  -of强制检查系统,不管系统是否处于clean状态  -op非交互式检查和修复文件系统,有问题立即退出  -ob=xx用于修复超级块的错误,即将备份的超级块内容复制到超级块中。Solaris非常重视超级块。它有很多备份。一般b=32就够了。如果没有,可以使用命令newfs-N/dev/rdsk/cxtxdxsx查看超级块的位置。任何备份块都可以使用    3.一些错误情况  1.RECONNECT  表示目录丢失,可以存入lost+found中进行传输。回答是  2.SUPERBLK坏了(注意是坏的,不是错的)  修复见上(错了可选,修不修)  3.CLEAR  deletei个节点,可能是错的  4.REMOVE  删除文件,一般给文件名。file=....  5.ADJUST  调整连接数。实际数字与原始记录不符。回答是  六、SALVAGE====>?  freelist计数不正确。回答yes  (题外话:其实我以前一般都是用yes,书上说不能对正在挂载的文件系统进行操作,否则可能会损坏文件系统。不过我没遇到过使用fsck会报错,不过还是建议大家规范操作,不然写错了就别来找我了。尤其是考试的时候,参考链接:CheckFilesystemwithFsckCommandinLinux