基础命令学习目录首页

本文出自 “airfish2000” 博客,更多命令查看博客:

http://airfish2000.blog.51cto.com/10829608/1880801

 

fsck命令

使用fsck命令可以检查文件系统并尝试修复系统的错误。

命令语法:

fsck [选项] [文件系统]

命令中各选项的含义如表所示。

表                                fsck命令选项含义

选项

含义

-a

自动修复文件系统,不询问任何问题

-A

按照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统

-N

不执行命令,仅列出实际执行会进行的动作

-P

当搭配-A选项使用时,则会同时检查/目录的文件系统

-r

采用交互模式,在执行修复时询问,让用户确认并决定处理方式

-R

当使用-A选项检查所有文件系统的时候,跳过/目录的文件系统

-t <文件系统类型>

指定要检查的文件系统类型

-C

显示完整的检查进度

-y

关闭互动模式

-c

检查坏块,并将它们添加到坏块列表

-p

自动修复文件系统错误

-f

强制检查,即使文件系统被标记干净

例:检查磁盘分区/dev/sda5的文件系统。

[root@rhel ~]# fsck /dev/sda5

例:强制检查磁盘分区/dev/sda5的文件系统

[root@rhel~]# fsck -f /dev/sda5

fsckfrom util-linux-ng 2.17.2

e2fsck1.41.12 (17-May-2010)

第一步:检查inode,块,和大小

第二步:检查目录结构

第3步:检查目录连接性

Pass4: Checking reference counts

第5步:检查簇概要信息

/dev/sda5:12/6561792 files (0.0% non-contiguous), 459863/26215641 blocks

例:检查和修复磁盘分区/dev/sda5的文件系统,在执行修复时进行询问,让用户决定处理方式,显示详细修复过程。

[root@rhel ~]# fsck -rV -t ext4 /dev/sda5

例:检查磁盘分区/dev/sda5的文件系统,并显示完整的检查进度。

[root@rhel ~]# fsck -C -t ext4/dev/sda5

例:检查磁盘分区/dev/sda6的msdos文件系统的是否正常,如果有异常便自动修复。

[root@rhel ~]# fsck -t msdos -a/dev/sda6

个人分类: linux运维
 

功能说明:检查文件系统并尝试修复错误。
语  法:fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...]
补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。
注意:千万不能在运行的系统上面直接执行fsck,特别是RHEL6.0以下ext3的文件系统,否则100%损坏根文件系统,使用fsck -y /dev/sdb1 修复磁盘时,必须将sdb1分区umount掉
参  数:
-a 自动修复文件系统,不询问任何问题。
-A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。
-N 不执行指令,仅列出实际执行会进行的动作。
-P 当搭配"-A"参数使用时,则会同时检查所有的文件系统。
-r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。
-R 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。
-s 依序执行检查作业,而非同时执行。
-t<文件系统类型> 指定要检查的文件系统类型。
-T 执行fsck指令时,不显示标题信息。
-V 显示指令执行过程。
fdisk -l 查看设备号
运行 fsck -y /dev/sdb1 修复磁盘  -y参数为自动确认修复
这条命令也是用fsck修复磁盘是,常使用的命令

特别说明:在EXT3(实际上其他文件系统也类似)无法mount,或者提示fsck时,如果有重要数据,应该慎重对待,千万不可贸然执行"fsck -f -y "这样的自动修复功能。如果可能,先对故障区域做dd全镜像后再执行,或者以只读方式执行,并仔细看修复过程,如果提示大量inode错误、需要重建树、或大小不对等就不可再继续下去了。

Linux ext3 fsck一定要慎用

不管是哪种文件系统,其根本目的都是相同的:如何把文件存在系统给定的区域里,如何有效地管理文件的读与写。为实现这样的目的,驱动层需要完善、周密地应付附加在文件系统上的各种操作。这些操作通常不会是一条指令完成的,如果一个过程需要多条指令完成,在执行这些操作时,全部指令未完成的情况下产生中断,那这个文件系统便会出现一致性错误(或者叫连续性错误)。

为了保证尽可以少的出现一致性错误,现在主流的文件系统都会设计成日志型的。日志型文件系统的主要特点就是把一个操作的所有指令执行过程都另外缓冲下来,如果全部执行完成再清除日志标志,如果操作没有执行完成,可以在重新激活后通过日志回溯或继续完成。

EXT3的日志功能通过在EXT2的设计基础上增加一个特殊的文件(通常是8号节点文件),在这个文件中记录文件系统的操作过程。但EXT系统文件系统本身在节点、间接索引块、目录节点方面没有冗余保护,所以当文件系统除日志外的其他结构并不一致,却又要通过fsck来进行修复,这种一致性有可能将原本正确的结构也错误化。(就像原来是1+2=3,现在错成了1+3=3,也许改完后变成了1+3=4,就完全没办法还原成最早的1+2=3)。

