讲师中心 微信公众号
AI工具推荐 视频效率加速

CentOS怎么检测硬盘是否存在坏道

风瑶大大_2169

风瑶大大_2169

发布时间:2026-08-01 08:19:17

|

647人浏览过

|

来源于php中文网

原创

坏道必须分两层查——先用smartctl读SMART健康日志判断风险,再用badblocks逐扇区实测;仅依赖任一工具均易漏判或误判。

centos怎么检测硬盘是否存在坏道

直接说结论:坏道必须分两层查——先看 SMART 健康状态,再用 badblocks 扫物理扇区;只跑一个,大概率漏判或误判。


怎么用 smartctl 快速判断硬盘是否“快不行了”

smartctl 不扫扇区,它读的是硬盘自己上报的健康日志(S.M.A.R.T.),对机械盘和 SSD 都有效,但前提是硬盘支持且功能已启用。
  • 先确认工具已安装:yum install -y smartmontools(CentOS 7/8)或 dnf install -y smartmontools(CentOS Stream / 9+)
  • 检查设备是否支持 SMART:smartctl -i /dev/sda,看到 SMART support is: Enabled 才能继续
  • 看整体健康结论:smartctl -H /dev/sda,输出里只有 PASSED 才算过关;FAILED 或 WARNING 就该准备换盘
  • 查具体风险项:smartctl -a /dev/sda | grep -E "(Reallocated|Pending|Uncorrect|UDMA_CRC)"
    • Reallocated_Sector_Ct > 0 表示已有扇区被映射替换,是坏道前兆
    • Current_Pending_Sector > 0 表示有扇区读写失败、尚未重映射,正在“悬停”状态,极可能下一秒就变坏块
    • UDMA_CRC_Error_Count 高,说明数据线/接口接触不良,不是盘本身问题,但也会触发假坏道报警

注意:smartctl 对 NVMe 盘要用 smartctl -a -d nvme /dev/nvme0n1,不加 -d nvme 会报错或返回空。


为什么不能跳过 badblocks 直接信 SMART

SMART 是预测性指标,不是实时扫描;有些盘(尤其老旧或山寨 SATA 盘)根本不更新 S.M.A.R.T. 计数,或者固件屏蔽了关键属性。这时候坏道已经存在,但 smartctl -H 仍显示 PASSED。

badblocks 是实打实逐扇区读(默认只读模式),能发现 SMART 漏掉的真实不可读区域。

CentOS Linux 7.9.2009
CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离

下载
  • 必须先卸载目标分区:umount /dev/sda1,否则会干扰文件系统或报错
  • 最小可用命令:badblocks -s -v /dev/sda1 > /root/badblocks.log
    • -s 显示进度,避免干等无反馈
    • -v 输出每个坏块编号,方便后续处理
  • 如果要测得更严(比如怀疑有不稳定扇区),加 -w 做写测试:badblocks -w -s -v /dev/sda1,但注意:这会清空该分区所有数据,仅限未挂载且无重要数据时使用
  • 扫描范围可限定:badblocks -b 4096 -c 64 -s -v /dev/sda1 1000000 500000 表示从第 500000 个块开始,扫 100 万个块,块大小 4K,每次批量检查 64 块(加快速度)

警告:badblocks 扫的是裸设备扇区,不是文件系统逻辑块。所以它报告的数字,要和 e2fsck -l 或 mke2fs -l 配合才能真正屏蔽——别只存日志不处理。


发现坏块后,怎么让系统“绕着走”

Linux 不会自动避开坏扇区,必须手动把坏块列表喂给文件系统工具。
  • 前提:文件系统是 ext2/ext3/ext4(e2fsck 支持),且分区已卸载
  • 把 badblocks 输出的坏块写入文件后,执行:e2fsck -l /root/badblocks.log /dev/sda1
    • -l 参数会把文件里每一行数字当作扇区号,加入 ext 文件系统的坏块表
  • 如果是其他文件系统(如 XFS),fsck 不支持 -l,只能重建文件系统并跳过坏区:mkfs.xfs -d agcount=1 -l size=128m /dev/sda1(不推荐,数据全丢)
  • 更稳妥的做法:用 dd 把坏块位置填零(dd if=/dev/zero of=/dev/sda1 seek=XXXX count=1 bs=4096),再运行 e2fsck -c 让内核标记为坏块(但部分老内核不支持)

关键点:坏块一旦出现,说明磁盘物理层已劣化。标记只是临时止血,别指望修好——记录日志、备份数据、安排更换才是正解。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

3389

2023.06.16

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

6181

2023.10.27

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

174

2026.05.29

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

188

2026.05.29

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

223

2026.05.29

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

40

2026.10.08

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

140

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

120

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

100

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn