易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 1372|回复: 1
收起左侧

linux系统下检测硬盘上坏道和坏块

[复制链接]
发表于 2021-11-15 10:55:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道。/ y6 D; {* x; ~
操作步骤如下:9 G% m; u# X3 F4 M. H9 r
在 Linux 上使用坏块工具检查坏道1 B$ g; c6 f+ e
坏块工具可以让用户扫描设备检查坏道或坏块。设备可以是一个磁盘或外置磁盘,由一个如2 a4 Y8 q6 S- w$ _, s+ n8 e; c
/dev/sdc3 Z0 K" ^' |) f+ |& L$ X. p: i/ S- F" v
这样的文件代表。3 G+ U) \5 E2 V$ G7 \
首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:4 ~- p/ w/ w4 x( @& Q+ J9 u* r
fdisk -l% t+ v/ f7 D4 t2 ]3 w1 H. T& c
磁盘3 H' H& i3 \( S
( I  C8 M) v0 I
badblocks -v /dev/sdb1  > badsectors.txt9 ^+ Q; ?. t7 ^: ?( ]& V
Checking blocks 0 to 975584255
  Q" J$ U* C1 \5 S/ TChecking for bad blocks (read-only test): 4 I7 S- [3 C2 P0 i
6 w: r+ I* p1 T4 g; e2 J. d

+ S# p4 g3 y, ?7 Z3 Z8 W
# q/ ^1 k# M$ B% E; N2 i

上面的命令中,badblocks 扫描设备/dev/sdb1(记得指定你的实际设备),-v选项让它显示操作的详情。另外,这里使用了输出重定向将操作结果重定向到了文件badsectors.txt。

如果你在你的磁盘上发现任何坏道,卸载磁盘并像下面这样让系统不要将数据写入回报的扇区中。

你需要执行e2fsck(针对 ext2/ext3/ext4 文件系统)或fsck命令,命令中还需要用到badsectors.txt文件和设备文件。

-l 选项告诉命令将在指定的文件 badsectors.txt 中列出的扇区号码加入坏块列表。


& y  C7 }% S' F! P+ M9 H6 [0 K2 `
& I5 q7 C/ P4 ?/ ?1 w6 M7 f, D! J% h/ [- g; _3 b# _
 楼主| 发表于 2021-11-15 10:58:37 | 显示全部楼层
------------ 针对 for ext2/ext3/ext4 文件系统 ------------
, F5 \6 f" @7 m" _* s8 t$ sudo e2fsck -l badsectors.txt /dev/sda10
: Z# l1 r, Y( C' {" m
4 ?# R  y5 C4 u7 P$ I. Q9 q------------ 针对其它文件系统 ------------6 z1 W  C8 d3 b0 c' B
$ sudo fsck -l badsectors.txt /dev/sda102 \2 Q  S( ]- X) \, a
在 Linux 上使用 Smartmontools 工具扫描坏道
# B) ?* U9 t: n& b5 ~6 C8 n; q这个方法对带有 S.M.A.R.T(自我监控分析报告技术Self-Monitoring, Analysis and Reporting Technology)系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。S.M.A.R.T 系统能够帮助检测,报告,以及可能记录它们的健康状况,这样你就可以找出任何可能出现的硬件失效。
/ `: N1 U2 R0 c你可以使用以下命令安装smartmontools:
( Y& s) q( M; U3 Z$ u
2 p/ t" {! B, ~/ y------------ 在基于 Debian/Ubuntu 的系统上 ------------
  N5 j0 C' C. \' |! w; ~: s$ sudo apt-get install smartmontools( L7 ?% B5 b) M9 X8 U5 Q
------------ 在基于 RHEL/CentOS 的系统上 ------------
/ {* s- w  D% K/ b, `* |8 e0 @$ sudo yum install smartmontools9 b. v. Y4 q3 z2 [3 \: e
安装完成之后,使用 smartctl 控制磁盘集成的 S.M.A.R.T 系统。你可以这样查看它的手册或帮助:& O0 B* d8 o1 `# \- f

0 `6 `8 s! u3 j0 h$ man smartctl
! d# b& H$ J2 ?+ ~$ smartctl -h
7 i3 d! W0 W" }& ^7 u然后执行 smartctrl 命令并在命令中指定你的设备作为参数,以下命令包含了参数 -H 或 --health 以显示 SMART 整体健康自我评估测试结果。8 @5 J6 e/ J5 T8 q6 G8 A% l$ F

! e" C- f$ ~1 n" o  V& J# A4 c$ sudo smartctl -H /dev/sda10' s3 C9 R, s2 z5 h4 T* Y6 j
如何在 Linux 系统下检测硬盘上的坏道和坏块如何在 Linux 系统下检测硬盘上的坏道和坏块
7 A2 W- C( M8 z6 G( p0 N% }5 [检查 Linux 硬盘健康
( p+ |* q- t+ `* K' `4 f( X0 _上面的结果指出你的硬盘很健康,近期内不大可能发生硬件失效。
" \2 k, q7 Y/ F: v
! D7 M: R$ ^: d5 ^1 I) b( k要获取磁盘信息总览,使用 -a 或 --all 选项来显示关于磁盘所有的 SMART 信息, -x 或 --xall 来显示所有关于磁盘的 SMART 信息以及非 SMART 信息。
, L/ B1 p  g; B  U, _( ]
; [3 x8 J' `, s" [! Y  {  [2 e在这个教程中,我们涉及了有关磁盘健康诊断的重要话题,希望能够帮助你。
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 01:12 , Processed in 0.049702 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表