按标签存档 备份
卷影副本设置导致的备份失败
Windows Vista/7中包含了备份工具,可用于备份文件和系统,这一工具在Windows 7中的功能得到了进一步加强。因此我一般的使用习惯是:安装好系统和必要软件后,对系统创建一个备份,这样以后随时就可以用备份恢复到安装好的状态。同时每天定时自动将重要文件备份一遍。系统和文件的备份都保存在一块USB接口的外置硬盘上。
昨天,因为系统有些问题,想要用备份恢复。恢复完毕后,想到原始的备份中缺少一个设置,于是在修改了需要的设置后,将备份用的硬盘格式化(Windows资源管理器中进行的常规格式化),打算为系统重新备份一个映像。不过这次备份的时候竟然失败了,而且错误原因很令人费解:
具体的错误原因竟然是磁盘空间不足,错误编号为“0x8004231F”。很明显这个错误信息完全没用,因为无论是要备份的盘(C盘),还是用于保存备份文件的盘(G盘),都有绝对充足的可用空间。在网上搜索了半天,有人建议重启动VSS服务,或者用vssadmin命令重新调整系统盘的卷影副本可用空间大小,然而这些都应该不是导致问题的根源。Vssadmin是一个命令行工具,可用于查看和调整与卷影副本有关的参数。例如,如果要查看每个卷的卷影副本可用空间量信息,就需要运行“vssadmin list shadowstorage”。可我的系统运行该命令后看到,可用空间绝对是够用的:
仔细查看后发现一个问题,对于用于保存备份文件的G盘,可允许卷影副本功能使用的硬盘空间量为“0”,考虑是否是这个原因导致的。于是针对用于保存备份文件的分区(G盘)运行Vssadmin命令,增大卷影副本可用的空间量。最终发现备份功能终于正常了。
如果需要在命令行下调整某个分区的卷影副本可用硬盘空间量,需要运行“vssadmin Resize ShadowStorage /For=C: / On=C: / Maxsize=xxGB”命令,其中“For”对应的是要调整的分区,“On”对应的是用于保存卷影副本内容的分区,而“Maxsize”则是允许该功能使用的最多空间量。如果不习惯命令行操作,也可以右键单击“计算机”,选择“属性”,打开属性窗口,单击窗口左侧的“系统保护”,在保护设置列表中选中需要配置的分区,单击“配置”按钮进行修改。
另外还有一个问题,在服务器版本的Windows上,一个分区的卷影副本数据内容是可以保存在这个分区以外的地方的。例如,对于文件服务器,可以使用一个分区保存文件,另一个分区(可能位于另一块硬盘上)保存卷影副本内容,这样可以进一步提升性能。因此上述命令可以使用“For”和“On”这两个参数。但对于客户端版本的Windows,不知道是否支持这样的做法,我也没有试验过。因此遇到相似问题的朋友最好还是对这两个参数使用相同的位置。
其实网上的解决方法是正确的,但叙述不够严谨。至少在本例中,备份出错的原因是因为用于保存备份文件的位置卷影副本配置有误,可我在网上找了很久,几乎所有内容都没有提及这一点,而是以“C”盘为例介绍该命令的用法。因此这里需要提醒大家:如果因为配置错误导致卷影副本功能出错,也许错误的并不是被保护的分区,而是用于提供保护的分区。另外这个问题不仅会出现在Windows自带的备份工具上,任何正常运行需要借助卷影副本服务的程序,无论是不是备份软件,都有可能遇到这样的问题。
天哪,我的硬盘
目前我的主力本子用了一块320 GB的7200转硬盘,是今年2月6日购买并安装的,详细信息可以看当时写的一篇文章。不得不说,由5400转升级到7200转,性能确实提升了不少,而且用这也挺爽。
但是,最近突然遇到一些很奇怪的问题。我很重视数据安全,所以平时对自己的重要文件采取了非常妥善的备份。基本上,我用的方法有四种:
- 在本地,使用卷影副本功能,保护文件不被误删除或误操作,或者至少发生此类事情后可以正常恢复。
- 通过Windows的脱机文件功能,将文件同步到家里的其他电脑上,这样也可以预防文件被误删除或误操作。同时还可以预防我的主力本子硬盘故障或中毒,导致重要文件丢失。
- 使用Windows自带的备份功能,将所有重要文件备份到一块专用的移动硬盘上。这样可以进一步在需要时实现更快速的恢复。
- 使用Live Mesh软件,将所有最重要的文件异地备份到微软的网络中,微软提供5 GB的免费存储空间。其实以前我没有进行异地备份的想法,主要觉得对于我来说,文件还没有重要到那种程度。但去年的地震时候,我也开始慎重考虑异地备份的价值,毕竟各种自然灾害或者其他极端恶劣的问题总有可能发生,那就不得不防。而如果所有数据进行过各种妥善的保护后,依然是在一个比较集中的位置进行保管,那就难免会受到损失。更何况Live Mesh软件操作简单,速度比较快,而且还免费,那就更没有理由不考虑。
但是最近在使用移动硬盘备份文件时经常遇到一些莫名其妙的问题。前两天,备份总是失败,备份程序报错说磁盘错误。我本来还以为是移动硬盘的问题,就将移动硬盘进行了格式化处理,然后重新创建备份。结果格式化后还是出错。最后检查了一下事件日志,发现说我的D盘(本地硬盘,保存重要文档)有错误,于是运行chkdsk进行扫描和修复。修复之后问题解决,备份恢复正常。当时这个问题只发生了一次,所以没有足够的重视。
Windows 7备份程序的改进
从Vista开始,客户端Windows自带的备份程序有了不小的变化,虽然操作上更傻瓜,但并没有吸引多少普通用户养成定期备份重要文件的习惯,反而让一些知道备份工作的重要性,并已经习惯于备份文件的技术用户非常不满。关于这个问题,我曾有一篇Blog专门进行过介绍。
也许用户的反对声真的很大,或者微软也意识到这样做并不好,所以在Windows 7中,备份程序终于有所改进了。且听我一一道来。
首先,最重要的一个问题,对于备份,如果一个用户不是有足够的技术能力,只是一个普通的用户,无论系统自带的备份程序如何改进,可能根本不会意识到备份操作的重要性。因此无论备份程序如何设计,不管是操作简单但功能薄弱,还是功能强大但操作复杂,普通用户都不会主动考虑备份自己的文件。因此第一个比较明显的改进就是,当我们将一个可移动存储设备(例如USB移动硬盘)连接到系统后,自动播放对话框上会新增一个用于设置备份功能的选项。
如果还没有设置过备份选项,那么每个外置存储设备连接到电脑后,都会出现用于设置备份的选项。但只要设置过备份,只有在连接了用于备份的设备后,才会出现开始备份的选项。连接其他设备将不会出现任何有关备份的选项。
其次,在设置备份时,用于选择备份内容的选项更灵活。例如在Vista中,我们只能根据文件类型来选择,例如是否要备份图片,是否要备份文档。但这里最大的问题是,到底什么才是Vista所认为的”文档”?用微软自家办公软件创建的.docx文件肯定是”文档”,但如果我用了一个比较不常见的办公软件,其保存的文件格式是.xyz,这种文件是否会被Vista认为是”文档”?不知道。而且Vista发布已经好多年了,微软至今依然没有说明过,Vista的备份程序中每种类型的文件分别包含哪些扩展名(或者说明了,但我不知道)。
不过在Windws 7中就简单多了。首先,通过使用库功能,我们可以将一些自己用于保存重要文件的位置添加到库中。例如,我们用了一个专用文件夹来保存所有工作文档,并将这个文件夹添加到了”文档”这个库中。那么只要在备份时选择了要备份”文档”这个库的内容,无论库中包含了哪些物理文件夹,无论这些文件夹中保存了什么扩展名的文件,都将可以备份起来。而且不仅如此,我们还可以在计算机中指定某些要备份的文件夹。这样就算要备份的内容并未添加到库中,一样可以备份。这一点相比Vista是一个非常大的进步。
对于Vista的备份,另一个比较弱智的地方则在于系统盘的备份。让我们假设一个比较极端的情况。一台电脑,安装了两个操作系统,其中C盘安装了XP,文件共占用20GB空间;D盘安装了Vista,文件共占用40GB空间;E盘保存了我们要备份的文件,共占用200MB空间。那么在Vista中,如果需要备份这200MB文件,我们需要准备多少存储空间?200MB?完全不是。
首先,无论备份什么,在Vista中,备份程序都会把包含了系统或引导文件的硬盘分区内容备份起来。这句话有两个含义:
- 如果某个分区上包含了系统文件,那么就算只想要备份E盘的200MB数据,也需要备份系统文件,这个选项是默认选中的,并且不可取消。
- 如果某个分区中有系统文件,那么Vista的备份程序将备份整个分区,而非仅仅是系统文件。
因此对于上述情况,为了备份200MB的文档,我们需要准备20GB+40GB+200MB的备份空间。因为在双系统情况下,虽然Vista被安装在D盘,可在C盘的根目录下依然保存有引导文件,因此C盘需要备份。而又因为Vista安装在D盘,所以D盘的所有40GB数据也需要备份。为了备份200MB的文档,在Vista中我们就需要无谓地浪费掉60GB备份空间。
不过在Windows 7中就人性化多了,有选项决定是否备份系统。如果不需要,我们完全可以不要选择,将宝贵的备份空间留给更有价值的文件。
最后一点,自从Vista中的备份程序变得不那么让人喜欢后,可能很多人都开始寻其他备份方式。例如我就曾使用过Symantec公司的Ghost软件。和很多人想象中的不同,Ghost并非仅仅是DOS下那个简单的程序,Windws版的Ghost功能非常强大,不仅可以备份系统,而且也完全可以充当一个完备的备份解决方案。但这个程序的使用很麻烦,不够灵活,最重要的是,我不想给系统里安装那么多软件。
如果你已经在使用Windows 7,并在Windows自带备份工具和其他备份工具之间进行抉择,那么建议你考虑看看Windows 7的备份工具。因为这个工具完全可以和卷影副本功能结合在一起使用。
这个功能可以让我随时将重要文件或文件夹恢复到之前某个时间点上。例如有篇文章,经过多次修改,交给了编辑。但编辑看过后说,还是觉得上周二修改后的那个版本更好。如果不使用卷影副本功能,为了满足这种需要,必须设置让Word每次都将文件保存成一个新的版本,不仅占据硬盘空间,而且文件副本太多,难以管理。但有了卷影副本功能后,所有这一切都可以在系统自动创建还原点的时候自动进行,并且通过文件或文件夹的属性对话框,就可以随时恢复文件到之前某一时刻的状态下,唯一的前提是要求系统中保存有当时的还原点。
上面列出的是之前我一篇文章中对这个功能的介绍。其实对于卷影副本,我们不仅可以使用还原点中的数据进行恢复,而且完全可以使用备份中的状态来恢复,而且所有这些特性都是在一个界面中实现的。很多人觉得OS X里的Time Machine功能很好用,其实Windows下的卷影副本技术和那个功能根本没有太大区别(当然,缺少花哨的界面,不过这就是很奇怪的一个问题,类似的东西,出现在Windows上被称做”华而不实”、”没啥大用”,出现在OS X上就成了”伟大的创新/突破”)。而且卷影副本功能从Windows Server 2003时代就出现了,只不过那时需要依赖Server端才能实现,但从Vista开始,单纯的客户端系统也可以使用。
另外,Windows 7中的备份工具也可以直接将文档备份到光盘上,或者直接创建系统恢复光盘。这样系统崩溃后,用光盘引导就可以完成系统恢复工作。只不过这个功能我还没有使用过,就不详细介绍了。
但是,目前Windows 7中的备份工具还有一点很大的不足。其实也没啥大不了的,但我就是个完美主义者,我觉得这个问题很影响使用。
问题是这样的:我们很多人可能都习惯于将自己的重要文档备份到移动存储设备上。但作为一则最佳实践,对于备份,建议使用专用的设备,例如专门准备一块移动硬盘用于备份文件,并且平时最好将硬盘从电脑上断开,并保存到安全的位置,只有在需要备份或恢复时才将这块硬盘连接到电脑。这样做可以最大程度避免移动硬盘上的数据被感染,或在移动的过程中跌落撞坏。
可是,如果我们使用移动硬盘进行备份,并设置了自动定期备份。在安排好的备份时间里,如果这块硬盘并没有连接到电脑(也许是因为工作太忙,忘记了),会怎样?备份自然会失败,但问题在于,用户完全得不到任何通知。其实通知是有的,如果将鼠标指针放在Action Center的图标上,就能从弹出的工具提示中得知有一则事件需要我们关注。而如果单击Action Center的托盘图标,从弹出的窗口中,也能详尽地看到这一点。不过,Action Center图标本身是没有任何变化的。也就是说,系统并未使用足够能引起人注意的方式通知用户。
这个问题我已经提交给了测试团队,并等待他们的反馈。我希望的是,如果因为设备没有连接导致备份失败,系统能够用更加明显,也更持久的方式提醒用户的注意。例如,首先使用一个气泡图标提醒用户,因为设备没有连接,导致备份工作失败。随后,在系统托盘的Action Center上显示一个比较显眼的”X”图标,就好像杀毒软件的病毒定义过期那样的提醒方式。
相信通过这样的设计,我们才不会因为疏忽而忘记备份自己的文件,而同时文件也能得到更好的保护。













最新评论