百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux: 检测磁盘坏块 你得会吧!

ahcoder 2025-05-21 11:43 8 浏览

引言

什么是坏扇区/坏块?它指的是磁盘驱动器或闪存上某个区域无法进行读写操作,通常是由于磁盘表面有永久性物理损伤或者闪存晶体管出现故障

坏扇区越来越多的话,会对存储设备的性能产生严重影响,还会减少存储容量,甚至可能导致硬件彻底损坏。

另外,一旦发现坏块,就应该考虑更换新的磁盘驱动器,或者把坏块标记为不可用。

所以,本文[1]章会介绍一些方法,帮助你通过一些磁盘扫描工具来检查 Linux 磁盘驱动器或闪存上是否存在坏扇区。具体方法如下:

badblocks

  • 使用 badblocks 工具来检查坏扇区

badblocks 工具可以扫描硬盘或外部驱动器等存储设备,查找其中的坏扇区。设备通常以文件形式显示,比如 /dev/sdc 或 /dev/sda。

  1. 第一步:列出所有磁盘和分区 首先,使用带有超级用户权限的 fdisk 命令,查看所有磁盘驱动器或闪存以及它们的分区信息:
sudo fdisk -l

这将帮助您确定正确的设备名称进行扫描。

  1. 第二步:然后扫描您的Linux磁盘驱动器以检查不良扇区/块:
sudo badblocks -v /dev/sda10 > badsectors.txt

在刚才提到的命令里,badblocks 正在检查 /dev/sda10 这个设备(注意要换成你实际使用的设备名称),-v 参数可以让它显示操作过程中的详细信息。同时,操作结果会通过输出重定向保存到 badsectors.txt 文件里。

如果在磁盘驱动器中发现了坏扇区,需要先卸载磁盘,然后按照以下方法告诉操作系统不要对这些报告的扇区进行写入操作。

  1. 第三步:把坏扇区标记为不可用 你需要使用 e2fsck(针对 ext2/ext3/ext4 文件系统)或者 fsck 命令,结合 badsectors.txt 文件和设备文件,具体命令如下。
  • 针对 ext2/ext3/ext4 文件系统:
sudo e2fsck -l badsectors.txt /dev/sda10
  • 对于其他文件系统:
sudo fsck -l badsectors.txt /dev/sda10

Smartmontools

  • 用Smartmontools检查磁盘健康状况(推荐)

这种方法更适合现代磁盘(包括 ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘),因为这些磁盘都内置了 S.M.A.R.T(自监测、分析和报告技术)系统。该系统可以检测、报告并记录磁盘的健康状况,帮助你提前发现可能出现的硬件故障。

  1. 第一步:在 Linux 上安装 smartmontools 可以通过运行以下命令来安装
sudo apt install smartmontools  #For Debian-based
sudo dnf install smartmontools  #For RHEL-based
  1. 第二步:用 smartctl 进行健康检查

安装完成后,就可以使用 smartctl 了,它用于控制磁盘内置的 S.M.A.R.T 系统。你可以查看它的手册页或帮助页,具体方法如下:

man smartctl
smartctl -h
  1. 第三步:运行基本健康测试

接下来,运行 smartctl 命令,并指定你要检查的特定设备。在命令中,使用 -H 或 --health 标志,可以显示 S.M.A.R.T 系统的总体健康自检测试结果。

sudo smartctl -H /dev/sda10

上面的结果显示,你的硬盘目前状态良好,暂时不会出现硬件故障。

总结

在本文中,我们介绍了如何通过 badblocks 和 smartmontools 在 Linux 磁盘上检测和处理坏扇区。监控存储设备的健康状况非常重要,而这些工具让这一过程变得简单明了。

[1]Source: https://www.tecmint.com/check-linux-hard-disk-bad-sectors-bad-blocks/

相关推荐

Linux抓包工具tcpdump安装和使用,监视网络接口小工具大用途

