Linux badblocks命令详解

Linux badblocks命令用于检查磁盘装置中损坏的区块,执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。

badblocks语法

语法:badblocks [-svw][-b <区块大小>][-o <输出文件>][磁盘装置][磁盘区块数][启始区块]

参数说明:

  • -b<区块大小> 指定磁盘的区块大小,单位为字节。
  • -o<输出文件> 将检查的结果写入指定的输出文件。
  • -s 在检查时显示进度。
  • -v 执行时显示详细的信息。
  • -w 在检查时,执行写入测试。
  • [磁盘装置] 指定要检查的磁盘装置。
  • [磁盘区块数] 指定磁盘装置的区块总数。
  • [启始区块] 指定要从哪个区块开始检查。
  • 举例

    查看系统当前硬盘信息。

    # fdisk -l
    // 显示信息如下
    Disk /dev/sda: 298.9 GB, 298999349248 bytes
    255 heads, 63 sectors/track, 36351 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
      Device Boot      Start         End      Blocks   Id  System
    /dev/sda1               1         262     2104483+  82  Linux swap / Solaris
    /dev/sda2   *         263       32898   262148670   83  Linux
    /dev/sda3           32899       36351    27736222+  83  Linux
    
    Disk /dev/sdb: 42.9 GB, 42949672960 bytes
    64 heads, 32 sectors/track, 40960 cylinders
    Units = cylinders of 2048 * 512 = 1048576 bytes

    通过命令:badblocks -s -v /dev/sdnx扫描硬盘,其中n表示硬盘设备名,x表示硬盘对应的分区号

    示例:检查“/dev/sda2”,执行命令如下:

    # badblocks -s -v /dev/sda2
    // 显示如下
    Checking blocks 0 to 30681000
    Checking for bad blocks (read-only test): 306809600674112/ 306810000000
    30680964
    30680965
    30680966
    30680967
    30680968
    30680969
    30680970
    30680971
    30680972
    30680973
    ...
    done
    Pass completed, 37 bad blocks found.其中,“37 bad blocks found”表示硬盘存在37个坏块。
    

    2023服务器优惠,阿里云PK腾讯云!
    ①阿里云:阿里云5M带宽服务器60元1年起(1c2g/2c4g/2c8g/4c8g/8c16g/16c32g)
    ②腾讯云:腾讯云2核4G服务器8M带宽74元一年(有高配)
    ③华为云:华为云1核2服务器1M带宽60元一年(配置多款可选)
    ⑤代金券:阿里云代金券限量发放中(有账号就能领)