oldshensheep
V2EX  ›  Windows

Windows 也有快照功能?

  •  3
     
  •   oldshensheep · Aug 10, 2022 · 6010 views
    This topic created in 1391 days ago, the information mentioned may be changed or developed.

    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

    FAQ

    https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service#frequently-asked-questions

    参考文档

    https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service

    https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/vssadmin-delete-shadows

    https://www.windowsphoneinfo.com/threads/schedule-shadow-copy-problem-wmic.529068/

    10 replies    2022-10-25 18:05:23 +08:00
    cnbatch
        1
    cnbatch  
       Aug 10, 2022
    卷影复制服务呀,我所在的公司一直在用,给 SMB 的文件夹做文件版本备份

    对于 PC 版 Windows 而言,其实就是系统自带的文件历史还原,也就是
    [控制面板]→系统和安全→文件历史记录

    不同的是,控制面板的设置有限制,只对指定的文件夹开放,而命令行操作方式可以让其他文件夹也能用上
    oldshensheep
        2
    oldshensheep  
    OP
       Aug 10, 2022
    @cnbatch 不一样的这个是文件系统的快照不是备份。快照几秒钟就可以完成了。
    cnbatch
        3
    cnbatch  
       Aug 10, 2022
    当然快了,用命令行创建的是针对整个卷的快照历史(对于文件、文件夹层面而言,最后的效果在“以前的版本”当中相同)

    系统还原的基础其实就是卷影复制,所以启用了系统还原也会导致卷影复制的空间占用消耗变大
    C02TobNClov1Dz56
        4
    C02TobNClov1Dz56  
       Aug 10, 2022

    为啥我 c 盘 d 盘不显示??
    我是 ssd, 没开加密
    oldshensheep
        5
    oldshensheep  
    OP
       Aug 10, 2022
    @chengyiqun
    我这个介绍的不是文件历史记录功能,这个是快照不是备份,这个功能没有 GUI 的。如果要恢复备份,右键文件属性。

    文件历史记录功能要求使用外部驱动器进行备份,所以没有显示部分硬盘。
    oldshensheep
        6
    oldshensheep  
    OP
       Aug 10, 2022
    如果要浏览以前的快照可以用这个软件
    https://www.nirsoft.net/utils/shadow_copy_view.html
    cweijan
        7
    cweijan  
       Aug 10, 2022
    厉害了, 确实没见过呢
    yaoyaomoe
        8
    yaoyaomoe  
       Aug 10, 2022 via iPhone
    其实 vss 就是所谓的卷影
    文件历史记录也是基于卷影的
    这个功能理论上是卷影复制服务中卷影副本,而卷影源等于目的位置
    卷影的三种形式中 cow 和 redirect 都是不重建卷(复制)的
    这也是为什么 windows server 备份中的内容可以像时间机器一样挂载

    https://docs.microsoft.com/zh-cn/windows/win32/vss/volume-shadow-copy-service-portal
    kenvix
        9
    kenvix  
       Aug 11, 2022
    老早就有了,NTFS 的“卷影副本”特性,不过一直只有 server 可以直接用
    justaname
        10
    justaname  
       Oct 25, 2022
    @yaoyao1128 文件历史记录并不是卷影,那玩意儿是基于文件的,卷影是基于文件系统的。文件历史记录就是直接给你拷贝一个原始文件过去。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3308 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 5414617a · 43ms · UTC 11:44 · PVG 19:44 · LAX 04:44 · JFK 07:44
    ♥ Do have faith in what you're doing.