数据恢复领域经常会遇到这类情况:一次RAID出故障后,下次启动系统提示做fsck,但做完后,也无法mount分区或者mount 分区后数据全是错的。需要对这类情况进行数据修复的难度是很大的,从一个完整的结构(fsck后实际上从系统角度看已经是完整的了)再构建另一个完全不同的结构要比修正一个错误的结构更难以下手。其实这类情况,很多是因为RAID5有早离线的盘加入了两个逻辑磁盘组,导致所有的数据流是以新+旧的方式交错组成的,自然会有太多错误。这时候如果做fsck后,有可能数据都无法恢复了。

所以,在EXT3(实际上其他文件系统也类似)无法mount,或者提示fsck时,如果有重要数据,应该慎重对待,千万不可贸然执行"fsck -f -y "这样的自动修复功能。如果可能,先对故障区域做dd全镜像后再执行,或者以只读方式执行,并仔细看修复过程,如果提示大量inode错误、需要重建树、或大小不对等就不可再继续下去了。

原文链接:https://blog.csdn.net/ggxiaobai/article/details/53505118

补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。
注意:千万不能在运行的系统上面直接执行fsck,特别是RHEL6.0以下ext3的文件系统,
      否则100%损坏根文件系统,使用fsck -y /dev/sdb1 修复磁盘时,必须将sdb1分区umount掉

fdisk -l 查看设备号
运行 fsck -y /dev/sdb1 修复磁盘  -y参数为自动确认修复
这条命令也是用fsck修复磁盘是,常使用的命令
特别说明:在EXT3(实际上其他文件系统也类似)无法mount,或者提示fsck时,如果有重要数据,应该慎重对待,千万不可贸然执行"fsck -f -y "这样的自动修复功能。如果可能,先对故障区域做dd全镜像后再执行,或者以只读方式执行,并仔细看修复过程,如果提示大量inode错误、需要重建树、或大小不对等就不可再继续下去了。

---------------------
作者:selina361
来源:CSDN
原文:https://blog.csdn.net/selina361/article/details/79784698
版权声明:本文为博主原创文章,转载请附上博文链接!

fsck命令详解的更多相关文章

  1. Linux fsck命令详解

    fsck(file system check)用来检查和维护不一致的文件系统.若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查. fsck常见命令参数 -a:自动修复文件系统,不询问任何 ...

  2. 【转】centos关机与重启命令详解

    连接:http://blog.csdn.net/jiangzhengdong/article/details/8036594 Linux centos关机与重启命令详解与实战 Linux centos ...

  3. Cent os关机与重启命令详解

    Cent OS关机与重启命令详解 分类: Linux2012-10-02 14:06 5553人阅读 评论(0) 收藏 举报 centoslinuxsignallogin工作windows Linux ...

  4. Git命令详解

    一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...

  5. CentOS_关机与重启命令详解

    Linux centos关机与重启命令详解 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过 ...

  6. (转)tune2fs命令详解

    tune2fs命令详解(原创) 原文:http://czmmiao.iteye.com/blog/1749232 tune2fs简介 tune2fs是调整和查看ext2/ext3文件系统的文件系统参数 ...

  7. centos、linux关机与重启命令详解

    Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 1 ...

  8. centos关机与重启命令详解

    Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot   普通重启 2.shutdown -r now 立刻重启(root用户使用) 3.shutdo ...

  9. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

随机推荐

  1. sqlmap参数

    sqlmap -u “http://url/news?id=1" –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id= ...

  2. Metronic前端模板

    Metronic前端模板是我现在公司正在使用的,觉得还是蛮强大,最重要的是只要有Bootstrap的使用经验或者HTML.CSS.JS基础足够好,完全可以玩转它. 当然了,就算不好也没有关系,对于使用 ...

  3. DRCNN超分辨重建2016年

    论文疑点: Embedding层是怎么操作的? https://gshtime.github.io/2018/06/01/tensorflow-embedding-lookup-sparse/ 这篇文 ...

  4. Luogu五月月赛

    首先,到此为止,我只会\(t1\).\(t2\) T1: \(\color{red}{Description}\) \(Alice\) 和 \(Bob\) 在玩游戏. 他们有 \(n\) 堆石子,第\ ...

  5. EF 解除属性映射到数据库中 NotMappedAttribute无效解决办法

    可以通过NotMappedAttribute标记模型某个属性可以使该属性不必映射到数据库. public class Unicorn { public int Id { get; set; } [No ...

  6. 【git2】git+码云+webStrom

    在[git1]中介绍了Git的安装.webstrom配置Git和GitHub.GitHub项目上传下载的方法. 这篇将一下在[git1]步骤(一)基础上webstorm配置码云 实现项目的上传下载. ...

  7. 1025 反转链表(链表,reverse)

    题目: 给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转.例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4:如果 K 为 4,则 ...

  8. bootstrap-treeview使用

    1.数据 var tree = [{ text: "车型A", nodes: [{ text: "车系1", }, { text: "车系2" ...

  9. 使用maven构建scala项目

    eclipse安装scala插件和m2e-scala并不是支持的很好,因此使用maven创建scala工程的时候,IDEA可谓是最好的开发利器. 1. 创建工程之前的准备 2. IDEA界面创建Sca ...

  10. IntelliJ IDEA教程之如何clean或者install Maven项目

    一.前言 Eclipse中如果我们想clean或者install工程,我们只需要右键工程,然后找到run->Maven install 或者run->Maven clean就可以了,但是I ...