利用Windows卷影副本(Volume Shadow)找回被覆盖和删除的数据

利用Windows卷影副本(Volume Shadow)找回被覆盖和删除的数据

Windows默认启用的系统恢复机制会定期创建卷影副本,创建的时机通常为安装或卸载软件以及系统更新。卷影副本 (Volume Shadow) 实际上就是我们在 Linux 上经常提到的 “快照(Snapshot)”,它利用写时复制 (CoW) 机制为我们提供了文件系统在某个时间点的一个状态的视图。通过利用这个视图,我们可以找回近期不慎删除或被覆盖的数据,也可以用于某些电子取证场景。实际上,系统恢复就是利用快照机制还原文件到先前某个状态实现的。

注意: 由于卷影副本存在一个严重的bug, 该方法并不可靠!找回的文件数据可能不完整,或需要手动拼接。该方法仅供紧急情况或取证场景使用,切勿以此代替备份软件。

前提条件: 系统恢复未被禁用、文件系统为NTFS、存在可用的系统恢复还原点

利用软链接将卷影副本链接到常规磁盘分区下面,就可以访问这些过去时间点的文件系统视图了。

方法NirSoft搞了个小工具可以浏览卷影副本,不过它实在是有够难用,这里就详提了,不过有兴趣的话可以在这里下载。

在本文,我们直接将卷影副本挂载到文件系统下。

挂载卷影副本

打开管理员 PowerShell:

执行 vssadmin list shadows,你将得到类似的输出:

# vssadmin list shadows

vssadmin 1.1 - 卷影复制服务管理命令行工具

(C) 版权所有 2001-2013 Microsoft Corp.

卷影副本集 ID: {417b9ac4-5e82-4687-9ee5-83b5336d938b} 的内容

在创建时间: 2023/12/27 15:02:31 含有 2 个卷影副本

卷影副本 ID: {73db4f82-8385-4d31-961e-d2580f7e18e7}

原始卷: (C:)\\?\Volume{d95a35be-bbe1-441e-9d96-18000983ef7e}\

卷影副本卷: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2

源起机器: REVO

服务机器: REVO

提供程序: 'Microsoft Software Shadow Copy provider 1.0'

类型: ClientAccessibleWriters

属性: 持续, 客户端可访问, 无自动释放, 差异, 自动还原

卷影副本 ID: {76f24a70-defe-4d38-9864-538077402122}

原始卷: (F:)\\?\Volume{2d738c4b-1e6e-416e-bc9b-d15d512cfe98}\

卷影副本卷: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10

源起机器: REVO

服务机器: REVO

提供程序: 'Microsoft Software Shadow Copy provider 1.0'

类型: ClientAccessibleWriters

属性: 持续, 客户端可访问, 无自动释放, 差异, 自动还原

注意”原始卷:” 一列表示你的磁盘分区根据原始卷和日期,找到你想要挂载的卷影副本

复制 “卷影副本卷” 后面的一串 UNC 路径,我们以第二个为例,复制:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10

执行以下命令将卷影副本挂载到文件系统,在本文中,我们将其挂载到 C:\Mounts\HarddiskVolumeShadowCopy10,注意要把 \\? 替换为 \\. ,并在末尾补上一个反斜线:

# 首先自行创建一个文件夹 C:\Mounts

# 注意把 \\? 替换为 \\. 并在末尾补上一个反斜线

New-Item -Path C:\Mounts\HarddiskVolumeShadowCopy10 -ItemType SymbolicLink -Value \\.\GLOBALROOT\Device\HarddiskVolumeShadowCopy10\

预计得到以下输出:

目录: C:\Mounts

Mode LastWriteTime Length Name

---- ------------- ------ ----

d----l 2024/1/4 13:47 HarddiskVolumeShadowCopy10

打开目录 C:\Mounts\HarddiskVolumeShadowCopy10,你将看到卷影副本的文件系统视图,你可以在这里找回被覆盖或删除的文件。注意核对文件内容是否有损坏,卷影副本中的文件可能会出现以簇(4KB)为单位的连续静默损坏,这是卷影副本的一个严重bug所致,一定要注意核查文件内容!!但如果文件内容没有出现 4KB 为单位的连续 0x00 或 NUL 则通常没有问题。

卸载卷影副本用完了建议卸载卷影副本。卸载很简单,无需打命令,直接打开资源管理器删除 C:\Mounts\HarddiskVolumeShadowCopy10 即可。

常见问题

挂载时提示 “找不到路径“\.\GLOBALROOT\Device\HarddiskVolumeShadowCopy10”,因为该路径不存在”:你要把 \\? 替换为 \\. ,并在末尾补上一个反斜线

文件复制出来是一大堆 0x00 或 NUL

恭喜你,该卷影副本关于的这个时间点的文件的数据已经从硬盘上完全消失了,没办法找回它,这也就是为什么我说这玩意不靠谱也就救急用。关于这个问题,请详见这个讨论贴

相关推荐

16个你不知道的生活冷知识,康熙来了这档综艺的名字是怎么来的?
武汉洗脚好去处推荐,哪家店铺口碑佳?
365bet登录地址

武汉洗脚好去处推荐,哪家店铺口碑佳?

📅 06-28 👁️ 2211
FSU是哪所美国大学?
365bet登录地址

FSU是哪所美国大学?

📅 08-08 👁️ 7785
【我的世界杯记忆】阿根廷别为我哭泣
365sport365中文版

【我的世界杯记忆】阿根廷别为我哭泣

📅 10-06 👁️ 6144
小米信号稳定性怎么样?(从用户反馈和专业测试结果来看)
汽车离合器坏了修多少钱?
365bet登录地址

汽车离合器坏了修多少钱?

📅 11-17 👁️ 7090
堡垒之夜进不去设置/进不去epic怎么办 最新解决方法
beat365官网在线

堡垒之夜进不去设置/进不去epic怎么办 最新解决方法

📅 06-22 👁️ 2825
格拉菲特
beat365官网在线

格拉菲特

📅 08-22 👁️ 5663
酵素多少钱一盒 酵素怎么吃
365bet登录地址

酵素多少钱一盒 酵素怎么吃

📅 01-28 👁️ 7346