如何使用ddrescue命令?
如何使用ddrescue命令?
gddrescue)是 Linux 下专业的坏盘数据恢复工具,核心优势是可中断续传、智能跳过坏道、优先抢救可用数据。下面我会从「基础概念→核心命令→分步实操→避坑指南」全流程教你使用,新手也能轻松上手。一、先明确 3 个核心概念(避免操作失误)
源设备:待恢复的故障盘 / 分区(如
/dev/sda、/dev/sdb1)目标位置:恢复后的数据存储处(可以是:
整块磁盘:
/dev/sdc(需容量≥源盘)镜像文件:
/mnt/ssd/disk.img(推荐,更安全)
mapfile 日志文件:记录恢复进度的日志(如
/root/rescue.map),中断后可续传,绝对不能删除 / 修改!
二、前置准备(必做)
1. 安装 ddrescue
# Debian/Ubuntu/Linux Mint sudo apt update && sudo apt install gddrescue # CentOS/RHEL/Fedora sudo dnf install gddrescue # Arch/Manjaro sudo pacman -S gddrescue
2. 确认源 / 目标设备名(关键!别搞反)
# 查看所有磁盘/分区信息 sudo lsblk # 示例输出(重点看NAME和SIZE列) NAME SIZE TYPE MOUNTPOINT sda 1.0T disk # 故障盘(源设备) ├─sda1 200G part / └─sda2 800G part sdb 2.0T disk # 目标盘(存恢复数据) sdc 64G disk # U盘(别选错!)
核心原则:源设备(故障盘)只读,目标设备可写,绝对不能搞反!
三、核心使用方法(分场景,从易到难)
场景 1:基础用法(健康盘 / 少量坏道,优先完整恢复)
/dev/sda(1TB 故障盘)恢复为镜像文件 /mnt/ssd/disk.img,日志文件 /root/rescue.map。# 基础命令(通用最优参数)
sudo ddrescue -d -b 4096 -n /dev/sda /mnt/ssd/disk.img /root/rescue.map
参数解释:
-d:直接磁盘访问(绕过系统缓存,速度更快、更稳定)-b 4096:按 4K 扇区读取(匹配现代硬盘,避免读写效率低)-n:「no-split」第一遍只抢好块,跳过坏道(最快拿到可用数据)
场景 2:进阶用法(大量坏道,兼顾完整度)
# 第二步:重试坏道(最多3次,避免无限卡死) sudo ddrescue -d -b 4096 -r 3 --min-read-rate=1M /dev/sda /mnt/ssd/disk.img /root/rescue.map
新增参数解释:
-r 3:坏扇区最多重试 3 次(默认无限重试,改 3 次大幅减少耗时)--min-read-rate=1M:读取速度低于 1MB/s 时自动跳过(避免卡死在极坏扇区)
场景 3:极端场景(物理故障 / 频繁卡死,优先保命)
sudo ddrescue -d -b 4096 -n --min-read-rate=512K --timeout=10s /dev/sda /mnt/ssd/disk.img /root/rescue.map
新增参数解释:
--timeout=10s:单个扇区读取超 10 秒直接跳过--min-read-rate=512K:低于 512KB/s 的区域直接放弃
场景 4:恢复到整块磁盘(而非镜像文件)
# 源盘/dev/sda → 目标盘/dev/sdb(务必确认sdb是空盘!)
sudo ddrescue -d -b 4096 -n /dev/sda /dev/sdb /root/rescue.map
四、关键操作说明
1. 中断与续传(核心优势)
恢复过程中按
Ctrl+C中断,下次执行完全相同的命令,会自动从断点继续:# 中断后,再次执行原命令即可续传 sudo ddrescue -d -b 4096 -n /dev/sda /mnt/ssd/disk.img /root/rescue.map
2. 查看恢复进度
rescued:已恢复数据量errsize:坏道区域大小current rate:当前读取速度time remaining:剩余时间(仅参考,坏道多则不准)
3. 挂载镜像文件(恢复后查看数据)
# 创建挂载点 sudo mkdir /mnt/recovered # 挂载镜像(假设镜像里的分区是第1个) sudo mount -o loop,ro /mnt/ssd/disk.img /mnt/recovered # 查看数据 ls /mnt/recovered # 卸载(看完后) sudo umount /mnt/recovered
五、避坑指南(新手必看)
❌ 绝对不要搞反源 / 目标设备:比如把
/dev/sda(源)和/dev/sdb(目标)写反,会直接覆盖故障盘的剩余数据!❌ 不要在恢复时挂载故障盘:故障盘只读(ddrescue 自动处理),挂载会增加磁盘负担,甚至加重损坏。
✅ 优先用镜像文件:恢复到镜像文件比直接恢复到磁盘更安全,即使操作失误也不会覆盖源盘。
✅ 目标盘选高速 SSD:避免目标盘成为瓶颈(比如用 U 盘存镜像,速度会被拖慢)。
总结
ddrescue 核心用法是
sudo ddrescue [参数] 源设备 目标位置 日志文件,日志文件是续传关键。新手优先用
-d -b 4096 -n抢好块,少量坏道加-r 3,物理故障加--timeout和--min-read-rate。恢复到镜像文件比直接恢复到磁盘更安全,避免操作失误导致数据二次损坏。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » 如何使用ddrescue命令?
作者: 小编
| 手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm