📜  Linux 中的 dosfsck 命令示例

📅  最后修改于: 2022-05-13 01:57:29.546000             🧑  作者: Mango

Linux 中的 dosfsck 命令示例

dosfsck 代表DOS 文件系统一致性检查。它是类 Unix 操作系统中 dosfstools 包的一个组件。为了使用 dosfsck,需要安装 dosfstools 包。 dosfsck命令诊断 MS-DOS 文件系统的问题并尝试修复它们。在运行 dosfsck 之前总是卸载文件系统以避免任何损坏问题。

句法:

dosfsck [-aAflrtvVwy] [-d path -d ...] [-u path -u ...]  device

dosfsck命令可用于纠正下面提到的一些问题:

  • 如果 FAT 包含无效的簇号,则簇将更改为 EOF。
  • 如果文件的簇链包含循环,则循环被破坏。
  • 坏簇被标记并从占用它们的文件或目录中删除。这是一项可选检查。
  • 可以删除包含大量错误或损坏条目的目录。
  • 文件..是非目录,可以删除或重命名。
  • 目录..在根目录中。它们被丢弃。
  • 坏文件名,可以重命名。
  • 可以重命名或删除重复的目录。
  • 具有非零大小字段的目录设置为零。
  • 如果目录.不指向父目录则调整起始指针。
  • 如果目录..不指向父目录的父目录,则调整起始指针。
  • 如果文件的起始簇号无效,则该文件将被截断。
  • 包含坏簇或空闲簇的文件被截断。
  • 如果文件的簇链比大小字段指示的长,则文件将被截断。
  • 如果文件的簇链比大小字段指示的短,则文件将被截断。
  • 如果簇被标记为已使用但未被文件占用,则它们被标记为空闲。

如果出现以下情况,也可以检测到这些文件系统问题,但dosfsck命令无法修复这些问题:

  • 在引导扇区中检测到无效参数。
  • ...在非根目录中找不到条目。

选项:



  • -a :自动修复文件系统。
  • -A :切换 MS-DOS 文件系统的 Atari 变体。
  • -b :进行只读引导扇区检查。
  • -d :删除指定文件。
  • -f :将未使用的集群链回收到文件中。默认情况下,除自动模式 (-a) 外,未使用的集群会添加到可用磁盘空间中。
  • -l :列出正在处理的文件的路径名。
  • -n :它是无操作模式,非交互地执行检查并对文件系统进行更改。
  • -p :类似于 -a,用于与其他 fsck 兼容。
  • -r :检查以交互方式执行。每当有不止一种修复方法时,都会询问用户。
  • -t :将不可读的簇标记为坏簇。
  • -u :尝试取消删除指定的文件。
  • -v :详细模式。提供正在进行的维修的其他详细信息。
  • -V :执行验证通过。
  • -w :一旦它们(错误)被修复,就将更改写入磁盘。
  • -y :类似于 -a 以兼容其他 fsck 工具。

dosfsck 的退出代码:

例子:

  • 自动修复文件系统。
    sudo dosfsck -a /dev/sdb1
    

  • 进行只读引导扇区检查
    sudo dosfsck -b /dev/sdb1
    

  • 列出正在处理的文件的路径名。
    sudo dosfsck -l /dev/sdb1
    

  • 以非交互方式检查和修复文件系统的详细方法。 -t 用于将不可读的集群标记为坏的,这将使它们无法用于新文件和目录。
    sudo -v -a -t /dev/sdb1
    

  • 执行验证通过
    sudo -V /dev/sdb1