Windows 也有快照?真的是文件系统的快照?还可以通过系统自带的文件历史还原?
Windows 称之为 Volume Shadow Copy (VSS)
Windows 的快照是通过 Copy On Write 实现的,众所周知对性能有一定影响。
新建快照是不需要开启系统还原点功能的!
开启还原点功能会导致老的快照更快的被删除,因为快照占用的空间是有限的,而还原点会占用大量的快照空间,快照空间不足就会删除旧的快照,所以最好把还原点功能关闭了。
新建一个文件测试一下快照 在 HOME 目录下新建一个内容为 100 的 test.txt 文件
❯ 100 > test.txt
❯ cat .\test.txt
100
创建一个 C 盘的快照,注意我这里用了 sudo 表明需要管理员权限。
❯ sudo wmic shadowcopy call create Volume=C:\
Executing (Win32_ShadowCopy)->create()
Method execution successful.
Out Parameters:
instance of __PARAMETERS
{
ReturnValue = 0;
ShadowID = "{57587129-D224-4E21-BC36-4C3D9B1DFDC7}";
};
快照就成功建立了!
看看效果是怎么样的,把之前新建得到 ~/test.txt 的内容修改为 101 试试。
❯ 101 > ~/test.txt
❯ cat ~/test.txt
101
在文件管理器打开这个文件的属性,可以打开和恢复到之前的版本。
查看文件发现恢复到之前的状态了。
❯ cat ~/test.txt
100
vssadmin 可以操作快照,支持以下命令,注意把命令换成小写开头。
如vssadmin delete shadows
而不是vssadmin Delete Shadows
,输入命令会有帮助文档。
❯ vssadmin
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Error: Invalid command.
---- Commands Supported ----
Delete Shadows - Delete volume shadow copies
List Providers - List registered volume shadow copy providers
List Shadows - List existing volume shadow copies
List ShadowStorage - List volume shadow copy storage associations
List Volumes - List volumes eligible for shadow copies
List Writers - List subscribed volume shadow copy writers
Resize ShadowStorage - Resize a volume shadow copy storage association
删除 C 盘的所有快照
❯ sudo vssadmin delete shadows /for=C:
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Do you really want to delete 3 shadow copies (Y/N): [N]? Y
Successfully deleted 3 shadow copies.
https://www.nirsoft.net/utils/shadow_copy_view.html
这个软件
可以浏览任意一个快照的内容
可以方便的在文件管理器打开当前快照
可以……
2 个命令wmic shadowcopy call create Volume=C:\
和vssadmin
https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service
https://www.windowsphoneinfo.com/threads/schedule-shadow-copy-problem-wmic.529068/
1
cnbatch 2022-08-10 15:52:52 +08:00
卷影复制服务呀,我所在的公司一直在用,给 SMB 的文件夹做文件版本备份
对于 PC 版 Windows 而言,其实就是系统自带的文件历史还原,也就是 [控制面板]→系统和安全→文件历史记录 不同的是,控制面板的设置有限制,只对指定的文件夹开放,而命令行操作方式可以让其他文件夹也能用上 |
2
oldshensheep OP @cnbatch 不一样的这个是文件系统的快照不是备份。快照几秒钟就可以完成了。
|
3
cnbatch 2022-08-10 16:27:45 +08:00
当然快了,用命令行创建的是针对整个卷的快照历史(对于文件、文件夹层面而言,最后的效果在“以前的版本”当中相同)
系统还原的基础其实就是卷影复制,所以启用了系统还原也会导致卷影复制的空间占用消耗变大 |
4
chengyiqun 2022-08-10 17:44:04 +08:00
|
5
oldshensheep OP @chengyiqun
我这个介绍的不是文件历史记录功能,这个是快照不是备份,这个功能没有 GUI 的。如果要恢复备份,右键文件属性。 文件历史记录功能要求使用外部驱动器进行备份,所以没有显示部分硬盘。 |
6
oldshensheep OP 如果要浏览以前的快照可以用这个软件
https://www.nirsoft.net/utils/shadow_copy_view.html |
7
cweijan 2022-08-10 18:54:14 +08:00
厉害了, 确实没见过呢
|
8
yaoyao1128 2022-08-10 23:13:31 +08:00 via iPhone
其实 vss 就是所谓的卷影
文件历史记录也是基于卷影的 这个功能理论上是卷影复制服务中卷影副本,而卷影源等于目的位置 卷影的三种形式中 cow 和 redirect 都是不重建卷(复制)的 这也是为什么 windows server 备份中的内容可以像时间机器一样挂载 https://docs.microsoft.com/zh-cn/windows/win32/vss/volume-shadow-copy-service-portal |
9
kenvix 2022-08-11 12:10:05 +08:00
老早就有了,NTFS 的“卷影副本”特性,不过一直只有 server 可以直接用
|
10
justaname 2022-10-25 18:05:23 +08:00
@yaoyao1128 文件历史记录并不是卷影,那玩意儿是基于文件的,卷影是基于文件系统的。文件历史记录就是直接给你拷贝一个原始文件过去。。
|