磁盘坏道检测抢救住宅服务器重要数据

住宅服务器(比如你放在家里的NAS、旧电脑改的服务器)一旦出现磁盘坏道,数据可能随时丢失。
坏道是硬盘上无法正常读写的物理损坏区域,检测和抢救的关键是尽早用正确的工具阻止损坏扩散,并在完全损坏前复制出重要文件。
本文从准备U盘启动盘开始,到用SMART确认坏道、再用ddrescue逐块复制数据,最后验证完整性,零基础也能一步步跟着做。

你需要先准备什么

  • 一台还能正常启动的电脑(用来制作U盘启动盘,最好是另一台电脑)
  • 一个至少4GB的U盘(推荐8GB以上)
  • 一块足够大的空硬盘或移动硬盘,用于存放抢救出来的数据,容量至少等于坏盘的总数据量
  • 如果住宅服务器运行Linux,建议直接使用系统自带的工具;如果服务器已无法启动,需要用U盘启动到一个Linux Live系统(推荐Ubuntu或SystemRescue)
  • 抓稳电源和SATA线,操作期间不要震动硬盘

第一步:快速确认有没有坏道

使用SMART(Self-Monitoring, Analysis and Reporting Technology,硬盘自监测技术)可以初步判断。
在Linux终端执行:

sudo smartctl -a /dev/sda

重点关注以下数值:

  • Reallocated_Sector_Ct(重映射扇区计数):如果非零,说明硬盘已自行修复了坏道,但可能还在增多
  • Current_Pending_Sector(当前待重映射扇区):这是还未修复的疑似坏道,数值越大越危险
  • Offline_Uncorrectable(离线无法纠正扇区):已经确认的坏道
如果Reallocated_Sector_CtCurrent_Pending_Sector大于0,尤其是持续增长,必须立即开始抢救数据。

第二步:扫描出所有坏道位置

使用badblocks命令做只读扫描,记下坏道所在的扇区号:

sudo badblocks -sv /dev/sda > badsectors.txt
  • -s 显示进度,-v 详细输出
  • 扫描可能需要几个小时甚至几天(视硬盘大小),建议放在后台或夜间运行
  • 扫描完成后,badsectors.txt 文件里会列出所有坏道的扇区号(比如 123456),后续可以跳过这些区域

第三步:用ddrescue抢救数据

ddrescue(GNU ddrescue)是专门应对坏道的数据复制工具,它会跳过坏道并记录日志,后续可以重试:

sudo ddrescue -f -n /dev/sda /mnt/backup/sda_image.img rescue.log
  • -f 强制覆盖输出文件,-n 只做第一遍快速复制(跳过坏道)
  • 第一遍完成后,再用以下命令进行第二遍重试坏道区域(最多重试3次):
sudo ddrescue -d -r3 /dev/sda /mnt/backup/sda_image.img rescue.log
  • -d 直接访问磁盘(绕过缓存),-r3 重试3次
  • 最终镜像文件/mnt/backup/sda_image.img就是你完整的数据副本

如果只想抢救特定分区或文件,也可以先复制整个磁盘镜像,再挂载镜像提取文件:

sudo mkdir /mnt/sos
sudo mount -o loop,ro /mnt/backup/sda_image.img /mnt/sos
ls /mnt/sos

避坑指南:这些错误千万不要犯

  • 不要向坏盘写入任何数据(比如安装系统、格式化分区),否则可能彻底破坏数据
  • 不要反复在坏盘上运行fsck,除非你确定坏道范围被隔离,否则会加剧损坏
  • 抢救过程中不要断电或强行拔出硬盘,复制中途可以暂停(按Ctrl+Z,后续用fg恢复)
  • 使用ddrescue时,目标盘必须有足够空间,并且目标盘绝对不能是同一块坏盘
  • 扫描坏道时如果听到硬盘发出咔咔声或异响,立即停止一切操作,联系专业数据恢复公司

怎么验证抢救数据是否完整?

  • 如果抢救的是单个文件,直接尝试打开,用sha256sum对比原文件的校验和(如果有)
  • 如果抢救的是整个分区镜像,可以挂载后运行fsck
sudo fsck -n /mnt/backup/sda_image.img
  • 检查日志文件rescue.log,看看有多少非坏道区域被成功复制:
grep 'rescued' rescue.log

如果所有非坏道区域都显示100%复制,说明数据基本完整;
坏道处的文件可能损坏或丢失,需要单独评估重要性。

常见问题解答

Q1:服务器已经无法启动,怎么检测坏道?

A:用另一台电脑制作Ubuntu Live U盘,进入Live系统后对硬盘执行相同命令。
如果硬盘完全无法识别(BIOS都不显示),可能是电路板或磁头故障,普通工具无法检测,需送专业机构。

Q2:ddrescue复制出来的镜像比原硬盘小,数据还在吗?

A:如果目标文件系统压缩或稀疏,镜像大小可能小于分区的实际大小,只要rescue.log显示成功复制,数据通常完整。
可以挂载镜像检查目录结构。

Q3:坏道可以先屏蔽再继续用硬盘吗?

A:不建议重要数据继续使用,即使屏蔽了坏道区域,硬盘损伤往往还会扩散。
优先更换新硬盘,并把服务器数据迁移到正规云服务商(如持有增值电信业务经营许可证的泽御云)的云硬盘上更安全。

Q4:我用的Windows服务器,有类似工具吗?

A:Windows下可以使用chkdsk /f检测坏道(但会尝试修复,有风险),推荐使用HD TuneVictoria做只读扫描。
对于数据抢救,建议用Linux Live环境执行ddrescue更可靠。

后续建议

如果硬盘坏道严重,成功抢救出数据后,不要再使用这块硬盘,立刻更换新硬盘。
日常运维中建议开启SMART警报,定期备份重要数据。
对于住宅服务器,使用有资质的正规云服务商(如泽御云)的云硬盘或对象存储来做远程备份,能极大降低数据丢失风险。

分享到:
上一篇
容器跨主机数据迁移同步大模型文件实操指南
下一篇
Nginx反向代理搭建AI中转网关完整配置教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意