如何提高gddrescue提取数据的速度
如何提高gddrescue提取数据的速度
gddrescue 数据提取速度的核心逻辑是:优先抢出健康数据、减少坏道重试 / 卡死、消除硬件瓶颈。以下是分维度的实操优化方案,从「硬件层→参数层→策略层」逐步落地,新手也能直接套用:一、硬件层优化(最易见效,优先做)
1. 优化源盘连接方式(减少传输损耗)
❌ 避免:USB 2.0 转接、劣质 USB 延长线、硬盘盒(尤其是故障盘)。
✅ 推荐:
机械硬盘(HDD):SATA 直连主板(拆盘接电脑内部 SATA 口),比 USB 快 3-5 倍。
必须用 USB:选 USB 3.0/3.1 硬盘盒(带独立供电),短线直连电脑后置 USB 口。
关键:故障盘若有物理卡顿,禁用硬盘盒的 "节能 / 休眠" 功能(多数硬盘盒工具可设置),避免频繁启停拖慢速度。
2. 目标存储必须用高速设备(避免写入瓶颈)
❌ 绝对不要:目标是 U 盘、低速移动硬盘、网络存储(NAS)。
✅ 最优选择:空的高速 SSD(SATA/NVMe 均可),写入速度≥300MB/s,完全匹配源盘读取速度。
次选:7200 转机械硬盘(HDD),避免 5400 转低速盘。
3. 减少源盘额外负载(避免拖慢读取)
故障盘不要挂载(
umount所有分区),gddrescue直接读裸盘(如/dev/sda),绕过文件系统层损耗。恢复过程中,关闭电脑其他高 IO 操作(如下载、拷贝文件、虚拟机),让 CPU / 内存资源优先给
gddrescue。
二、参数层优化(核心,定制化调参)
gddrescue 参数,减少无效重试、提升读取效率,以下是分场景的最优参数组合:基础参数(所有场景必加)
# 核心提速参数(通用模板)
sudo gddrescue -d -b 4096 -n [源盘] [目标/镜像] [日志文件]-d:直接磁盘访问(绕过系统缓存,减少内核层耗时,速度提升 10-20%)。
-b 4096:按 4K 扇区读取(匹配现代硬盘的物理扇区,避免 512B 小扇区的读写损耗,健康盘提速 30%+)。-n:「no-split」第一遍只读取健康块,跳过坏道(优先抢出 80%+ 数据,速度最快)。
针对坏道场景(减少卡死,提升有效速度)
# 少量坏道(偶尔卡顿)
sudo gddrescue -d -b 4096 -n --min-read-rate=1M --timeout=5s [源盘] [目标] [日志]
# 大量坏道(频繁卡死)
sudo gddrescue -d -b 4096 -n --min-read-rate=512K --timeout=10s -r 1 [源盘] [目标] [日志]
--min-read-rate=1M:读取速度低于 1MB/s 时自动跳过该区域(避免卡死在极坏扇区,节省大量时间)。
--timeout=5s:单个扇区读取超 5 秒直接放弃(默认无限等待,坏道盘必加)。-r 1:坏扇区仅重试 1 次(默认无限重试,改 1 次可减少 90% 以上的无效耗时)。
进阶提速参数(健康盘 / 逻辑故障)
sudo gddrescue -d -b 65536 -n -c 128 [源盘] [目标] [日志]
-b 65536:增大块大小到 64KB(健康盘最优,进一步提升连续读取速度)。-c 128:每次读取 128 个块(合并 IO 请求,减少磁盘寻道耗时)。
三、策略层优化(最大化效率,避免返工)
1. 分阶段恢复(先抢核心,再补坏道)
第一步(快):用
-n --min-read-rate=1M抢健康数据(1TB 健康盘 4-8 小时,坏道盘也能 1 天内抢出 80%)。第二步(慢,可选):仅对第一步标记的坏道区域重试(用
-r 3,不浪费时间在健康区)。
2. 利用日志文件续传(避免重跑)
/root/rescue.map),中断后执行相同命令即可续传:# 中断后,再次执行原命令,自动从断点继续 sudo gddrescue -d -b 4096 -n /dev/sda /mnt/ssd/disk.img /root/rescue.map
3. 避开磁盘高温 / 卡顿时段
机械硬盘温度超过 45℃会降速,恢复时保持通风,避免硬盘叠放。
若源盘读取时频繁卡死,可暂停 10-30 分钟再续传(部分故障盘冷却后读取效率提升)。
4. 禁用内核磁盘错误重试(系统层优化)
# 查看当前重试次数(默认15)
cat /sys/block/sda/device/timeout
# 临时改为5秒(替换sda为源盘)
sudo echo 5 > /sys/block/sda/device/timeout
四、效果验证(看速度是否达标)
健康盘:正常速度应≥60MB/s(SATA)/ ≥100MB/s(USB 3.0)。
少量坏道:平均速度≥10MB/s(若低于此,检查参数 / 硬件)。
大量坏道:能稳定在 1-5MB/s 即可(避免卡死比极致速度更重要)。
总结
硬件层优先:SATA 直连 + 高速 SSD 目标盘 是提速基础,能解决 70% 的速度问题。
参数层核心:健康盘用
-d -b 4096/65536 -n,坏道盘加--min-read-rate --timeout -r 1,减少无效重试。策略层关键:分阶段恢复 + 日志续传,优先抢健康数据,不纠结坏道的极致恢复。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » 如何提高gddrescue提取数据的速度
作者: 小编
| 手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm