侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux mbadblocks命令详解:如何在MS-DOS文件系统上标记坏簇(附实例教程和注意事项)

mbadblocks命令介绍

mbadblocks命令是用于在MS-DOS文件系统上标记一些簇(cluster)为坏的(bad)。如果没有提供命令行选项,mbadblocks会通过尝试读取它们并在读取失败时将它们标记为坏的来扫描MS-DOS文件系统中的坏块。所有未使用的块都会被扫描,并且如果检测到坏的,就会在FAT(文件分配表)中标记为坏的。这个命令是在mformat之后使用的。它不是用来从坏磁盘中恢复数据的。

mbadblocks命令适用的Linux版本

mbadblocks命令是mtools软件包的一部分,mtools是一组用于访问MS-DOS磁盘的实用程序。mtools支持大多数Linux发行版,如Ubuntu, Debian, Fedora, CentOS等。要安装mtools,可以使用以下命令:

  • Ubuntu或Debian:sudo apt install mtools
  • Fedora:sudo dnf install mtools
  • CentOS 7:sudo yum install mtools
  • CentOS 8:sudo dnf install mtools

mbadblocks命令的基本语法

mbadblocks命令的基本语法如下:

mbadblocks [ -s sectorlist | -c clusterlist |-w] drive:

其中:

  • -s sectorlist:使用一个坏扇区(sector)的列表,而不是自己扫描坏簇(cluster)。扇区是从文件系统的开始计数的。
  • -c clusterlist:使用一个坏簇的列表,而不是自己扫描坏簇。
  • -w:向每个簇写入一个随机模式,然后读回并在不匹配时将簇标记为坏的。只有空闲的簇会以这种方式被测试,所以任何文件数据都会被保留。
  • drive::指定要检查的驱动器,如a:, b:, c:等。

mbadblocks命令的常用选项说明

mbadblocks命令的选项不多,只有三个,分别是:

选项说明
-s sectorlist使用一个坏扇区的列表,而不是自己扫描坏簇
-c clusterlist使用一个坏簇的列表,而不是自己扫描坏簇
-w向每个簇写入一个随机模式,然后读回并在不匹配时将簇标记为坏的

mbadblocks命令的实例

mbadblocks命令的实例如下:

  • 扫描a:驱动器上的坏簇,并将它们标记在FAT中:
[linux@bashcommandnotfound.cn ~]$ mbadblocks a:
  • 使用一个坏扇区的列表来标记b:驱动器上的坏簇,假设列表文件名为badsectors.txt:
[linux@bashcommandnotfound.cn ~]$ mbadblocks -s badsectors.txt b:
  • 使用一个坏簇的列表来标记c:驱动器上的坏簇,假设列表文件名为badclusters.txt:
[linux@bashcommandnotfound.cn ~]$ mbadblocks -c badclusters.txt c:
  • 向d:驱动器上的每个空闲簇写入一个随机模式,然后读回并在不匹配时将簇标记为坏的:
[linux@bashcommandnotfound.cn ~]$ mbadblocks -w d:

mbadblocks命令的注意事项

  • mbadblocks命令不是用来从坏磁盘中恢复数据的,它只是用来标记坏簇,以便在格式化后不使用它们。如果要恢复数据,可以使用其他工具,如ddrescue或testdisk。
  • mbadblocks命令应该在mformat之后使用,因为mformat会清除FAT中的所有坏簇标记。如果在mformat之前使用mbadblocks,那么标记的坏簇会被覆盖。
  • mbadblocks命令应该在使用mtools之前使用,因为mtools会忽略FAT中的坏簇标记,而直接访问磁盘。如果在使用mtools之后使用mbadblocks,那么可能会损坏已经写入的文件。
  • 如果在执行mbadblocks命令时遇到bash: mbadblocks: command not found的错误,那么可能是没有安装mtools软件包。可以使用上面提到的命令来安装mtools,或者从官网下载源码并编译安装。
0

评论区