找回密码
 注册
查看: 1376|回复: 1

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-11-15 10:55:49 | 显示全部楼层 |阅读模式
我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道。
% @& ]5 ~, J+ h  V. O操作步骤如下:9 c& B9 z1 }$ _- U
在 Linux 上使用坏块工具检查坏道
. T1 Z0 u/ e5 k坏块工具可以让用户扫描设备检查坏道或坏块。设备可以是一个磁盘或外置磁盘,由一个如1 F; J4 b" [2 ]7 s& k4 X
/dev/sdc' s$ i. t; u2 k0 x7 f
这样的文件代表。1 L, J- v' j/ C& z5 E' Y. Q+ I
首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:
' G9 C- C5 n$ ^- \9 A" V fdisk -l
( p; e# d# {1 Z' J/ E. t8 _  R磁盘6 M; @7 \' K" N, n7 t0 a! X
& ^' R( `/ {( s, w  }# H5 d2 c
badblocks -v /dev/sdb1  > badsectors.txt) k& s- v& U9 i, g. O4 A0 l
Checking blocks 0 to 9755842556 n4 m" @2 J3 [" a, Z1 L
Checking for bad blocks (read-only test):
; W/ u. L1 G. n# V& }: \' M, |% }, }" \( q- C) x; G( ^) x
) L% q" \: J  k: C

8 M- n5 ~' [9 B9 u" \5 Y7 Q5 a$ P

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

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

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

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


% i1 m" V. W* ]8 ~2 a4 h# Z3 A# c3 u0 [6 P1 ~, F

6 w! g- {. i' L3 t6 G$ b

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-11-15 10:58:37 | 显示全部楼层
------------ 针对 for ext2/ext3/ext4 文件系统 ------------0 _% e. R3 |, {# t: D3 [$ d+ R& Q
$ sudo e2fsck -l badsectors.txt /dev/sda10
* m4 z2 ?( n! ^, g9 N" t- h+ ~0 b+ N' L2 n  ]  p7 k
------------ 针对其它文件系统 ------------
- k$ [, [) b( W5 ~% c  H2 ?$ sudo fsck -l badsectors.txt /dev/sda10
6 x; E  x* F7 |6 J) G2 I/ _# b在 Linux 上使用 Smartmontools 工具扫描坏道1 T8 S# {. f* b
这个方法对带有 S.M.A.R.T(自我监控分析报告技术Self-Monitoring, Analysis and Reporting Technology)系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。S.M.A.R.T 系统能够帮助检测,报告,以及可能记录它们的健康状况,这样你就可以找出任何可能出现的硬件失效。
; [5 J* G* ~6 O$ z1 k7 Z" }你可以使用以下命令安装smartmontools:
! p" D7 h# y% ^! y5 e, \7 P$ w1 A& H, j1 @
------------ 在基于 Debian/Ubuntu 的系统上 ------------6 X7 _& g. |2 J1 h: V& n
$ sudo apt-get install smartmontools8 u1 C. n# z0 d2 N% H
------------ 在基于 RHEL/CentOS 的系统上 ------------# Y) p  t5 I& U
$ sudo yum install smartmontools5 l- b; p/ F& X  C! d
安装完成之后,使用 smartctl 控制磁盘集成的 S.M.A.R.T 系统。你可以这样查看它的手册或帮助:
, g0 i+ y: e% h# @* z& f  e" \* `+ T! w/ K4 u
$ man smartctl
' i, t$ E# q7 ^( O7 |$ smartctl -h! }2 `: G, w, Q/ y/ j- ]4 [
然后执行 smartctrl 命令并在命令中指定你的设备作为参数,以下命令包含了参数 -H 或 --health 以显示 SMART 整体健康自我评估测试结果。
) ]9 J$ @( ^* a" T7 \
" S0 p& ?( l5 ~$ sudo smartctl -H /dev/sda10
' ?4 H4 Y0 P$ S( V! `  j如何在 Linux 系统下检测硬盘上的坏道和坏块如何在 Linux 系统下检测硬盘上的坏道和坏块
  ^5 H2 j/ s4 R+ ]检查 Linux 硬盘健康* ]2 J/ I3 `8 X/ [( ^
上面的结果指出你的硬盘很健康,近期内不大可能发生硬件失效。
$ e( |  Q& b: j* N! u6 y
2 D- s6 G  @+ s  o/ N要获取磁盘信息总览,使用 -a 或 --all 选项来显示关于磁盘所有的 SMART 信息, -x 或 --xall 来显示所有关于磁盘的 SMART 信息以及非 SMART 信息。
& ~( i# |6 L" U
# U( o: z* q* |) a1 m在这个教程中,我们涉及了有关磁盘健康诊断的重要话题,希望能够帮助你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:21 , Processed in 0.020250 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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