Tcpdump工具是一个抓包工具也是一个协议分析软件。强大的功能和灵活的截取策略,使它成为Linux统下网络分析和问题排查的首选工具。tcpdump可以将网络中传送的数据包的头截获下来做分析。它支持...

linux安装lnmp一键安装包

一般企业正式服环境用的lnmp.org一键安装包,下面做下简单介绍:官网:https://lnmp.org1.安装(官网上有详细的安装步骤)screen-Slnmp是为了在安装的过程中,断线的后台...

Linux 安装Oracle11.2.0.4 (静默安装法)

一、环境准备1下载安装包已上传至对象存储,一共两个包#oracle11.2.0.4_1of7.zipwgethttps://oss-cn-north-1.unicloudsrv.com/sc-...

Ubuntu入门使用之 24.04 如何安装命令工具(或软件包)

如果你是初学者,在Ubuntu24.04上运行命令时遇到错误,这意味着运行该特定命令所需的软件包在你的系统中不可用。无论你是刚开始探索Linux世界,还是从旧版本升级而来,你可能会想知道如何...

Linux 安装代理 实现Windows Proxifier 功能

场景:linux上的应用---------->代理服务器(socket5)--------------------目标服务实现方案通过ProxyChains+Socat这2个工具来实现,具体...

Python保姆级安装教程(CPU+GPU)

以下是为您整理的2024年Python保姆级安装教程(CPU+GPU详细版),涵盖Windows、macOS和Linux系统,并详细说明GPU环境的配置(如CUDA、cuDNN等...

linux安装oracle

需要安装oracledataguard,所以先要安装单台oracle11g,下面是单台oracle11g的详细安装过程。1,安装环境硬件环境:2台linux虚拟机,Centos6.4,4G,4核...

Linux安装Nginx详细教程

Nginx是一款高性能的开源Web服务器软件,它被广泛应用于构建高性能的网站和应用程序。本文将向您介绍如何在Linux操作系统上安装和配置Nginx服务器。一、下载nginx1.1、手动下载进入ngi...

选择LINUX安装平台

您已经选择了Linux发行版,并准备开始安装过程,但您需要确定您的硬件选项。以下是从哪里开始。译自Linux:ChooseanInstallationPlatform,作者Damon...

用Linux“还原”Win11,AnduinOS创始人公布1.4/1.5版本更新计划

IT之家5月24日消息,据外媒Neowin今日报道,AnduinOS的唯一开发者AnduinXue近日公布了“类Windows风格”Linux系统未来的版本规划。他表示,A...

Linux lsof命令使用小结

推荐理由lsof(listopenfiles)是一个列出当前系统打开文件的工具。在Linux环境下,任何事物都是以文件的形式存在,通过文件不仅可以访问常规数据,还可以访问网络连接和硬件。所以,如传...

Linux进程管理—信号、定时器使用详解

信号:1.信号的作用:背景:进程之间通信比较麻烦。但进程之间又必须通信,比如父子进程之间。作用:通知其他进程响应。进程之间的一种通信机制。信号:接受信号的进程马上停止,调用信号处理函数...

Nexus 3 本地搭建与使用实战指南(适用于 Linux 与 Win11)

一、背景与介绍在DevOps流程中,本地镜像仓库能显著提升镜像下载速度、增强安全性并保障离线可用性。本文将手把手教你在Linux和Win11上分别部署并使用Nexus3搭建Dock...

字节跳动介绍使用AI优化Linux内核成果,可减少30%内存用量

IT之家11月23日消息,据外媒zdnet报道,字节跳动日前在LinuxPlumbersConference上介绍了通过使用AI优化Linux内核的成果,号称可以取得“显著...

一文带你了解 Linux 文件权限,从基础到高级

在Linux中,每个文件和目录都关联了一组权限,定义了不同用户对其的访问能力。权限分为三类:读取(read,r)、写入(write,w)和执行(execute,x),分别用字母r、w、x...