应立即停止写入并区分还原点类型:系统级快照不覆盖用户桌面文件,第三方工具回滚需检查timeshift或rsync备份路径;优先从kylin backup的/backup/userdata/恢复,或挂载btrfs快照提取,无备份时用lsof找回已删文件。

银河麒麟系统中误用“系统还原点”功能,导致桌面文件被旧版本覆盖丢失,需立即停止写入操作并从备份源或快照机制中提取原始文件,关键在于区分还原点类型(系统级快照 vs 用户数据备份)并定位可恢复的数据源。
确认还原点触发方式与影响范围
打开终端,执行 ls -la ~/Desktop/ 查看当前桌面文件修改时间,比对是否集中落在某次还原操作之后;若还原是通过“麒麟管家→系统备份→还原点回滚”执行的,该操作默认【仅覆盖系统配置和已注册应用状态,不触碰用户主目录下的 Desktop、Documents 等目录】,此时文件应仍在原位置——只是被隐藏或权限锁死。
若还原动作来自第三方工具(如 Timeshift 或手动 rsync 回滚),则需立刻检查其备份路径:运行 ls /var/lib/timeshift/backup/ 或 ls /backup/,确认是否存在带时间戳的快照目录。找不到快照即说明未启用自动快照,后续步骤无效。
从系统自带备份中提取桌面文件
银河麒麟 v10 自带 Kylin Backup 工具,若曾开启“用户数据自动备份”,其归档默认存于 /backup/userdata/ 下按日期分卷。
第一步:执行 sudo ls -lt /backup/userdata/ 列出最新备份目录,例如 20260925_143201;
第二步:进入该目录,运行 find . -path "./Desktop/*" -type f | head -n 5 快速验证桌面文件是否存在;
第三步:确认后,用 sudo cp -r /backup/userdata/20260925_143201/Desktop/* ~/Desktop/ 恢复全部文件;【注意:不要加 -a 参数,避免覆盖当前文件的 SELinux 上下文导致后续无法打开】。
从快照卷中挂载并拷贝(适用于 Timeshift 用户)
方法一:直接挂载只读快照
执行 sudo mkdir /mnt/ts-snap && sudo mount -o ro /dev/sda2 /.snapshots/123/snapshot /mnt/ts-snap(其中 123 是快照编号,通过 sudo btrfs subvolume list /.snapshots 获取)→ 进入 /mnt/ts-snap/home/用户名/Desktop/ → 复制所需文件到当前桌面。
方法二:使用 Timeshift 图形界面恢复单个目录
启动 Timeshift → 点击左下角“设置”→ 勾选“显示快照内容”→ 在快照列表中右键目标快照 → 选择“浏览快照”→ 导航至 home/用户名/Desktop → 用文件管理器拖出文件到真实桌面。
若无备份且文件已不可见
立即执行 lsof +D ~/Desktop/ 2>/dev/null | grep deleted,查看是否有进程仍持有被删文件句柄;若有输出,说明文件尚未被彻底释放,可用 cp /proc/PID/fd/FD号 ~/Desktop/recovered_file 直接提取(PID 和 FD号 从上条命令结果中获取)。
这一步操作起来很简单,直接把文件拖进去就行。











