Linux中的Fsck命令(修复文件系统)

2023-11-08

fsck(文件系统检查)是一种命令行实用程序,允许您在一个或多个 Linux 文件系统上执行一致性检查和交互式修复。它使用特定于其检查的文件系统类型的程序。

您可以使用fsck命令用于在系统无法启动或无法安装分区的情况下修复损坏的文件系统。

在这篇文章中,我们将讨论fsck命令。

如何使用fsck #

The fsck命令采用以下一般形式:

fsck [OPTIONS] [FILESYSTEM]

仅 root 或具有以下权限的用户sudo特权可以清除缓冲区。

When no FILESYSTEM作为参数提供,fsck检查列出的设备fstab file.

永远不要跑fsck在已安装的分区上,因为它可能会损坏文件系统。始终在尝试检查或修复文件系统之前unmount首先。

The fsck命令是各种 Linux 文件系统检查器的包装器(fsck.*)并根据文件系统的类型接受不同的选项。

查看手册页以获取有关特定检查器的更多信息。例如,要查看可用的选项fsck.ext4, type:

man fsck.ext4

修复损坏的文件系统#

最简单的用例fsck命令是修复非 root 损坏的 ext3 或 ext4 文件系统。

  1. 如果您不知道设备名称,请使用fdisk, df,或任何其他工具来查找它。

  2. 卸载设备:

    sudo umount /dev/sdc1
  3. Run fsck修复文件系统:

    sudo fsck -p /dev/sdc1

    The -p选项告诉fsck自动修复任何无需用户干预即可安全修复的问题。

  4. 文件系统修复后,挂载分区:

    sudo mount /dev/sdc1

修复根文件系统#

fsck无法检查正在运行的计算机上的根文件系统,因为无法卸载它。

如果您想检查或修复根文件系统,您有多种选择。您可以设置fsck要在启动时运行,请以恢复模式启动系统,或使用 Live CD。

To run fsck在恢复模式下:

  1. 进入启动菜单并选择高级选项
  2. 选择恢复模式,然后选择“fsck”。
  3. 当提示重新安装根文件系统时,选择“是”。
  4. 完成后,恢复正常启动。

To run fsck来自实时分发:

  1. 启动实时分发。

  2. Use fdisk or parted查找根分区名称。

  3. 打开终端并运行:

    sudo fsck -p /dev/sda1
  4. 完成后,重新启动实时分发并启动您的系统。

启动时检查文件系统#

在大多数 Linux 发行版上,fsck如果文件系统被标记为脏或经过一定次数的引导或时间后,则在引导时运行。

要查看特定分区的当前安装计数、检查频率数、检查间隔以及上次检查时间,请使用tune2fs tool:

sudo tune2fs -l /dev/sdc1 | grep -i 'last checked\|mount count'
Mount count:              292
Maximum mount count:      -1
Last checked:             Tue Jul 24 11:10:07 2018
Check interval:           0 (<none>)
  • “最大挂载计数”是检查文件系统后的挂载次数。的价值0 or -1意思是fsck永远不会跑。
  • “检查间隔”是两次文件系统检查之间的最长时间。

例如,如果您想运行fsck每 25 次引导(安装)后,输入:

sudo tune2fs -c 25 /dev/sdc1

您还可以设置两次检查之间的最长时间。例如,要将其设置为一个月,您可以运行:

sudo tune2fs -i 1m /dev/sdc1

强迫fsck要在 SystemD 发行版上启动时运行,请传递以下内核启动参数:

fsck.mode=force
fsck.repair=yes

在较旧的发行版上fsck将在启动时运行,如果/forcefsck文件存在:

sudo touch /forcefsck

fstab选项#

fstab是一个配置文件,告诉系统如何以及在哪里安装分区。

The /etc/fstab文件包含以下形式的条目列表:

