拓冰建站拓冰建站
首页 / 资讯中心 / 正文

银河麒麟系统数据恢复指南:清空回收站后如何用extundelete与PhotoRec找回文件

1. 先别慌清空回收站不等于数据彻底消失在银河麒麟系统里手滑清空了回收站看着重要文件消失第一反应肯定是着急。但这时候最该做的不是立刻去网上找各种恢复工具一顿操作而是先停下来理解一个核心事实清空回收站只是删除了文件的索引并没有立刻擦除磁盘上的数据块。只要后续没有大量写入新文件去覆盖这些数据块恢复的可能性就非常大。很多人一着急就犯两个错误一是立刻在出问题的分区里安装数据恢复软件这本身就是在写入新数据可能覆盖要恢复的文件二是反复尝试各种不熟悉的命令行导致系统产生大量临时文件或日志。所以自救的第一步是立刻停止对问题磁盘的任何写入操作。如果你是在系统盘通常是根分区/上误删了文件最好就不要再往系统里下载或安装任何新东西了。如果文件在独立的/home分区或数据盘那就更简单直接卸载umount那个分区是最安全的但普通用户操作需谨慎。这个问题的关键不在于工具多强大而在于操作顺序对不对。下面我会按“止损-分析-选择工具-执行恢复-验证”的顺序把整个自救流程拆解清楚重点讲怎么避免覆盖以及在不同场景下系统盘、数据盘、有无备份该怎么选最稳妥的方案。2. 立刻执行的“止损”操作清单在启动任何恢复程序之前请按顺序完成以下几步目的是最大化保护磁盘上的原始数据不被破坏。2.1 判断文件位置与系统状态首先你需要明确两件事被删的文件原来在哪里是在/home/你的用户名/目录下还是在/opt、/var或者其他自定义的数据分区这决定了受影响的是系统盘还是数据盘。你当前用什么账户操作最好就用你平时登录的普通用户账户不要轻易切换到root。很多恢复操作需要root权限但获取权限的过程如sudo本身是安全的。关键是要知道当前工作目录避免在待恢复分区里运行命令。打开终端用df -h命令可以查看所有挂载点。找到你文件所在的分区记下它的挂载点例如/home和设备名例如/dev/sda2。2.2 冻结对目标分区的写入活动这是最关键的一步目的是停止任何可能覆盖数据的行为。如果文件在独立的数据分区这是最理想的情况。如果你确认这个分区没有运行关键服务比如数据库可以尝试卸载它。卸载前确保没有程序正在访问它比如文件管理器正打开该目录。可以使用lsof D /挂载点查看。如果安全使用sudo umount /挂载点卸载。卸载后这个分区就处于只读状态绝对安全。如果文件在系统根分区/或/home分区且与根分区同盘无法卸载因为系统正在运行。这时你应该立即关闭所有不必要的应用程序特别是浏览器、下载工具、办公软件等它们可能会产生缓存或临时文件。避免使用图形界面进行文件管理如拖拽、复制、下载。如果需要从网络获取恢复工具尽量下载到U盘、移动硬盘或者另一个完全无关的物理硬盘上绝对不要下载到待恢复的分区里。考虑使用Live CD/USB 环境。这是最专业、最安全的做法。用另一个U盘制作一个银河麒麟或其它Linux发行版如Ubuntu的启动盘从它启动电脑。这样你的原系统硬盘就会作为一个“外接磁盘”被挂载你可以在这个纯净的临时系统里进行操作完全避免对原系统盘的写入。2.3 准备恢复环境与介质在采取行动前准备好“手术台”和“工具”。目标磁盘就是包含被删文件的那个硬盘或分区。恢复工具存储盘另一个物理硬盘、U盘或网络存储。用于存放你将要下载和安装的数据恢复软件。文件存放盘另一个有足够空间的硬盘或分区。恢复出来的文件必须保存到与原文件不同的物理磁盘上如果存回原盘可能会覆盖尚未恢复的其它文件数据。可选Live USB如上述用于创建最安全的操作环境。3. 选择与使用数据恢复工具的策略在Linux下特别是银河麒麟这样的国产化系统选择工具要兼顾兼容性和易用性。命令行工具强大但门槛高图形化工具直观但可能功能有侧重。下面分场景推荐。3.1 命令行工具extundelete针对ext3/ext4文件系统银河麒麟默认使用ext4文件系统。extundelete是专门用于恢复ext3/ext4文件系统上被删除文件的经典工具。它通过直接读取文件系统的日志journal来尝试重建索引成功率较高但前提是文件删除后文件系统日志没有被新的写入操作覆盖。安装在恢复环境进行如Live USBsudo apt-get update sudo apt-get install extundelete如果是在原系统且网络可用同样用此命令。离线安装则需要提前下载好对应的deb包。使用步骤确定设备名使用sudo fdisk -l或lsblk确认待恢复分区对应的设备例如/dev/sda2。只读方式挂载如果已挂载如果分区已挂载为了安全可以重新以只读方式挂载sudo mount -o remount,ro /dev/sda2 /挂载点。但更推荐在未挂载状态下操作。执行恢复恢复整个分区的已删除文件sudo extundelete /dev/sda2 --restore-all。这会将所有它能找到的已删除文件恢复到当前目录下的RECOVERED_FILES文件夹中。恢复指定目录的文件sudo extundelete /dev/sda2 --restore-directory /home/user/Documents。恢复指定inode的文件如果你知道文件的inode号可通过sudo debugfs /dev/sda2然后ls -d inode在删除前查看但通常不知道可以使用--restore-inode。检查结果恢复操作会在当前目录生成RECOVERED_FILES。务必确保当前目录不在待恢复的分区上最好先cd到你的“文件存放盘”。优点针对性强对ext4支持好恢复元数据文件名、目录结构能力较强。缺点命令行操作对用户不友好如果日志被覆盖可能无效无法处理非ext文件系统如NTFS的U盘文件。3.2 图形化工具TestDisk/PhotoRec全文件系统支持这是一个套件非常强大。TestDisk主要用于修复分区表、恢复丢失的分区。PhotoRec是它的伴侣程序用于“文件雕刻”file carving即忽略文件系统结构直接扫描磁盘扇区根据文件头尾特征签名来恢复文件因此能应对回收站清空、格式化、分区丢失等更严重的情况。安装sudo apt-get install testdisk使用PhotoRec恢复文件在终端运行sudo photorec。用上下键选择待恢复的磁盘如/dev/sda不是分区。按回车。选择[Proceed]-[None]因为文件系统可能已损坏或我们不在意-[Search]。选择文件类型。PhotoRec支持多种格式。如果你知道文件类型如图片、文档、压缩包可以只选对应类型以加快扫描和减少无关文件。否则选[Whole]全选。选择空闲空间用于存放恢复出的文件的目录。再次强调必须选另一个物理磁盘或分区开始扫描。时间取决于磁盘大小。扫描完成后恢复的文件会保存在你指定的目录下按文件类型分子文件夹。但文件名会丢失取而代之的是类似f1234567.jpg的编号目录结构也会丢失。优点无视文件系统恢复底层数据应对严重数据损坏能力强。缺点恢复的文件丢失原名和目录结构后期整理工作量巨大会恢复出大量碎片文件包括已覆盖部分的残留需要人工筛选。3.3 其它工具与策略scalpel、foremost同样是文件雕刻工具原理类似PhotoRec可以作为备选。商业软件如R-Studio, DMDE的网络版搜索材料里提到了 R-Studio 和 DMDE。它们通常有更友好的图形界面和更强大的算法。但请注意确保下载的是Linux 版本。它们可能是商业软件需要购买许可。绝对不要将其安装到待恢复的分区。应该在Windows或另一个Linux系统上制作好启动U盘或者将软件安装到移动硬盘在Live USB环境中运行。利用备份如果你有定时备份如rsync,borg,timeshift这是最简单直接的恢复方式。检查你的备份存储位置。工具选择建议流程图被删文件是否在独立的、可卸载的数据分区 ├── 是 → 卸载分区。优先尝试 extundelete保留原名和目录结构。 │ 如果 extundelete 无效或文件系统非ext使用 PhotoRec。 └── 否 → 文件在系统盘 1. 立即准备 Live USB 环境。 2. 从 Live USB 启动。 3. 在 Live USB 中将原系统盘挂载为只读。 4. 参照上述流程选择 extundelete 或 PhotoRec 进行恢复。4. 执行恢复与后期验证的实操细节选好工具和策略后真正的操作过程更需要细心。4.1 以extundelete为例的完整操作流程假设场景你在/home/work/data/目录下误删了文件该目录属于/dev/sda3分区挂载在/home。你有一个移动硬盘挂载在/media/yourname/BackupDisk。进入安全环境如果可能重启进入 Live USB。如果必须在原系统操作打开终端。停止写入关闭所有无关程序。确保当前终端工作目录不在/home下cd /tmp。以只读方式重新挂载目标分区可选但推荐sudo umount /dev/sda3 # 先卸载 sudo mount -o ro /dev/sda3 /mnt # 以只读方式挂载到临时位置执行恢复cd /media/yourname/BackupDisk # 切换到存放恢复结果的磁盘 sudo extundelete /dev/sda3 --restore-directory /home/work/data等待并检查命令执行后会在当前目录生成RECOVERED_FILES文件夹里面会尝试重建/home/work/data的目录结构。用ls -R RECOVERED_FILES查看恢复出的文件列表。验证文件随机挑选几个恢复的文件用相应的查看器如cat看文本xdg-open打开图片检查内容是否完整、正确。不要直接覆盖或移动先确认。4.2 以PhotoRec为例的后期整理工作使用PhotoRec恢复后面对一堆以数字命名的文件整理是关键。按类型筛选PhotoRec已经按扩展名分类。你可以先聚焦于你最需要的类型如.pdf,.docx,.jpg。使用文件内容查看工具对于图片可以用gthumb或feh进行幻灯片式浏览快速识别。对于文档可以用strings命令结合grep搜索文件内容中的关键字。例如在恢复的PDF文件夹中grep -l 项目报告 *.pdf可以找出内容包含“项目报告”的PDF文件。对于代码或文本直接用cat、less或文本编辑器打开查看。重命名与归档这是一个手动过程没有捷径。建议建立一个清晰的目录结构将确认有用的文件移入并立即根据内容重命名。4.3 如何判断数据是否已被覆盖这是决定恢复成功率的核心。没有100%准确的判断方法但有以下迹象恢复工具找不到任何痕迹extundelete扫描后报告找不到任何可恢复的文件。恢复出的文件损坏或大小异常用file命令检查恢复的文件类型是否正确如file recovered.jpg用正确的软件打开看是否报错、图片是否只有半截、文档是否乱码。恢复出的文件内容是其它文件或乱码这强烈表明该文件原来的数据块已经被新数据占用。如果出现严重覆盖PhotoRec这类雕刻工具可能还能找回一些文件碎片但完整恢复特定文件的概率极低。5. 预防胜于抢救建立日常数据安全习惯一次成功的恢复有运气成分更可靠的是不让它发生。5.1 配置更安全的回收站与删除策略调整rm命令别名在~/.bashrc文件中添加一行alias rmrm -i # 删除前询问确认或者使用更安全的trash-cli工具将文件移到回收站而非直接删除sudo apt-get install trash-cli alias rmtrash-put # 用 trash-put 替代 rm修改后执行source ~/.bashrc生效。使用图形化文件管理器时拖拽文件到回收站而不是直接按ShiftDelete。清空回收站前务必二次确认。重要项目目录使用版本控制对于代码、文档使用git进行管理。即使本地删除也可以从仓库历史中找回。5.2 实施有效的备份方案这是数据安全的终极保障。本地备份使用rsync脚本定期将重要目录同步到另一块硬盘或NAS。# 示例每天凌晨1点同步 /home/user/Docs 到 /mnt/backup # 编辑 crontab -e添加 0 1 * * * rsync -av --delete /home/user/Docs/ /mnt/backup/Docs/快照功能如果使用Btrfs或ZFS文件系统可以利用其快照功能在误删后迅速回滚到之前的状态。银河麒麟默认可能未启用但可作为一个高级选项了解。云备份对于极其重要的数据考虑加密后备份到可靠的云存储服务。5.3 关键操作前的检查清单在执行任何可能影响大量文件的命令如rm -rf,mv, 批量重命名前养成习惯先echo或ls预览例如执行rm -rf *.log前先ls *.log看看会匹配哪些文件。在测试目录操作对于不熟悉的命令或脚本先在/tmp下创建测试目录和文件进行操作。使用-n或--dry-run参数很多命令如rsync,cp支持模拟运行只显示会做什么而不实际执行。最后如果真的遇到数据丢失记住这个核心优先级止损停写 分析位置、工具 行动在安全环境恢复 验证检查完整性。保持冷静按步骤来多数情况下数据都能找回来。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门