Linux dosfsck 命令实战示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 dosfsck 命令来检查和修复 FAT32 文件系统中的错误。实验内容涵盖了 dosfsck 命令的用途和语法,以及在实际操作中检查和修复 USB 驱动器上的 FAT32 文件系统的示例。步骤包括理解命令、执行全面的文件系统检查和修复,以及解决可能出现的任何问题。本实验旨在为你提供必要的技能,以便在 Linux 系统上维护和排查 FAT32 文件系统的问题。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/SystemInformationandMonitoringGroup -.-> linux/mount("File System Mounting") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/ls -.-> lab-422649{{"Linux dosfsck 命令实战示例"}} linux/rm -.-> lab-422649{{"Linux dosfsck 命令实战示例"}} linux/mount -.-> lab-422649{{"Linux dosfsck 命令实战示例"}} linux/dd -.-> lab-422649{{"Linux dosfsck 命令实战示例"}} end

理解 dosfsck 命令的用途和语法

在这一步中,你将学习 Linux 中 dosfsck 命令的用途和语法。dosfsck 命令用于检查和修复 FAT32 文件系统中的错误。

首先,让我们了解 dosfsck 命令的用途:

$ man dosfsck
dosfsck - 检查并修复 DOS 文件系统

dosfsck 命令用于检查和修复 FAT32 文件系统中的错误。它可以修复各种问题,例如损坏的文件系统元数据、丢失的簇以及其他文件系统不一致性。

现在,让我们看一下 dosfsck 命令的基本语法:

$ dosfsck [options] <device>

以下是命令选项的详细说明:

  • -a:自动修复文件系统。
  • -v:显示详细输出,展示所有执行的操作。
  • -t:测试文件系统,而不实际进行任何更改。
  • -r:交互式修复文件系统。
  • -l:列出根目录。
  • -L:列出文件系统的内容。
  • -n:无操作模式,仅列出错误。
  • -p:自动修复文件系统,无需提示。

示例用法:

$ sudo dosfsck -v /dev/sdb1

此命令将对位于 /dev/sdb1 设备上的 FAT32 文件系统执行详细的检查和修复。

检查和修复 FAT32 文件系统中的错误

在这一步中,你将学习如何使用 dosfsck 命令检查和修复 FAT32 文件系统中的错误。

首先,让我们在 USB 驱动器上创建一个 FAT32 文件系统:

$ sudo mkfs.vfat -F 32 /dev/sdb1

接下来,我们故意通过创建一个无效文件名的文件来破坏文件系统:

$ sudo touch /media/labex/USB_DRIVE/invalid_file#@!.txt

然后,使用 dosfsck 命令检查和修复文件系统:

$ sudo dosfsck -a /dev/sdb1
dosfsck 4.2 (2021-01-31)
/dev/sdb1: 1 files, 1/2048 clusters
Reclaimed 1 unused cluster(s)

-a 选项告诉 dosfsck 自动修复文件系统,而无需提示用户。输出显示一个未使用的簇被回收,表明文件系统已成功修复。

为了验证修复结果,让我们列出文件系统的内容:

$ sudo dosfsck -l /dev/sdb1
Directory dump:
/           <DIR>   2048    0 Jan  1 1980
INVALID_FI~1 TXT       0    0 Jan  1 1980

输出显示无效文件已被删除,文件系统现在已清理干净。

对 USB 驱动器执行全面的文件系统检查和修复

在这一步中,你将学习如何对 USB 驱动器上的 FAT32 文件系统执行更全面的检查和修复。

首先,将 USB 驱动器插入系统并识别设备名称:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 119.2G  0 disk
└─sda1   8:1    0 119.2G  0 part /
sdb      8:16   1   7.5G  0 disk
└─sdb1   8:17   1   7.5G  0 part /media/labex/USB_DRIVE

在这个示例中,USB 驱动器是 /dev/sdb1

现在,让我们对文件系统执行全面的检查和修复:

$ sudo dosfsck -a -v -w /dev/sdb1
dosfsck 4.2 (2021-01-31)
/dev/sdb1: 2 files, 4/1920 clusters
Reclaimed 2 unused cluster(s)

这里使用的选项是:

  • -a:自动修复文件系统。
  • -v:显示详细输出,展示所有执行的操作。
  • -w:将更改写入文件系统。

输出显示两个未使用的簇被回收,表明文件系统已成功修复。

为了验证修复结果,让我们列出文件系统的内容:

$ sudo dosfsck -l /dev/sdb1
Directory dump:
/           <DIR>   2048    0 Jan  1 1980

输出显示文件系统现在已清理干净,可以正常使用。

总结

在本实验中,你首先学习了 Linux 中 dosfsck 命令的用途和语法,该命令用于检查和修复 FAT32 文件系统中的错误。你探索了各种命令选项,例如自动修复文件系统、显示详细输出以及在不进行更改的情况下测试文件系统。随后,你演示了如何使用 dosfsck 命令检查和修复 FAT32 文件系统中的错误,包括故意破坏文件系统,然后使用 dosfsck 命令自动修复它。

Linux 命令速查表