/etc/fstab
# [File System] [Mount Point] [File System Type] [Options] [Dump] [PASS]
/dev/sda1       /             ext4               defaults  0      1
/dev/sda2       /home         ext4               defaults  0      2
server:/dir     /media/nfs    nfs                defaults  0      0

最后第六列([PASS]) 是控制重新引导时执行文件系统检查的顺序的选项。

  • 0- 不检查。
  • 1- 首先检查文件系统,一次检查一个。
  • 2- 稍后检查并可能并行检查的所有其他文件系统。

根文件系统的值应为1,并且您想要检查的所有其他文件系统的值应为2.

结论#

fsck是一个用于检查和选择性修复 Linux 文件系统的命令行工具。

要了解更多有关fsck命令,访问fsck man页面或类型man fsck在您的终端中。

如果您有任何问题或反馈,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux中的Fsck命令(修复文件系统) 的相关文章

随机推荐

  • 如何在 Vim 中删除行

    Vim 是一款流行的文本编辑器 以其强大而高效的编辑功能而闻名 编辑文本时最常见的任务之一是删除行 在 Vim 中 有多种删除行的方法 从删除单行到删除文件中的所有行 在本文中 我们将探讨如何在 Vim 中删除行 包括删除一行 删除一系列行
  • 如何使用 Apt 解决过期密钥 (EXPKEYSIG)

    在使用 apt 软件包管理器更新 apt cache 或软件包安装期间 我收到签名过期消息 EXPKEYSIG 8C718D3B5072E1F5 这意味着 gpg 签名密钥已过期 Error 这是我的 Debian 9 系统上的日志 sud
  • 如何在 macOS 上在 Zsh 和 Bash 之间切换:综合指南

    在 macOS 上 Zsh 和 Bash 之间的无缝切换 综合指南 中 我们探讨了在 macOS 系统上使用两种流行的 Unix shell Zsh 和 Bash 的细微差别 随着 macOS Catalina 的推出 Apple 从使用
  • 在 Bash 中循环访问一系列数字

    循环访问一系列数字是脚本和编程中的常见任务 在本文中 我们将探索使用 Bash 一种用于基于 Unix 系统的强大脚本语言 循环遍历一系列数字的各种方法 掌握这些技术将帮助您轻松高效地自动化任务 处理数据并执行复杂的操作 目录 巴什简介 对
  • 从运行容器到 Docker Hub:分步指南

    Docker 彻底改变了开发人员对软件部署和环境一致性的思考方式 Docker 生态系统中常见的一种情况是 修改正在运行的容器并希望保留这些更改以供将来使用或分发 这可能用于故障排除 测试修改或只是想共享特定的环境设置 实现此目的的最佳方法
  • JavaScript中如何检查字符串是否包含子字符串

    JavaScriptindexOf 方法在字符串中搜索子字符串并返回指定子字符串第一次出现的位置 如果没有找到子字符串 则返回 1 因此 您可以使用 JavaScript IndexOf 方法来检查字符串中是否包含子字符串 在本教程中 我们
  • 10 个快速 Apache 优化技巧

    在当今的数字化世界中 网站性能对于成功至关重要 缓慢的网站不仅会影响用户体验 还会对搜索引擎排名产生潜在影响 并最终影响您的利润 在影响网站性能的众多因素中 网络服务器软件的作用怎么强调都不为过 Apache HTTP Server 是使用
  • “/etc/profile.d/”目录在 Linux 中的作用是什么

    在 Linux 操作系统的广阔前景中 了解各种系统目录的复杂性是有效系统管理的关键 Linux 目录结构包含一组目录 每个目录都有独特的用途 其中包括 etc profile d 目录 该目录在系统配置中起着至关重要的作用 为系统启动期间的
  • 如何在 Fedora 37/36/35 上安装 Gulp.js

    Gulp是一个工具包 可帮助开发人员在开发过程中实现痛苦工作流程的自动化 本教程将帮助您在 Fedora 操作系统上安装 Gulp js 第 1 步 安装 Node js 首先 你需要安装node js在您的系统上 使用以下命令集在 Fed
  • 如何在Linux命令行中检测桌面环境

    有多个选项可用于识别 Linux 桌面上正在运行的桌面环境 这里我们讨论两个常用的选项 首先 执行以下命令检查桌面环境的名称 echo XDG CURRENT DESKTOP 此外 您还可以通过检查当前正在运行的进程来识别桌面 像下面的命令
  • 如何使用 SFTP 安全下载和上传文件

    SFTP SSH 文件传输协议 是在本地和远程服务器之间传输文件的安全协议 到远程系统上运行的所需 SSH 服务器 该协议对本地和远程系统之间的数据传输进行加密 由于SFTP提供安全的数据传输 因此我们推荐使用FTP协议 建议使用 SFTP
  • Bash 函数使用初学者指南!

    Bash 函数是对经常一起使用的一系列命令进行分组的便捷方法 它们允许您重用代码 使您的脚本更有条理且更易于阅读 并且无需一遍又一遍地键入相同的命令 从而节省您的时间 要在 Bash 中创建函数 请使用 function 关键字 后跟函数名
  • 如何在 MySQL 表上创建、列出或删除索引

    索引对于改进数据库表的搜索查询非常有用 例如 您正在具有数百万条记录的数据库表中搜索特定记录 您会发现 在具有索引的表上进行搜索查询所花费的时间非常少 创建索引 这将在 mysql 表上创建索引 这也将允许重复值 CREATE INDEX
  • 在 Bash 中检查变量是否包含数字

    数字是 0 9 数字的组合 Bash 变量以字符串的形式存储所有值 即使存储的值是字符串格式 如果存储的值是有效的数字 我们也可以执行所有算术运算 作为最佳实践 我们应该在执行算术运算之前验证变量的值 数字可以是整数 浮点数或带有 和 符号
  • “按任意键继续...”的 Bash 示例

    在本文中 我们将探讨在 Bash 脚本中检测按键的技术以及如何让脚本在继续之前等待用户输入 当开发在执行特定操作之前需要用户交互或确认的交互式 shell 应用程序时 此技能至关重要 目录 Bash 中按键检测简介 使用 读取 命令 检测特
  • 如何在 Ubuntu 18.04 和 16.04 上安装 AnyDesk

    AnyDesk 是一款与 TeamViewer 类似的出色的远程桌面应用程序 您可以说它是 TeamViewer 的替代品 它是免费提供的 Anydesk 提供比任何其他现有远程桌面应用程序更快的远程连接 就我个人而言 我也很喜欢它并使用它
  • 如何在 Linux 命令行中检查 Python 版本

    Python 是由 Guido van Rossum 创建的一种高级通用编程语言 它于 1991 年首次发布 通常 基于 Linux 的发行版都预装了 Python 版本 本教程将帮助您使用命令行查找 Linux 系统上安装的当前 Pyth
  • 如何在 Linux 上安装 Mencoder 和 MPlayer

    Mencoder是 MPlayer 媒体播放器的配套程序 可用于编码或转换 MPlayer 可以读取的任何音频或视频流 有关在 MPlayer 和 gmplayer 中启用非自由格式的说明 请参阅 RestrictedFormats wik
  • 如何在 PHP 中设置会话超时:新手指南

    作为 Web 开发人员 您可能需要创建具有用户登录 评论部分和其他要求用户保持帐户活跃的功能的网站 因此 实施一种限制用户在您的网站上花费的时间的方法非常重要 这在 PHP 中称为设置会话超时 如果没有此限制 用户可以无限期地在您的网站上保
  • Linux中的Fsck命令(修复文件系统)

    fsck 文件系统检查 是一种命令行实用程序 允许您在一个或多个 Linux 文件系统上执行一致性检查和交互式修复 它使用特定于其检查的文件系统类型的程序 您可以使用fsck命令用于在系统无法启动或无法安装分区的情况下修复损坏的文件系统 在