【真实记录】rm误删分区恢复复盘
温馨提示:
本文最后更新于 2026年04月02日,已超过 62 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
ssd1对应dev/nvme0n1p4 ,ssd2对应/dev/nvme0n1p5 ,hhd对应/dev/sda1,因调整挂载位置,使用rm误删了3个分区的所有数据,恢复过程操作复盘。
弄清楚文件类型:
- SSD1: /dev/nvme0n1p4 (NTFS)
- SSD2: /dev/nvme0n1p5 (NTFS)
- HDD: /dev/sda1 (NTFS)
查看文件类型的命令:# 根据分区名查询 lsblk -f /dev/sda1 或 blkid /dev/sda1
检查并卸载分区
mount | grep nvme0n1p5
fuser -mv /dev/nvme0n1p5 # 查看占用该设备的进程
# 卸载分区
sudo umount /dev/nvme0n1p5
按分区逐个恢复
ntfsundelete 快速恢复(保留文件名)
对于两个 NTFS 分区(SSD1 和 SSD2):
# 1. 先创建恢复目录(选择另一个有足够空间的分区)
mkdir -p /home/laizhw/recovery_ssd1
mkdir -p /home/laizhw/recovery_ssd2
mkdir -p /home/laizhw/recovery_hdd
# 查看有没有要恢复的文件
sudo ntfsundelete /dev/nvme0n1p5 -s
# 如果文件太多,可以只看前50行
sudo ntfsundelete /dev/nvme0n1p5 -s | head -50
# 或者保存到文件慢慢查看
sudo ntfsundelete /dev/nvme0n1p5 -s > /home/laizhw/ssd2_scan_result.txt
# 按文件类型恢复(视频和图片)
# 在未挂载状态下运行 ntfsundelete
sudo ntfsundelete /dev/nvme0n1p4 -m "*.mp4" -u -d /home/laizhw/recovery_ssd1
sudo ntfsundelete /dev/nvme0n1p4 -m "*.jpg" -u -d /home/laizhw/recovery_ssd1
sudo ntfsundelete /dev/nvme0n1p4 -m "*.png" -u -d /home/laizhw/recovery_ssd1
sudo ntfsundelete /dev/nvme0n1p4 -m "*.pdf" -u -d /home/laizhw/recovery_ssd1
sudo ntfsundelete /dev/nvme0n1p5 -m "*.mp4" -u -d /home/laizhw/recovery_ssd2
sudo ntfsundelete /dev/nvme0n1p5 -m "*.jpg" -u -d /home/laizhw/recovery_ssd2
sudo ntfsundelete /dev/nvme0n1p5 -m "*.png" -u -d /home/laizhw/recovery_ssd2
sudo ntfsundelete /dev/nvme0n1p5 -m "*.pdf" -u -d /home/laizhw/recovery_ssd2
补充说明:使用 -m 参数筛选特定文件类型:
# 例如只恢复文档和图片
sudo ntfsundelete /dev/nvme0n1p4 -m "*.doc" -u -d /recovery/docs
sudo ntfsundelete /dev/nvme0n1p4 -m "*.jpg" -u -d /recovery/images
sudo ntfsundelete /dev/nvme0n1p4 -m "*.png" -u -d /recovery/images
处理 HDD (sda1)
# 先确认 HDD 的文件系统类型(HDFS)
blkid /dev/sda1
# 使用 -f 或 --force 参数强制操作
sudo ntfsundelete /dev/sda1 -m "*.jpg" -u -d /home/laizhw/recovery_hdd -f
sudo ntfsundelete /dev/sda1 -m "*.mp4" -u -d /home/laizhw/recovery_hdd -f
完整的三个分区修复方案
SSD1 (/dev/nvme0n1p4) - NTFS
mkdir -p /home/laizhw/recovery_ssd1 sudo ntfsundelete /dev/nvme0n1p4 -m "*.jpg" -u -d /home/laizhw/recovery_ssd1 -fSSD2 (/dev/nvme0n1p5) - NTFS
mkdir -p /home/laizhw/recovery_ssd2 sudo ntfsundelete /dev/nvme0n1p5 -m "*.jpg" -u -d /home/laizhw/recovery_ssd2 -fHDD (/dev/sda1) - NTFS(先修复)
# 先创建恢复目录 mkdir -p /home/laizhw/recovery_hdd # 修复 NTFS 日志 sudo ntfsfix /dev/sda1 # 然后恢复 sudo ntfsundelete /dev/sda1 -m "*.jpg" -u -d /home/laizhw/recovery_hdd
批量恢复多种文件类型脚本(带 force 选项)
cat > /tmp/recover_all.sh << 'EOF'
#!/bin/bash
# 定义设备和恢复目录
declare -A devices=(
["ssd1"]="/dev/nvme0n1p4"
["ssd2"]="/dev/nvme0n1p5"
["hdd"]="/dev/sda1"
)
# 定义要恢复的文件类型
file_types=("*.jpg" "*.jpeg" "*.png" "*.gif" "*.bmp" "*.mp4" "*.avi" "*.mkv" "*.pdf" "*.doc" "*.docx" "*.xls" "*.xlsx" "*.txt" "*.zip" "*.rar")
# 对每个设备进行恢复
for name in "${!devices[@]}"; do
device="${devices[$name]}"
dest="/home/laizhw/recovery_${name}"
echo "========================================="
echo "开始恢复 $name ($device)"
echo "========================================="
# 创建恢复目录
mkdir -p "$dest"
# 如果是 HDD,先执行 ntfsfix
if [ "$name" == "hdd" ]; then
echo "修复 HDD NTFS 日志..."
sudo ntfsfix "$device"
fi
# 恢复各种文件类型
for ext in "${file_types[@]}"; do
echo "恢复 $ext 文件..."
sudo ntfsundelete "$device" -m "$ext" -u -d "$dest" -f 2>/dev/null
done
echo "完成!文件保存在: $dest"
echo ""
done
echo "所有分区恢复完成!"
EOF
chmod +x /tmp/recover_all.sh
sudo /tmp/recover_all.sh
恢复的文件都有个锁的标记处理方案
# 修改所有恢复文件的所有权和权限
sudo chown -R $USER:$USER /home/laizhw/recovery_*
sudo chmod -R 755 /home/laizhw/recovery_*
重新挂载分区
编辑 fstab 文件
sudo nano /etc/fstab
获取UUID
sudo blkid 分区名
在文件末尾添加以下配置(假设你已获取到 p5 的 UUID):
# 机械硬盘(已经正确挂载)
UUID=E84CFAE177CDE089 /disk/hhd ntfs-3g defaults,locale=zh_CN.UTF-8,uid=1000,gid=1000,umask=022,noatime 0 2
# NVMe SSD 分区4(410.6G)
UUID=4A1E23F86218B41D /disk/ssd1 ntfs-3g defaults,locale=zh_CN.UTF-8,uid=1000,gid=1000,umask=022,noatime 0 2
# NVMe SSD 分区5(413G)- 替换为实际的UUID
UUID=实际UUID /disk/ssd2 ntfs-3g defaults,locale=zh_CN.UTF-8,uid=1000,gid=1000,umask=022,noatime 0 2
# 手动挂载到指定位置
sudo mount /dev/nvme0n1p4 /disk/ssd1
sudo mount /dev/nvme0n1p5 /disk/ssd2
# 查看挂载结果
df -h | grep "/disk"
如果遇到 "NTFS is inconsistent" 或类似错误:
# 在 Linux 中修复 NTFS
sudo ntfsfix /dev/sda1
正文到此结束
- 本文标签: Linux 数据恢复 NTFS
- 本文链接: http://t-leader.cn/article/839
- 版权声明: 本文由站长原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权