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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-11-15 10:55:49 | 显示全部楼层 |阅读模式
我们通过几个必要的步骤,使用特定的磁盘扫描工具让你能够判断 Linux 磁盘或闪存是否存在坏道。. j+ d0 n, R0 D  J
操作步骤如下:
/ \: ^- D2 g" T8 ^( v0 [. t在 Linux 上使用坏块工具检查坏道
: c; l: {3 ^* S/ s4 j) K# [& n坏块工具可以让用户扫描设备检查坏道或坏块。设备可以是一个磁盘或外置磁盘,由一个如
$ k. U* T4 U- H+ T4 d/dev/sdc( c+ \; L7 N  ^6 j5 i- a
这样的文件代表。9 `! m1 K1 n# Q  }7 v, G
首先,通过超级用户权限执行 fdisk 命令来显示你的所有磁盘或闪存的信息以及它们的分区信息:
8 P% ^( y7 Q2 \ fdisk -l: O) f- i. a; ~5 t+ t, ~) L( T
磁盘
9 x& B4 S7 m$ y  [- ]+ r5 \! s" L- I! b; r
badblocks -v /dev/sdb1  > badsectors.txt+ C1 Q2 |2 w+ I5 d5 a1 `: t
Checking blocks 0 to 975584255
+ z% U6 z* Y; qChecking for bad blocks (read-only test): , `, }* F( E0 C7 K, W+ T

" m8 Y8 W; w8 F: h- |3 ^4 Q- ~$ @3 r- `, E7 t& m
5 |" P/ f* R, j5 `, h2 N

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

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

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

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

/ V% Z2 l+ S$ }6 o+ e$ ~" |  L/ b
3 \3 m; |6 \7 s
3 T+ n) O5 i. Y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-11-15 10:58:37 | 显示全部楼层
------------ 针对 for ext2/ext3/ext4 文件系统 ------------* D* ?" P) {0 B& [# v3 x( p
$ sudo e2fsck -l badsectors.txt /dev/sda10: e  D1 O8 ]; h7 p1 Z

& U  s- S2 v* K------------ 针对其它文件系统 ------------  H5 q* T, G  J5 _$ L( `7 o
$ sudo fsck -l badsectors.txt /dev/sda10' d1 m: @# o2 o  D
在 Linux 上使用 Smartmontools 工具扫描坏道
2 F  ~; s' R2 R9 ]这个方法对带有 S.M.A.R.T(自我监控分析报告技术Self-Monitoring, Analysis and Reporting Technology)系统的现代磁盘(ATA/SATA 和 SCSI/SAS 硬盘以及固态硬盘)更加的可靠和高效。S.M.A.R.T 系统能够帮助检测,报告,以及可能记录它们的健康状况,这样你就可以找出任何可能出现的硬件失效。
, M9 N* C" B  ]" S& ^3 d$ W你可以使用以下命令安装smartmontools:' b% r4 T  j; J" i1 C

  B  o4 H9 t# c------------ 在基于 Debian/Ubuntu 的系统上 ------------
  E5 q$ Y4 p/ m0 h- q  n1 i& f$ sudo apt-get install smartmontools; F% X4 @# G! p# v* [* c/ T
------------ 在基于 RHEL/CentOS 的系统上 ------------$ t2 C  f( h- v4 N: e2 T9 I6 w: }
$ sudo yum install smartmontools" K" n! ^* h  B$ d( \& [
安装完成之后,使用 smartctl 控制磁盘集成的 S.M.A.R.T 系统。你可以这样查看它的手册或帮助:" J9 A% w( z' H6 w
& v) f1 M/ F; P& N( k( V
$ man smartctl5 L, A; k9 S6 S4 h# q
$ smartctl -h
. l, N( Y, [- m: D然后执行 smartctrl 命令并在命令中指定你的设备作为参数,以下命令包含了参数 -H 或 --health 以显示 SMART 整体健康自我评估测试结果。. Y& m. Y( l9 b6 }( b) B3 h3 O

9 F* B4 y7 Y8 d4 d$ sudo smartctl -H /dev/sda101 s/ g2 s- x& A& Q
如何在 Linux 系统下检测硬盘上的坏道和坏块如何在 Linux 系统下检测硬盘上的坏道和坏块
* z6 ~; |. ?7 U# `检查 Linux 硬盘健康1 p/ p2 v3 j' q8 D
上面的结果指出你的硬盘很健康,近期内不大可能发生硬件失效。
3 O+ i5 I1 f* k" d  ?9 G/ a( o
( J8 m# n, H6 g要获取磁盘信息总览,使用 -a 或 --all 选项来显示关于磁盘所有的 SMART 信息, -x 或 --xall 来显示所有关于磁盘的 SMART 信息以及非 SMART 信息。; Z" m5 [, D& [# r  f5 G9 J4 l% A
; h4 o+ W4 {  a/ ~) i: k' r. b
在这个教程中,我们涉及了有关磁盘健康诊断的重要话题,希望能够帮助你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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