还原系统

2024-05-24

还原系统(精选12篇)

还原系统 篇1

1 系统还原技术原理

所谓还原技术,就是指记录下以前某个时刻计算机系统的状态,并提供一种“回滚”手段使得计算机系统又能够回到那个时刻的状态,其间任何对系统的改动,如文件修改,注册表修改等全部消失,这样只要计算机用户能保证系统在之前的状态是“干净”的、可信赖的,利用这种“回滚”机制整个系统就可以一直保持“干净”状态。这里面最核心的技术是记录原先的状态和截获并存储新的改动,这就涉及到对操作系统I/O流程的干预。

图1是计算机操作系统中存储栈 (storage stack) 关键组件的层次图,应用程序打开文件进行读写,I/O子系统则负责把用户的文件读写请求发给文件系统驱动,然后文件系统驱动把文件读写请求转化成块 (block) 读写请求,并把块读写请求转发给卷(例如:在Windows操作系统中卷指的是C盘、D盘、E盘等)驱动程序,卷驱动修正一下块的偏移位置然后转发给磁盘(Windows磁盘管理中磁盘0、磁盘1、磁盘2等)驱动,磁盘驱动最后把该请求发到真实磁盘硬件上进行真正的处理(主要是中断处理、读写寄存器等)。所有的I/O(最终体现为对硬盘数据块内容的修改)都在这个存储栈上流动,因此尽管不同的还原软件有不同的实现方法,但是一定位于这个存储栈上的某个位置以监视数据块的改变。以WindowsXP自带的系统还原为例,其还原功能的核心组件实际上就是一个卷过滤驱动程序 (又称卷影拷贝,volsnap.sys) ,位于文件系统驱动与卷驱动之间,这样,在卷一级数据块的修改会先被卷过滤驱动程序截获,卷过滤驱动然后就可以做些处理使得日后能够还原。图2描述了基于卷过滤驱动的还原软件的详细处理流程。

如图2所示,假设用户文件对应卷上的三个数据块a、b和c,然后用户启动了系统还原功能建立了一个还原点,那么卷影拷贝驱动就开始工作,接着用户修改了这个文件,导致对应的b数据块遭到修改,由于卷影拷贝驱动在卷驱动上方,对b数据块的修改被卷影拷贝驱动先截获,卷影拷贝驱动把改动写入其内部维护的“改动存储池” (用b'数据块代表) ,接着登记一个映射记录<b-b'>,然后返回成功给应用程序。假设以后应用程序需要读取数据块b的内容了,读取请求又被卷影拷贝驱动先于卷驱动前截获,卷影拷贝驱动查找映射记录表,获知b块对应着改动存储池中的b'块,于是卷影拷贝驱动直接读取b'块的内容返回给上层应用程序;如果应用程序读取的不是b块而是c块,同样块读取请求被卷影拷贝驱动先得到,这次卷影拷贝驱动在映射记录表中查找不到跟c块对应的记录,于是卷影拷贝驱动直接下发请求到下层卷驱动去读取c块内容;同理,卷影拷贝驱动也是这样处理对其他文件数据块的改变;如果之后用户想还原整个卷了,系统还原程序只需要丢弃整个“改动存储池”,删除映射记录表就可以了。类似的,基于磁盘的还原软件也有同样的实现原理,只不过稍微底层一些,它们把自己做成一个磁盘过滤驱动,位于卷驱动和磁盘驱动之间,只捕获磁盘级别的数据块修改;用户创建还原点后,任何对磁盘数据块的修改都会被重定向到内部“改动存储池”中,并且建立起数据块的映射关系;用户执行还原操作后,也是删除映射记录表,撤销“改动存储池”。

2 改动存储池的实现

以上描述的是各类还原软件如何在I/O路径上截获数据块的修改;对于“改动存储池”的实现,不同的还原软件也有不同的设计,最简单的莫过于在原来磁盘上划分出一块区域来作为独立存储改动后的数据块,比如可以把硬盘的最末尾一段未分配的存储空间拿出来作为存储池,这样的设计好处是实现简单,缺点是局限性比较大,比如存储池大小缺乏伸缩性,划分出来的硬盘区域容量决定了最大可以容纳多少变化的数据块;又比如无法适用于用户的硬盘已经被完全分区过了的情况;复杂一点的设计是把一个或若干文件作为“改动存储池”,缺点是实现变得复杂了,但存储池伸缩性很大,可动态适应各种需求,其原理是还原软件在创立一个还原点的时候也创建一个大文件来对应这个还原点,并且通过文件系统接口获知了这个大文件在卷(基于卷的还原技术)或者磁盘 (基于磁盘的还原技术) 上的分配位置,以Windows平台上的NTFS文件系统为例,NTFS文件系统提供了一些反碎片化(defragment)的接口,比如FSCTL_GET_VOLUME_BITMAP, FSCTL_GET_RETRIEVAL_POINTERS以及FSCTL_MOVE_FILE等等,这些接口原本是设计给碎片整理程序用的,让它们获得卷上的文件系统位图、文件数据块的分配位置及进行数据的搬迁功能等等(详见微软MSDN帮助);还原软件也可以受益于这些接口,而且其中最重要的接口就是FSCTL_GET_RE-TRIEVAL_POINTERS,还原软件通过该接口可以获得之前创建的大文件在卷上的分配信息,从而获得有效的存储空间对变化的数据块进行存储;举例来讲,假设用户的D盘由0到99总共100个块组成,还原软件以30个块的大小创建了大文件,并且调用FSCTL_GET_RETRIEVAL_POINTERS接口从文件系统那里知道了<3-5>,<11-15><50-71>是对应这个大文件的数据块,还原软件就以这三个区间构成了“改动存储池”。假设上层应用改动了数据块8,还原驱动截获了这个改动,从“改动存储池”取出一个未使用的块,比如块3,把改动体现在块3上,添加映射项<8-3>,返回给上层应用;同理上层应用改动了数据块19,还原软件从“改动存储池”取得未使用的块4进行对应,<19-4>,上层应用读取块8时,还原软件返回块3内容,读取块19时,返回块4内容,其他没有修改的数据块则返回原来的块内容;当大文件的30个块都使用完后,如果文件系统还有剩余空间,还原软件可以适当进行文件大小调整,比如增长到40个块大小,同样通过FSCTL_GET_RETRIEVAL_POINTERS把新增10个块纳入“改动存储池”实现动态“扩容”;以后当用户进行还原的时候,只需要把大文件和映射表删除就回到了原来创建还原点的状态。

结语

本文从操作系统层面对当前的还原软件进行了剖析并给出了详细的原理阐述;另外笔者还根据文中所述的还原原理开发了一个还原软件原型,在Windows平台上测试通过,充分证明了其可行性。

摘要:随着互联网的日益普及, 计算机用户在享受互联网所带来的种种便利外, 也面临着各种各样的网络安全威胁, 当前互联网上各种恶意软件、木马、病毒肆虐, 一不小心系统就“中招”, 系统安全受到越来越多的重视, 几乎每台计算机必装一套防病毒软件。除了防病毒软件以外, 市场上也出现了一批还原软件如影子系统、还原精灵等, 这些还原软件也提供了另外一种保护方式使得计算机系统不受病毒影响, 受到网吧、学校机房的广泛欢迎。本文阐述这些还原软件的工作原理并对其中的关键点进行技术分析。

关键词:系统还原,存储栈,过滤驱动

参考文献

[1]David A.Solomon, Mark E.Russinovich.Microsoft Windows2000技术内幕 (第3版) (影印版) [J].北京大学出版社, 2001.

还原系统 篇2

当我们安装完系统以后,然后就可以用一键ghost工具备份下系统,然后再安装更新再备份下系统(前面备份的文件不要覆盖,修改下名字就可以了),一般在当前硬盘最后一个分区(~1文件夹中,要改名字,首先在~1文件夹右键)如下图所示

下面是系统自带系统还原介绍:

你在系统出现故障的时候使用过系统还原来将电脑还原到尚未出现故障的时候,这样通过做还原设置来解决电脑故障。但是还是有些用户还是不知道如何对电脑进行还原,甚至连系统还原在哪里都不是很清楚。那么系统还原在哪?如何打开系统还原?这就是今天脚本之家小编所要讲解的内容了。

系统还原在哪?

要找到系统还原的方法有很多,比如通过点击“开始-运行”,运行“msconfig”执行该命令打开了系统配置。如图所示:

然后切换到“工具”选项,在下面的列表框上就能找到“系统还原”命令了。当然也是可通过C:WindowsSystem32strui.exe路径找到并且打开系统还原功能。如图所示:

如何打开系统还原?

如果你的系统是windows XP系统的话是可以鼠标右键右击“我的电脑”,选择“属性”按钮,然后在系统属性的对话框中点击“系统还原”选项卡,之后再单击以清除“关闭系统还原”或“在所有驱动器上关闭系统还原”复选框。最后点击“确定”按钮即可打开系统还原功能了。

win7系统的话,同样是右击桌面的“计算机”选择“属性”选项,然后在弹出的对话框点击“系统保护”选项卡,选择点击本地磁盘c盘,然后点击“配置”按钮,如图所示:

点击配置选项卡之后会打开系统保护本地磁盘对话框,现在在对话框中选择“还原系统设置和以前版本的文件”,在点击“应用”按钮即可在之后对话框中创建一个还原点的设置。如图所示:

相信之后创建还原点之后,在以后如果电脑系统出现故障或者是觉得电脑系统不好用的话可以还原到设置的还原点对电脑进行系统还原操作即可。

关于系统还原软件的一些误导宣传 篇3

目前有很多系统还原软件,都声称不中毒,不占用硬盘空间。漫天广告,而且大多数知深IT网也对其大力宣传或介绍,对很多普通用户造成一些误解。

一、不怕毒的系统

多数还原软件,都会声称,不怕中毒。其实这是一个误区。为什么?

例如你中了木马后,并未重启系统以使系统还原,而又登录一些木马虎视的游戏或网银的话,这时还原软件就会“害”了你。

这里主要原因是安装了还原软件的用户都对还原软件深信不疑,从而裸奔、不安装杀毒软件。虽然有些用户安装了还原系统,也安装了杀毒软件,但因为还原系统每次都还原,同样造成杀软更新不到位问题。

二、永远最安全

其实跟上一个问题一样,安装了还原系统的用户大多都把系统更新等关闭,更主要的是就算开启了更新,每次也会被还原。而当这个永远最安全的系统出现漏洞时,它就同样“永远”最不安全了。

三、不占硬盘空间

基于还原系统的原理。其实肯定是占用硬盘空间的,有条件的用户可以尝试一下,在还原系统保护的分区下,复制数据,看看能否将该盘复制至满就清楚了,一般还原系统其实会占用保护分区20%左右作为私用的。当复制数据满至这20%时,就会提示出错了。只是在平时我们系统中不会显示出来摆了。

从以上角度其实可以看出,还原系统并不适合一些对安全条件要求比较高的用户使用,或不适合对电脑知识及电脑病毒认识较浅的用户使用。

华中数控系统的备份和还原 篇4

因此必须对数据的备份工作一定做好, 以防意外的发生。对于不同的系统数据的备份和恢复的方法会有一些不同, 但是都是将系统数据通过某种方式存储到系统以外的介质里。

1 数控系统简介

本文是以华中世纪星HNC-21/22型, 开放式数控系统为例, 介绍系统的备份和还原的方法。

“世纪星”系列数控系统HNC-21/22采用先进的开放式体系结构, 内置嵌入式工业PC (磐仪N511或研华PCM5824) , 配置7.7//或10.4//彩色液品显示屏和通用工程面板, 集成进给轴接口、主轴接口、手持单元接口、内嵌式PLC接口于一体, 采用电子盘程序存储方式以及软驱、DNC、以太网等程序交换功能、具有低价格、高性能、配置灵活、结构紧凑、易于使用、可靠性高的特点。闪存采用CF卡或电子盘, 系统为DOS6.22。

2 备份所使用软件简介

2.1 Symantec Ghost (克隆精灵) (Symantec General HardwareOriented Software Transfer的缩写译为“赛门铁克面向通用型硬件系统传送器”) 是美国赛门铁克公司旗下的一款出色的硬盘备份还原工具, 早期的Ghost名前并没冠以Symantec的大名。Ghost可以实现FAT16、FAT32、NTFS、OS2等多种硬盘分区格式的分区及硬盘的备份还原。

2.2 串口通讯是工业上常用的数据传输方式, 串口通讯和其他任何通讯方式一样, 也必须使用一种统一的标准。我们现行系统采用的是广泛使用的RS232标准, 这种标准允许最大通讯距离为15米。用户端通过RS232串口传输或接受数控系统中的加工代码、PLC文件、参数文件等。在数控装置端, 我们运行的是带有DNC传输功能的数控软件;而在上位计算机端, 我们则采用的是一个独立的串口程序DNC软件包。

3 使用GHOST软件备份系统操作步骤

首先, 将系统CF卡, 在断电下, 拔出。使用读卡器, 连接至PC。XP系统会发现可移动磁盘。

其次, 运行GHOST。

我们在XP系统下, 运行GHOST32.EXE。使用Ghost进行系统备份, 有整个硬盘 (Disk) 和分区硬盘 (Partition) 两种方式。在菜单中点击Local (本地) 项, 在右面弹出的菜单中有3个子项, 其中Disk表示备份整个硬盘 (即克隆) 、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件, 查看是否可能因分区、硬盘被破坏等造成备份或还原失败。

分区备份作为个人用户来保存系统数据, 特别是在恢复和复制系统分区时具有实用价值。Ghost还提供了一项硬盘备份功能, 就是将整个硬盘的数据备份成一个文件保存在硬盘上 (菜单Local→Disk→To Image) , 然后就可以随时还原到其他硬盘或源硬盘上, 这对安装多个系统很方便。这个用在开放式数控系统的备份还原上。

选Local→Disk→To Image菜单, 弹出硬盘选择窗口, 开始分区备份操作。

点击该窗口中白色的硬盘信息条, 选择硬盘, 进入窗口, 选择要操作的分区 (若没有鼠标, 可用键盘进行操作:TAB键进行切换, 回车键进行确认, 方向键进行选择) 。

在弹出的窗口中选择备份储存的目录路径并输入备份文件名称, 注意备份文件的名称带有“GHO”的后缀名。最好是使用机床或系统的编号来备份机床的系统文件, 不同的系统所对应的机床, 在出厂是进行过间隙补偿, 等一系列针对机械的补偿。不同机床注册文件也不同。

接下来, 程序会询问是否压缩备份数据, 并给出3个选择:No表示不压缩, Fast表示压缩比例小而执行备份速度较快, High就是压缩比例高但执行备份速度相当慢。

最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快, 不用久等就可以完成, 备份的文件以GHO后缀名储存在设定的目录中。

整个系统的备份已经完成。里面包含了开放是华中系统HNC-21, DOS6.22。和系统文件, 包括注册文件。

3.1 还原系统的步骤

如果硬盘中备份的分区数据受到损坏, 用一般数据修复方法不能修复, 以及系统被破坏后不能启动, 都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然, 也可以将备份还原到另一个硬盘上。

要恢复备份的分区, 就在界面中选择菜单Local→Disk→From Image, 在弹出窗口中选择还原的备份文件, 再选择还原的硬盘和分区, 点击Yes按钮即可。

注意:开放式华中系统21, 采用的是DOS6.22为其运行平台, 文件系统为FAT16, 系统最大支持为2G。使用GHOST软件实现的是系统的完全备份。

3.2 使用DNC传输进行系统备份和还原

对于CPU版采用研华PCM4823的世纪星, 标准配置为电子盘, 没有配置CF卡, 就不能使用GHOST软件进行备份和还原。此时可以通过软盘驱动器进行系统备份和还原, 由于软盘存储信息可靠性较低, 故不建议使用。可以通过DNC传输实现系统备份和还原。

华中数控系统支持在上位机和下位机之间的串口通讯, 串口线支持三线制和七线制, 推荐采用三线制。

通讯参数设置:波特率:设为9600bps;校验位:无;数据位:8位;停止位:1;流控:无。上位机和下位机之间参数必须相互一致, 否则不能正常通讯。

该软件的主要功能包括:参数的上传和下载;上传PLC和下载PLC;下载G代码和发送G代码。

说明:上图为华中世纪星HNC-21M数控系统文件简图。BIN目录为“系统参数结构、固定循环、字库、图标”等存放目录, PARM目录为“系统参数值、参数值备份”存放目录, PROG为用户G代码存放目录, DRV为驱动程序存放目录, DATA为“刀库信息、坐标系”存放目录。

使用DNC传输可以非常方便的实现参数的备份和恢复, PLC的备份和恢复, 但不能实现完全备份。如果系统软件数据丢失, 部分备份就无能为力, 必须要用完全备份进行恢复才能解决问题。此时可以借用DOS下的工具软件RAR来实现, 将RAR.EXE通过DNC传输到世纪星电脑上。执行RAR.EXE选择BC31、DOS、HNC-M21D目录, 生成自解压包, 此压缩包即为完全备份, 通过DNC上传到电脑, 即完成世纪星完全备份。一旦系统软件丢失, 将自解压包通过DNC传输到世纪星电脑, 解包即可。

4 小结

采用完全备份和部分备份想结合, 根据具体情况进行数控系统恢复, 修复由于系统数据紊乱导致的故障。当由于参数混乱导致系统故障, 一般通过DNC传输进行参数的恢复, 就能很快解决问题。建议在备份和恢复前运行SCANDISK进行磁盘扫描和修复, 修复磁盘可能存在的问题, 非常有帮助。

摘要:及时对数控机床的数据进行备份, 对保障数控机床正常运行具有非常重要的作用。本文以华中数控系统为例, 对数控系统的备份和还原进行了具体分析, 并给出了解决方法。

一键搞定系统备份还原 篇5

一键恢复精灵就是这样一款好软件。它具有超强的备份功能,可以将系统分区压缩为系统备份文件,可以自定义还原密码,备份文件位于隐藏分区,可防止病毒破坏。最可贵的是它不需要用任何启动盘,只要在开机时按F10键就可恢复系统,不费吹灰之力!即装即用,不用重装操作系统。

软件安装一点通

为了能让该软件更加正常地安装和使用,在安装软件之前请注意如下事项:将BIOS内的病毒警告和防护功能关闭;确定你的硬盘上只有一个主DOS分区和一个扩展DOS分区;如果你的电脑安装了多系统引导软件,或其他与一键恢复精灵类似的软件,请先将其移除后再安装一键恢复精灵,以免造成软件冲突;如果安装有两个硬盘,请不要安装一键恢复精灵。

小提示:为避免在实际安装过程中出现失误,有条件的朋友可以使用VMware或Virtual PC虚拟机环境先行测试。

第一步,下载了一键恢复精灵后,首先需要做的就是将该软件刻录到光盘中。由于该文件是一个NRG映像文件,所以可利用Nero等刻录软件的刻录光盘镜像功能,将该软件刻录到光盘中(图1)。刻录完成后,启动电脑进入BIOS,设置首选启动为光驱启动。

图1

第二步,通过该光盘启动电脑后,出现“一键恢复精灵安装光盘”主界面。选择“[1]安装一键恢复精灵4.3”按钮,进入一键恢复精灵安装向导,点击 “选择建立分区大小”的下拉菜单,可以根据实际情况选择分区的大小,如2G、3G等(默认为2G),然后点击“安装”即可自动进行分区并安装(图2)。安装完后,系统将提示重新引导,点击“确定”进行重启。

图2

小提示:必须确保你的硬盘的最后一个分区有大于2G的空间,并且最好将最后一个分区的文件先转移到其他分区。因为如果最后一个分区有大量文件,那么分区操作时将浪费大量的时间用于转移数据。

第三步,重新启动机器后,屏幕如果出现“To Start the System Genius Program,Press F10”(按F10恢复系统)的提示,则表示安装已经成功,

小提示:安装完成后,第一次重启不要用光盘或软盘启动,而要从硬盘启动,否则,将造成分区表混乱。比如用启动盘进入,会发现分区混乱(一键恢复精灵所在分区变为C盘,原来的C盘变为D盘,其他分区看不见),此时应将启动盘取出,用硬盘进行引导,即可恢复。

一键备份与恢复

当屏幕出现按F10键恢复系统的提示时,按F10进入,就可看到一个仿Windows窗口界面(图3)。该界面可实现系统备份、系统还原、密码保护、BIOS备份、管理员设置等功能。此时,按下F8键可备份系统,按下F5键可恢复系统。

图3

1.系统备份

点击“备份C盘(F8)”按钮,如果你已经备份过系统,系统将提示“是否确定要开始备份,这将覆盖您上次备份的系统”,点击“确定”开始备份。最后出现“系统已备份,按确定重启”,按“确定”即可。

2.系统还原

重新启动系统后,在一键恢复主界面中点击“还原C盘(F5)”按钮,首先出现“是否确定要开始恢复系统,此操作将覆盖C盘的数据,请备份C盘重要数据!”提示框,点击确定即可开始系统恢复。最后出现“系统已成功恢复,按确定重启”提示框,按“确定” 即可。

由于系统还原要更改硬盘引导区及分区表,因此请备份分区表。该软件只支持单硬盘。恢复功能将覆盖系统盘的数据,所以请自行做好对数据的备份。

3.密码保护

在一键恢复主界面中,点击“密码保护→启用密码保护”,出现“密码保护开启,点击确定进入密码设置”提示框,点击“确定”即可进入密码设置(图4)。输入密码后,点击“确定”即可生效。

小提示:同时按下“Ctrl+(小键盘的)5”,密码“foxrao”(特别提醒,此管理员密码是不可更改的),可进入“程序高级设置界面”。你可以选择是否允许使用系统备份功能和是否允许使用BIOS备份功能选项。

还原系统 篇6

关键词:中小学机房维护策略;硬件还原

中图分类号:TP393 文献标志码:A 文章编号:1673-8454(2015)02-0089-02

一、目前网络机房的常见问题及解决策略

网络机房常见的问题主要包括以下两个方面:

1.学生频繁使用带来的管理困境

(1)中小学机房通常只有一两个,但却要应付全校的使用需求,每天日程表基本都是满满当当的,如果遇到需要为所有的机器安装新软件的情况,留给维护人员的时间只有下课的10分钟左右,机房维护人员往往苦不堪言。

(2)学生动手能力普遍较强,系统被改得面目全非的恶作剧经常上演,单纯通过手工设置已无法恢复。

2.管理人手严重不足,维护方式粗放

中小学往往没有专门的维护人员,都是由一两个信息技术教师兼职,常常因为时间有限、技术不过关而被学生“掌管”网络机房,需要恢复时常依靠克隆软件或系统安装光盘等原始手段进行整体还原,还原后还要逐台设置IP地址和机器名的一系列信息,效率十分低下且容易误操作。

为解决这些问题,硬盘还原技术应运而生,成为了机房维护的中坚力量。

二、硬盘还原技术工作原理

硬盘还原技术的原理其实很简单,是在操作系统启动之前接管电脑的控制权,使用户对硬盘的所有操作不是对原来分区的数据进行修改,而是对还原卡或软件虚拟出来的暂存区进行操作,需要还原时只需要清空暂存区的数据,从而达到对系统数据保护的功能。网络版的硬盘还原固件通常会固化于主板上的集成网卡启动模块中,开机联网即可进行远程控制,它已成为网络教室的常见配置。

三、硬盘还原系统的使用策略

硬盘还原系统的工作原理虽然简单,但使用起来的效果却相距甚远,需要维护人员小心设置才能更好的服务。下面笔者以梧州市第一中学使用的同方易教系统(增量版)为例进行介绍,有类似的还原系统如惠普超霸卡等的用户也可以参考。

易教系统对分区属性进行了严格的区分,按照功能类型可以分为:A:立即还原性启动分区,B:备份还原性启动分区,C:不还原性启动分区,P:专属分区(即该分区只会出現在同名的对应启动分区操作系统内),S:共享分区(对所有的启动分区可见),H:隐藏分区。其中,使用Windows操作系统的分区都可以设置为立即还原性启动分区,实现立刻还原、按每月、每周、每日定时还原、手动还原、不还原等功能。

按照字面意思,以上的还原选项十分容易理解,通常大家对立刻还原选项是又爱又恨:开启后可以实现维护傻瓜化,学生做什么破坏都不能影响系统是它的最大优势,每节信息技术课之间的维护工作都省掉了。但令人担心的是万一上课时出现故障,电脑蓝屏死机或者意外重启后,学生的课堂作业会丢失,大多数教师无法承受这种结果,尤其兼顾有网络考试任务的机房,因为本地还需要保留一份应急拷贝,基本是不会考虑立刻还原选项的。但根据笔者长达六年连续开启手动还原的测试结果证明,手动还原会让维护工作变得异常困难,实在不是一个理想的选择,最多只能对用于日常办公的系统进行保护。手动还原看似带给使用者自由选择还原的时间点,但事实上因为缓存空间最多只能达到5GB,就Windows XP系统而言已显得杯水车薪,Win7等主流系统效果如何就不用介绍了,且它的最大缺点是暂存区会随着时间推移或多次进行增量更新后急速膨胀,当缓冲数据占着90%后,系统会开始变得缓慢,95%时就会发出声音警报,且容易出现崩溃的现象,易教系统增量版最大的优点荡然无存。因此,最佳的选择仍然是开启自动还原,只不过将启动倒数时间设为0,即在进入系统前的易教登录界面停下等待用户选择,这样就可以通过Ctrl+k快捷键暂时保留上次的操作进度,与开启手动还原效果一样;不需要还原的其他用户直接回车进入即可。这样暂存区的占用率可以保持比较低的水平,多次进行增量更新的影响也会大大降低。

四、常用的暂存区维护技巧

以上的技巧能够在很长一段时间内保证系统的正常运作,但是暂存区的影响因素还是存在的,根据清华同方易教增量版使用指南和网友们的经验介绍,对暂存区的认识要么没解释清楚,要么还是存在一定的误解,接下来将介绍如何用简单的方法对其进行彻底清除并保证系统的正常运行。

1.当暂存区满了如何处理

默认的暂存区数值只有区区500兆,最高不超过5GB,厂商推荐值为所有保护分区的5~10%左右,就目前Win7动辄60GB的单个主分区来讲都已显得不够,这还不包括其他受保护的P型专用分区(只有指定的操作系统才能看到),网友的方案都是推荐将缓存区增大,并没有直接解决缓存区清空的问题。

笔者通过各种方法测试后可以得到以下结论,所有在暂存区的数据均不能用任何方法写入到正常的分区中,且暂存区只会变大,唯一方便的清空办法如下:①选择一台系统正常、暂存空间较满的电脑,将需要清空的系统分区的还原方式设置为不还原;②回车后进入系统,暂存区提示目前占用率为0%,这时系统恢复到最初装机时的状态,可以做一些补丁更新、软件升级等工作,均不会影响暂存区的容量,全部更新后修改IP地址和机器名为正确值;③重启计算机,到达易教系统登录界面时进入管理界面,将该分区设置为自动还原模式即可完成单台计算机的清空工作。④通过网络同传功能,将该分区的数据同传到其他计算机,完成整个网络教室的暂存区清空工作。

2.减少因增量传输引起暂存区升高的问题

使用增量传输的时机一般需要特别斟酌,因为增量同传的过程其实并不会传输操作系统的数据,只是传输暂存区的内容,一般几分钟就能完成系统更新,如果原电脑的暂存区占用率较高,也会使同传的机器暂存区占用率变大,因此尽量选择暂存区较少的机器进行增量更新。另外操作系统的虚拟内存应该设置于其他硬盘,避免暂存区无意义增大影响性能。

还原系统 篇7

关键词:云课堂,云终端,Android,系统备份,系统还原

0.背景介绍

传统的计算机教室, 通常采用教师和学生分别使用独立PC的模式。这种模式存在以下弊端:老师难以监控和管理学生的行为, 每台PC的系统和软件难以统一管理, 机房部署步骤多、时间长[1]。云课堂解决方案因其教学集中化、管理智能化、维护简单化的特点, 成为未来计算机教室的发展趋势。

云课堂解决方案一般包括云主机、云终端和教学管理软件[2,3], 如图1所示:

1 云主机:高性能服务器, 可以提供几十台并发虚拟教学桌面 (一般是windows操作系统) 。

2云终端:学生终端, 内嵌操作系统和学生端教学管理软件。云终端通过网络与云主机相连, 通过显示器输出云主机推送的教学桌面。云终端会自动从云主机获取操作系统和教学管理软件的最新版本。目前, ARM架构+Android操作系统的云终端, 凭借着体积小、能耗低、性价比高的优势逐渐成为主流。

3教学管理软件:包括教师端和学生端, 功能包括课程准备、课堂授课、课堂纪律、课堂互动、练习指导、复习测试等各个环节。

在云课堂解决方案中, 云终端的数量众多, 功能丰富, 使用场景复杂, 因此云终端的系统稳定性和可靠性成为了云课堂解决方案的难点和重点。为了使云终端可以快速从系统故障中恢复, 本文分析了造成Android系统云终端系统故障的可能原因, 通过对Android系统的改进, 设计了备份出厂系统和一键恢复出厂系统的方案。

1.方案设计

云终端的Android系统是只读的, 正常使用一般不会出现故障, 但仍然存在一些导致故障的因素:

*售后人员误操作:在升级云终端时使用了错误的系统, 云终端在升级后无法正常使用

*学生误操作:云终端的使用者多为中小学生, 缺乏计算机基础知识、好奇心强, 在使用过程中可能会无意地修改系统的默认配置, 例如系统语言、休眠时间、开机密码等

*外界攻击:云终端所在的局域网内如果存在流氓软件, 可能会静默安装未经授权的应用, 更改桌面启动项, 干扰教学秩序

*异常断电:如果云终端在工作中异常断电, 可能造成存储中的数据错误, 导致云终端无法开机

目前市场上Android系统的手机或平板, 一般只提供将应用程序和系统设置恢复到出厂状态的功能, 没有还原整个Android系统的功能。如果出现Android系统故障的情况, 只能通过刷机解决。但是刷机需要刷机软件、Android系统固件和USB线缆, 步骤复杂, 必须由专业的售后人员才能进行操作。部分学校位于较偏远的地区, 等待售后人员上门维修需要很长时间, 机房管理人员希望有简便的方法可以自己恢复云终端的系统。

云终端连上云主机会自动检查云终端系统是否有新版本, 如果有新的版本会自动进行下载升级, 这就意味着无需在云终端的使用过程中去手动创建系统的备份。只要在云终端生产时备份了出厂系统, 云终端出现系统故障后还原到备份的系统, 再连上云主机就可以自动更新到最新系统了。

基于以上考虑, 本文设计的云终端操作系统备份和还原的方案, 流程如图2所示。

2.备份出厂系统

Android系统包含以下分区[3]:

*boot:包含Linux内核与最小根文件系统, 用于启动设备

*system:包含Android的用户界面以及预装的应用程序, system分区是只读的

*userdata:存储用户安装的应用程序的数据

*cache:临时存储频繁访问的应用程序数据, 也用于存放下载好的系统升级包

*recovery:包含另一个完整的Linux系统, 可用于启动设备进入recovery模式, 进行高级的升级和恢复操作

*misc:当设备在升级重启时, 暂存一些系统设置信息

在云终端生产时, 需要在其存储中预留出一定大小的空间作为备份分区, 存放出厂时的系统。备份分区是只读的, 并且对于用户是不可见的, 因此是绝对可靠和安全的。在云课堂中, 云终端只提供显示远端桌面的功能, 并不存储用户数据, 并且云终端的系统对用户封闭, 不允许用户安装软件。因此, 备份分区中只需要存储Android系统的boot、system和recovery三个分区, 其余分区无需存储。以Android4.4系统为例, 备份分区一般小于512M, 不会造成存储不足的情况。此外, 备份分区中的一段起始空间需要预留出来作为头部, 存放一些必要的信息, 包括

*启用标志:表示备份分区已启用

*产品型号:在恢复系统时校验备份分区的产品型号是否与实际设备一致

*分区信息:记录备份分区实际占用空间的大小, 以及boot, system, recovery分区在备份分区中的偏移和大小

*校验信息:备份分区的CRC值

上述备份出厂系统的方法, 除了增加烧录出厂系统固件的时间之外, 不会增加其他生产成本。

3.一键还原系统

Android系统利用recovery模式完成系统的升级或恢复出厂设置, 本方案的一键还原系统的功能利用recovery模式来实现。recovery模式一般包含以下选项[4]:

*重启系统:退出recovery模式并且重启

*恢复出厂设置:擦除userdata和cache分区, 然后重启

*擦除cache分区:只擦除cache分区, 保留userdata分区, 然后重启

*升级系统包:校验OTA包, 然后进行安装

为了简化用户的操作, 本方案删除了Android系统的默认选项, 增加了一个一键还原系统的选项, 如图3所示。在一键还原系统的界面上, 用户根据提示进行操作, 按下电源键代表确认, 系统启动自动还原, 无需外接键盘或鼠标的额外步骤;直接断电可以退出recovery模式。

系统自动还原的步骤如下:

1) 擦除userdata和cache分区, 恢复云终端系统的默认配置。执行此步骤后, 非系统预置的应用程序将全部被删除。此步骤可以借鉴Android系统恢复出厂设置的流程来实现。

2) 读取备份分区的头部信息并校验以下信息:备份分区是否已启用, 备份分区的产品型号是否与实际设备一致, 备份分区中存放的数据是否正确。如果有一项校验不通过, 则提示错误信息, 返回一键还原系统的界面

3) 读取出备份分区中的boot分区数据, 写入boot分区 (/boot) 。写数据完成后, 对源地址和目的地址的数据进行比较, 如果不是完全一致则提示错误信息, 返回一键还原系统的界面

4) 读取出备份分区中的system分区数据, 写入system分区 (/system) 。写数据完成后, 对源地址和目的地址的数据进行比较, 如果不是完全一致则提示错误信息, 返回一键还原系统的界面

5) 读取出备份分区中的recovery分区数据, 写入recovery分区 (/recovery) 。写数据完成后, 对源地址和目的地址的数据进行比较, 如果不是完全一致则提示错误信息, 返回一键还原系统的界面

6) 成功执行步骤2-5后, 重启Android系统, 安装需要预装的非系统应用程序。

4.测试结果

本文模拟了云终端出现系统故障的各个场景进行了测试, 测试项目及测试结果如表1所示, 测试通过的条件为云终端通过一键还原可以恢复到出厂系统, 系统中不存在未经授权的应用或服务, 系统的配置与默认配置一致;在正确配置云主机的IP后, 云终端连上云主机并自动升级到最新的系统版本。测试结果表明, 本方案可以解决云终端出现的各类系统故障。

5. 结束语

本文所介绍的Android云终端系统备份与还原的方案, 已经应用于锐捷网络的云课堂解决方案中, 机房管理人员或售后维修人员能够根据说明书或远程指导自行完成云终端系统还原的操作。方案在几乎不增加生产成本的前提下, 降低了云终端的返修率及售后维修成本, 增强了云课堂解决方案的竞争优势。

参考文献

[1]王蓓.探析云终端在高校机房建设中的应用[J].吉林省教育学院学报.2015 (3)

[2]周素梅.中小学云课堂解决方案——以延庆县中小学云教室建设方案为例[J].中国教育技术装备.2015 (7)

[3]杨秀森.锐捷“云课堂2.0”焕发计算机教室青春活力[J].中国电化教育.2015 (7)

[4]Google Inc.Android device layout[EB/OL].https://source.android.com/devices/tech/ota/index.html

还原系统 篇8

GRUB4DOS是一个优秀的启动管理程序, 使用它可以方便的引导各种操作系统。对于一般的windows用户, 学会使用GRUB4DOS加载img系统镜像是非常有用的。本文就是以GRUB4DOS为基础, 辅助WinImage等工具, 详细介绍如何来实现windows 7系统的备份及还原的制作过程。

2 如何使用GRUB4DOS

下载支持中文字库的GRUB及中文字库fonts。复制GRUB核心文件grldr、grldr.mbr、grub.exe和menu.lst以备使用。

用记事本软件修改menu.lst文件, 修改内容:

3 为Windows7中添加启动菜单“系统备份与还原”

1) 在Window s 7系统中, 点击“开始”→“所有程序”→“附件”→“命令提示符” (必须用右键点击, 以管理员身份运行) 。

2) 在MS-DOS窗口输入命令, 记录系统id号:

bcde dit/s tore c:bootbcd/cre ate/d"系统备份与还原"/application boots e ctor

实例中系统id号:{02b018dd-94aa-11df-97b2-705ab63834bb}

3) 根据系统id号, 继续完成以下的命令

4 系统备份、还原的镜像文件 (backup.img、restore.img) 制作镜像文件制作过程

下载easyboot和winlmage并安装。找到Easy Bootdisk1ezboots e tup98.im g, 改名为backup.im g。用WinIm age打开, 选择“映像”;“更改格式”, 改成2.88MB确定。留下autoexec.bat、com m and.com、config.s ys、him e m.s ys、io.s ys、m s dos.s ys六个文件, 删除backup.img文件包里的其它所有文件。把autoexec.bat和config.sys两个文件释放到桌面。并用“记事本”软件打开进行编辑。

将修改好的autoexec.bat和config.sys两文件加入到backup.im g里面, 覆盖原来的文件。

从网络下载dos版ghost.exe, 添加到backup.img里, 至此系统备份的镜像文件backup.img完成。

将做好的镜像backup.img文件拷贝一份, 并改名为restore.img

再次修改autoexec.bat为:

@ECHO OFF

ghos t-clone, m ode=pload, s rc=1:2:backup.gho:1, ds t=1:1-s ure-rb

将再次修改好的autoexec.bat加入到restore.img里, 替换覆盖原来的文件。

5 完成最后的配置

1) 拷贝文件grldr、grldr.m br、grub.e xe、m e nu.ls t到w indow s7系统的C盘根目录

2) 将fonts、backup.im g、re s tore.im g三个文件拷贝到c:bootgrub目录中。如文件夹不存在, 需自建。

3) 重启即可看到菜单。选择相应的选项即可完成w in7自动备份还原。

6 结语

还原系统 篇9

互联网的高速发展带给人们便利的同时,互联网带宽从10M发展到100M、1000M,甚至当今的骨干网带宽已经达到了10G,高速网络急剧增加了网络数据的传输量,与此同时也带来了严重的安全问题。近年来,越来越多的互联网罪犯严重危害了网络数据的安全,造成了巨大的经济损失。此外,通过互联网传播的暴力、色情等不良信息威胁着青少年的身心健康。随着互联网络应用的不断深入发展,互联网信息安全问题变得越来越重要。在大数据的潮流下,网络数据的安全显得愈发重要。因此,在利用高速发展的网络技术的同时,建立完善的网络监控系统,来保卫网络的安全,是非常必要的。

入侵检测系统、防火墙、基于内容的监控系统和审计系统等网络安全系统应运而生,而这些系统都基于互联网数据包捕获和分析技术,协议还原技术在其中扮演了核心的角色。协议还原技术基于当前使用最广泛的四层TCP/IP模型对网络数据包进行还原分析,主要包含两个阶段:1)捕获数据包;2协议还原。第一阶段捕获到的数据包一方面递交给系统协议栈进行正常的通信过程,另一方面递交给还原系统,依次对网络层、传输层协议进行分析,主要涉及到的技术有协议识别、IP分片重组和TCP流重组等。

协议还原系统是网络信息安全平台的基础设施,其实现的优劣直接影响到上层系统的构建。现阶段,我国的网络监控系统正在快速发展中,基于TCP/IP的协议还原系统应用非常广泛,可以通过分析一定线路上的数据包来判断网络的故障,发现网络拥塞点,截获非法信息,为改善整体网络环境提供非常必要的依据。

本文主要研究一个完整的协议还原系统,并加以实现,本系统基于Libnids库,借鉴Linux内核实现方法高效地完成了IP分片重组和TCP流重组,并具有良好的可扩展性和可移植性。本文首先介绍了目前协议还原技术的研究现状,分析了各种方法的优点和不足,然后研究分析了协议还原中的关键技术以及使用开源库Libnids的实现细节,提出了协议还原系统的架构及实现方法,系统描述了整个系统的构建过程。

1 研究现状

数据包捕获机制工作在数据链路层,因此和操作系统密切相关,不同的操作系统使用不同的方法进行数据帧的捕获。Libpcap是在*nix平台之上的通用的数据包捕 获开源库[1], 对应的Windows版本为Winpcap,是一个可移植性很好的框架,提供了便于使用的API,但由于跨平台和通用性方面的考虑,性能会在一定程度上下降,其内部存在两次拷贝,并伴随频繁的中断,一般在100M以下的网络中表现较好,但在更高速的千兆甚至万兆以太网中存在性能瓶颈。

Libpcap_mmap是针对Libpcap内存拷贝这一问题,使用了mmap()函数将内核空间中的数据包缓冲区映射到用户空间,从而降低内存拷贝带来的性能损耗,它是由美国Los Alamos[2]国家实验室开发的。与这些方法相比,目前最新的成果是PF_RING套接字机制,它是由Luca Deri开发的一种新的套接字,以Linux内核模块的形式工作在内核,纳入了标准的套接字编程,可以通过socket创建这种类型的套接字。相应的开源库libpfring可以代替libpcap,但是考虑到已经有大量代码基于libpcap,因此该机制也提供修改过的libpcap,以兼容以往的设计。相对于Libpcap,PF_RING使用户进程可以直接访问到内核空间的数据缓冲区,从而避免了数据从内核空间到用户空间的拷贝过程。与零拷贝技术不同的是,PF_RING捕包过程中仍存在一次内存拷贝操作,就是将网卡中断接收的数据先复制到内核缓冲区空间。零拷贝的基本思想是减少数据分组从网络设备到用户程序空间传递过程中的拷贝次数和系统调用,DMA技术和内存区域映射技术是实现零拷贝的主要技术。国内外公司和研究机构推出了很多成熟的网络协议还原产品和方案。美国联邦调查局FBI的“Carnivore”计划运行于核心ISP上,对特定的内容进行监听和还原,其原理类似于商业软件Sniffer。美国Finisar公司生产的THG系列分布式网络协议还原系统利用芯片加速功能,支持10/100/1000M链路100%的捕获,配合Surveyor专家系统可以对常见网络协议进行精准的还原和分析。斯坦福大学的Tak W.Yan开发的基于内容的过滤系统可用于应用层数据的还原和过滤。综上所述,协议还原系统在应用层的研究非常广泛,在入侵检测、基于内容的审计、数据挖掘等方面都有可观的研究素材。

2 数据包捕获技术

2.1 数据包捕获原理

旁路数据链路层接收到的数据帧,一方面将数据帧发送给“激活”的分组捕获机制,另一方面数据帧将走正常的协议栈。具体的时序如下:对于支持BPF(Berkeley packet filter)的系统,每个数据链路驱动程序都在发送一个分组之前或在接收到一个分组之后调用BPF,在接收分组之后尽早调用BPF和在发送分组之前尽晚调用BPF的原因是为了提供精确的时间戳。

2.2 操作系统提供的分组捕获机制及性能对比

操作系统提供的分组捕获机制主要有四种[3]:1)BPF(Berkeley Packet Filter),该捕获机制使用在BSD Unix;2)DLPI(Data Link Provider Interface),该机制使用在SVR4 Unix;3)PF_PACKET类型套接口,该机制使用在Linux下;4)PF_Ring新型套接字,该机制也用于Linux下;5)较旧的Linux的套接口SOCK_PACKET。

以上各种包捕获机制的对比:BPF比DLPI性能好很多,而SOCK_PACKET最弱,新型的PF_Ring是一种非常高效的机制。

2.3 用Libpcap捕获数据包

通常数据包的捕获使用Libpcap进行,Libpcap是一款优秀的开源跨平台数据包捕获函数库,可运行在*nix系统之上,对应有winpcap运行于window平台。Libpcap的架构主要包含三层:最底层实现针对硬件设备接口的数据包捕获功能,中间层实现内核级的包过滤机制(Libpcap支持BPF包过滤机制),最高层提供用户层接口。

首先决定用哪一个接口或者从离线文件进行嗅探。在Linux中,网络接口的命名可能是eth0,在BSD系统中则可能xl1。可以使用一个字符串来定义这个设备,或者用pcap_loopupdev()获取一个设备名。然后初始化pcap,创建pcap程序所使用的嗅探句柄,每个句柄唯一对应一个网络接口设备,也对应于一个pcap_t结构体,该结构体包含了该接口的所有信息。如果我们只想捕获特定的包,则要创建一个规则集合,编译并且使用它。这个过程一般在内核执行以提高效率,默认使用BPF机制,它由三个相互紧密关联的阶段组成:首先,将规则集合置于一个字符串内,然后转换成能被pcap读的格式,即编译过程,并告诉pcap使用它来过滤出哪一个会话;其次,调用pcap_loop进入它的主体执行循环,回调用户函数对捕获到的包进行处理,注意处理过程是在用户空间进行的,因此这个过程已经将数据拷贝至用户空间;最后,捕获结束要调用pcap_close关闭并进行必要的清理工作。如图1所示。

2.4 提高捕获效率

数据包捕获通过将数据包复制到网卡缓冲区,然后再复制到内核,递交给正常的协议栈和还原系统。高速的网络环境中,数据的复制极大地影响到了效率[4]。Libpcap-mmap的实现方案就是一个改进。Libpcap在内核中使用两个固定的缓冲区来作为用户和内核空间数据传递的缓冲区,分别称为保持缓冲区和存储缓冲区,用户必须等待存储缓冲区满时才能进行读取。而Libpcap-mmap的改进之一是将该缓冲区改成一个循环缓冲区,用户和内核程序可以同时对该缓冲区进行读写,并且该缓冲区的大小可以进行自由的配置,极大地提高了系统的灵活性。Libpcap-mmap的改进之二是它利用Linux高性能的零拷贝系统调用mmap,该系统调用比传统的系统调用效率高很多。实验证明,Libpcap-mmap的捕获率比Libpcap大大提高。其实现过程如图2所示。

Libpcap-mmap大大改善了捕获效率,表1为相同环境中不同大小的数据包捕获率对比:

表1不同大小的数据包捕获率对比

另外一种更为高效的数据包捕获技术是零拷贝,其核心思想是利用DMA技术将网络数据包直接存储到内核空间,再利用内存映射技术将其从内核空间映射到用户空间,然后用户层应用程序即可以直接访问数据包,从而避免了占用CPU将其从网卡缓冲区拷贝到内核空间,再从内核空间到用户空间的过程。第一阶段的DMA需要网卡硬件的支持。在Linux下零拷贝机制如图3所示。

传统数据包的处理流程需要将数据包从网卡设备拷贝至内核空间,然后再从内核空间拷贝到用户空间,两次数据复制消耗了大量的CPU时间,而零拷贝则在第一阶段分配出DMA缓冲区,这样数据包就可以在网卡的控制下直接传入该区域,CPU只需要进行开始和结束时的寻址工作,然后内核利用内存映射技术将该片内存区域映射进用户空间,从而实现了零拷贝。

3 协议还原系统研究与实现

3.1 协议还原系统的架构

协议还原系统是一个数据链路层的旁路系统,即捕获的数据链路层数据发送到协议还原系统而非正常的协议栈。协议还原系统的架构分为四层,如图4所示。

(1)第一层为数据捕获层,负责数据链路层的数据帧的捕获。这一层可能涉及到两次数据的复制,第一次是到网卡缓冲区的复制,第二次是从内核到用户缓冲区的复制。所有的优化都针对这两次数据的大规模复制进行。数据捕获层应该提供以下三项功能:1)将原始数据包递交到内核空间或者用户空间;2)提供过滤策略;3)可以提供原始数据的磁盘存储和数据库功能。

(2)第二层为网络分析层,对数据捕获层捕获的数据进行网络层次的分析,例如根据类型字段判断是IPv4还是IPv6数据包,然后进行简单的处理后递交给相应的处理模块进行进一步分析。

(3)第三层为传输分析层,对经过网络分析层处理过的数据包进一步处理,将数据包分发给TCP模块、UDP模块等。

(4)第四层为应用分析层,还原最终的用户数据流。应用层数据包罗万象,此次仅分析HTTP文本数据。应用层数据流必须存储到磁盘中。

3.2 数据重组技术研究

数据包的重组主要包括IP分片重组,在最新的IPv6环境中,由于网络环境的极大提升,因此分片所占的比例极小,因此分片重组的性能不会是整个系统的瓶颈。另一个重要的方面是TCP流重组,互联网上有大量的应用都基于TCP协议,TCP提供可靠的数据传输,使得应用层可以专注于数据,从缓冲区内提取连续的数据流。这两部分的实现主要是通过利用和改进Libnids库来进行。

Libnids[5]是构建在libpcap和libnet基础上的一个用于实现网络入侵检测开发的专业开源库,它是由Rafal Wojtczuk等开发的,具有libpcap和libnet的优点,具有很强的可移植性,使用简单,效率比较高。它的主要功能是捕获网络数据包,进行TCP/IP的重组以及进行端口扫描。其中IP碎片重组是模仿linux 2.0内核实现的,十分可靠高效。Libnids的使用一般分为三步:1)进行初始化操作,libnids调用nids_init(进行初始 化操作 ; 2) 注册回调 函数 , 调用nids_register_XXX系列函数进行回调函数的注册;3)进入循环捕获数据包。Libnids调用nids_run进入主循环,该函数实质上调用了pcap_loop函数进行数据包的捕获和回调函数的调用。

Libnids使用下面的核心数据结构描述一个会话:

(1)tuple4: 该结构定义了连接的唯一标识,是连接双发的IP地址和端口号组成的四元组合。

(2)half_stream:该数据结构描述TCP连接中一端的所有信息。

(3)tcp_stream:完整的描述了一个TCP连接的所有信息。

(4)nids_prm:描述了Libnids的全局参数信息,相应的全局变量nids_params为该结构的一个实例,并进行默认值的设置。

由于底层传输帧大小的限制[6](如以太网和FDDI限制的可以传输的最大帧大小不同)因此IP数据报可能超过了链路的最大帧限制,这样一来,IP数据报就有可能被分片,即一个完整的IP数据报被分成多个IP数据报片段分别传输。由于互联网的复杂性,一个数据报的完整传输路径可能经历很多不同的链路,因此被分片的数据报可能还面临着被中间的路由器二次分片。根据RFC标准,IPv4数据报可以被中间路由器分片,但IPv6数据报不可以被中间路由器分片。所有分片的重组工作均只在目的地完成。因此将若干个分片的数据报组织成一个完整的数据报非常重要。对于高速的现代网络,通过合理的设置,可以大大减小分片的几率,特别是对于IPv6,对于分片的处理只占了很小的部分,这都基于大部分的数据报不会被分片。

关于每个数据结构[7]:最高层数据结构为每个IP都会有IP分片包(注意是IP,不是IP对),也就是说,每个IP,只需要比对目标IP地址是否相符,对于每个目标IP地址,或者主机上配置的每个网络接口,都有一个hostfrags结构体来维护目标为该IP的所有分片。

分析该结构体:首先,全局静态变量fragtable是一个哈希表,它的每一个元素为一个指针,指向一个网络接口IP对应的hostfrags结构体;其次,在结构体hostfrags中,hash_index为哈希表的索引值,并且所有接口的hostfrags结构组织成双向链表;最后,对于每个hostfrags结构,它维护了一个IP碎片队列ipqueue,如图5所示。

IP分片重组的流程如图6所示。

TCP协议时面向流的、面向字节的、可靠地传输层协议,因此其必须对乱序或者丢失的IP包进行调整和还原,以给应用层提供完整有序的数据流[8],因此TCP流重组是非常关键的。TCP流重组是在IP数据分片组装成功的基础上,一共维护以下四个TCP队列:处于正在连接状态的TCP协议控制块队列、处于 已经连接 的协议控 制块队列 、处于timewait状态的协议控制块队列和处于CLOSED状态的协议控制块队列。当收到一个完整的IP数据包或者经过IP分片重组后的IP数据包,经过以下步骤进行重组[9]:

(1)从中提取IP头部和TCP头部信息

(2)校验TCP检验和,如果不为0,则丢弃该TCP报文段

(3)验证TCP偏移字段,计算TCP首部偏移

(4)处理时间戳选项和窗口扩大因子选项

(5)根据数据报中的序列号判断该数据报是否为重复的数据报,如果是有序到达的数据则递交给应用层

(6)若数据报不在窗口之内,则丢弃数据报

(7)若有部分数据在窗口之内,则裁剪出新的接收窗口内的数据

(8)若该数据报为乱序到达的,则插入乱序队列,插入队列后判断是否生成了有序数据,将有序数据递交给应用层并将其从乱序队列中删除经过重组后的数据是有序的字节流,由应用层使用。通常应用程序从缓冲区中取走已经有序的字节流,如图7所示。

3.3 HTTP文本还原

对于经过重组的TCP流,是一堆原始的二进制数据,要获得完整的应用层数据,就必须准确地确定起点和终点的位置并丢弃不完整的应用数据[10]。对于HTTP文本数据,一种为HTTP请求,一种为HTTP响应于根据RFC的规定,请求数据以“GET”、“POST”、“HEAD”、“HTTP”开头,根据报文头部的Content-Length域,即可确定结束位置,若请求信息中未包含Content-Length域,则可以以CRLF作为结束标志,但并不是每个HTTP应用都严格遵守此约定。对于响应信息结束也有两种情况[11]:响应信息中含有Content-Length域或根据该数据报是否为FIN来确定。对于捕获的二进制数据,要确定文本信息是否被压缩,文本信息的编码格式,因此要对文本信息进行正确的解码。英文信息的编码一般采用ASCII编码;中文信息的编码一般采用GB2312、BIG5、utf-8,还原流程如图8所示。

经过重组后的TCP数据流是有序的、可靠的,当应用层是HTTP协议时,调用HTTP还原模块,还原后的重组数据会统一归档到数据库。数据库模块设计一个通用虚拟数据库层,可以调用底层的各种数据库接口,在小规模单机的情况下,默认的选项为sqlite。

4 结束语

还原系统 篇10

关键词:协议分析,HTTP,网页还原

0 引 言

随着网络的不断普及和发展,基于Web的应用也在不断增多,在为信息共享提供极大便利的同时,也为不法分子提供了新的犯罪场所。为能监测到网络舆情并有效遏制不法分子通过Web发布不良信息和窃取资料,可通过对HTTP协议传输的Web信息进行监听、还原和取证,以打击和防范利用互联网进行的不法活动。可以看到,网页实时还原系统是此过程中的基础,它决定了整个过程的准确性和效率。

1 相关研究

文献[1]在Winpcap框架的基础上设计并实现了一套网络监控系统,文中采用特征的方法对网络协议,如HTTP等进行识别,并没有进一步的进行内容的还原。文献[2]中利用LIBPCAP 的包捕获机制实现了网络行为的监控及还原系统,并给出了对Web页面还原实例。但文中没优化http的还原,如一些图片等非文本信息,可以不进行处理。文献[3]针对HTTP1.1的持续连接和块编码特性设计给出了相应的解析方案,由于其没针对文本内容进行分析,所以其性能有一定的局限性。文献[4]中利用面向对象的思想对协议进行分析并还原:文中为不同的网络应用层协议构造出单独的解析模块,并根据需求加入到整体系统框架中。给本文极大的启发。

在Linux Netfilter 框架下,本文利用IPQueue机制,设计并实现了一个安全高效的网页还原系统,实验证明,本系统适合中小型网络的监控需求。

2 IPQueue机制

2.1 Netfilter 框架

Netfilter框架是Linux Kernel 2. 4以后版本中一个抽象的通用化的包过滤框架。Netfilter 为IPV4 定义了5 个钩子函数点,分别为IP_PRE_ROUTING、IP_LOCAL_IN、IP_FORWARD、IP_LOCAL_OUT、IP_POST_ROUTING,netfilter中数据包处理流程如图1所示。

钩子函数对数据包做过处理后,必须返一个预定义的Netfilter 返回码。在<linux/netfilter.h>文件中对它们进行定义,具体的含义如下:

NF_DROP: 丢弃该报文,释放所有与该报文相关的资源;

NF_ACCEPT: 接受该报文,并继续处理;

NF_STOLEN: 该报文已经被HOOK函数接管,协议栈无须继续处理;

NF_QUEUE: 将该报文传递到用户态去做进一步的处理;

NF_REPEAT: 再次调用本HOOK函数。

2.2 NetLink 机制

NetLink 机制是Netfilter框架实现的内核协议栈与用户空间程序进行通信的一种机制,它利用Socket机制实现,克服了其他内核与用户空间交互方式诸多不便问题,如proc文件大小受限,多次内容拷贝,以及内存共享实现困难。它是一个面向数据报文的服务,并提供“路由操作(NETLINK_ROUTE)”、“IPQueue操作(NETLINK_FIREWALL) ”和“用户态ARP表操作(NETLINK_ARPD)”等通信协议。

当HOOK处理函数返回值为NF_QUEUE时,内核协议栈将通过NetLink机制创建一个socket把当前报文传递到用户态,由用户态的应用程序进行处理。这样,只要能够在相应的HOOK点上返回NF_QUEUE值,就可以将符合要求的报文传送到用户态去做进一步对报文行处理。随后,用户态程序会将处理后的报文以及对报文的处理意见(ACCEPT,DROP等)传递给内核协议栈。内核协议栈就会按照用户态对报文的处理意见将报文做接受、丢弃等处理。整个处理的过程就相当于一个用户态的防火墙,所有数据包的实质性处理都放在用户态进行。

在创建NetLink Socket时,采用如下系统调用:

fd = socket(PF_NETLINK, SOCK_RAW,NETLINK_FIREWALL);

就是采用IPQueue通信协议进行数据交互。IPQueue[5]通信的关键数据结构及相关函数放在头文件:<linux/netfilter_ipv4/ip_queue.h>中。

基于IPQueue机制,可以实现将所有流经网关设备的数据报文从内核空间发送到用户队列,然后由用户空间的程序来分析处理这些数据包。

3 实时网页还原系统的设计与实现

3.1 系统概述

实时还原系统主要由请求报文处理模块、响应报文处理模块以及连接两模块的连接跟踪表和URL白名单组成。

据Internet的统计表明, 超过80%的客户经常访问的是20%的网站内容,因此在借鉴了IE浏览器的缓存思想后,本系统构建了URL白名单以减少重复性工作,此处的白名单包括两种形式的:第一种是一些网站首页(例如:Google、baidu等),这类网址可以在系统启动前,手动加入白名单数据库中;另外一种是,已经还原过的内容性网页。在还原模块启动的时候,申请一块内存空间,用来存储数据库中访问量最大的URL白名单。当有请求报文经过还原系统时,会首先查找白名单,若查找成功,则直接让数据包通过,无需进行数据包的还原处理,以提高处理的效率。

在请求报文的处理中,大部分网页会不止一次的被请求访问,所以首先在内存建立一张表,保存用户最近访问的白名单,以加速系统还原速度;每当收到新的请求报文,预判断请求的数据类型是否为文本类型;然后,对比内存中的白名单,没有再去数据文件中搜索;在响应报文处理模块中,会第一响应报文的URL,判断是否要存入URL白名单。大部分的Web浏览的网页要分成多个数据包进行传输,这就要求对HTTP会话的跟踪,出于对性能的考虑,及Hash表高效的查询性能,所以,本文会根据Web浏览的相关信息,建立Hash结点,记录下用户的这次连接,并存入到连接跟踪表中。

在响应报文的处理中,首先需要判断响应的文件类型是否文本,要注意这次连接的第一个响应报文中保存有这次传输的文件类型;如果是文本类型,还需找出字符编码方式,在统一字符编码后再进行相关的还原操作。并将还原结果存入连接跟踪表中。

系统流程图如图2所示。

3.2 关键的数据结构

系统中关键的数据结构是存放用户访问网页的连接跟踪表,其操作效率对整个系统的性能起着至关重要的作用。依据系统分析的结果,给出了下面的Hash表数据结构组成。其中连接的地址信息存放在addr字段中,程序中会根据此字段计算连接的Hash值。数据结构中另外两重要的字段是URL和data字段,分别保存了访问网站的URL以及网页内容。其他的是一些处理辅助字段。

这个数据结构保存用户在访问网页时候的连接信息。所有客户的连接都保存在一个Hash表中,Hash表是由这个指针类型的变量组成的数组,使用Hash表来加快相关信息查找、提高还原系统的效率。

在系统运行的时候,对内存中的白名单进行实时的更新,具体方法是,每当在分析出新的请求报文时,就把该连接对应的URL更新到URL白名单中,替换掉不经常访问的其他URL,同时把该URL存到数据文件中。

3.3 请求报文还原模块

在HTTP请求报文中包含客户机要访问的URL和Tuple4地址信息,所以,系统实现了请求报文还原模块,请求报文还原模块的目的是获取HTTP的首次连接信息,并根据获得的信息在Hash表中构造相应的节点,用于HTTP会话的跟踪还原。在请求报文处理模块,系统的处理过程如下:

首先,根据请求的URL(有HTTP请求报文中的host和get或post字段组合)建立一份白名单,对在白名单中的URL不进行网页还原。

其次,判断请求的文件类型是否为非文本类型,目的是减少对音频、视频、图片等多媒体信息的处理操作,以提高系统的实时性。

最后,提取相关信息,建立Hash结点,记录下用户的这次访问的连接信息(源IP、源端口号、目的IP、目的端口号、访问的URL)。

经过上述处理过程,会在连接跟踪表中存放一条此次连接的相关信息,在服务器端有数据返回时,系统会根据返回数据包中的Tuple4信息,查找连接跟踪表,并将相关内容存入表中。

3.4 响应报文还原模块

对于HTTP响应报文[6],一般会有若干数据包组成(数据长度>1460字节或网络拥塞),所以必须等所有的数据包重组后,才能进行数据包的还原,为此系统会根据相应报文的序列号对其进行重组。

在响应报文的处理中,需要判断用户请求的文件类型是否为文本类型,要注意这次连接的第一个响应报文,其中保存有这次传输的文件类型;如果是文本类型,还要找出字符编码方式,再进行报文的还原。

3.4.1 第一个响应报文的处理

Hash表记录了该连接,但不知道该连接具体传输的类型(可能是图片,音频,文本等),则需要比较报文的确认号是不是与Hash结点中的seq_ack字段值相等,若相等,则该数据包是本次连接要传输的对象的第一个报文,对该报文分析,提取相关信息,分析HTTP响应报文头[4]Hash表中连接结点的信息,主要是分析Content-type所对应的值,表明本次连接传输的HTTP对象类型是否是文本信息,若是文本信息,提取出文本的编码方式(是UTF-8还是GBK或者其他)以及数据包的Tuple4信息,根据Tuple4的Hash值查找连接跟踪表,将其添加到相应的表项中。否则,直接让报文通过,不进行还原处理。

3.4.2 字符编码及报文压缩处理

系统中统一采用UTF8格式的编码,所以进行报文还原之前,先判断数据包的编码方式,如需进行转化,则调用Linux下的iconv编程接口进行字符编码的转换。

HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的有效方法[7]。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,这也会增加服务器的一点负担。gzip是最常见的一种HTTP压缩算法。

对压缩报文的处理有两种方式,一种是对HTTP请求报文的头部进行处理,即将Accept-Encoding请求行的值域清空,然后重新计算该数据包的TCP校验和,再发送出去,指明客户端只接受不经过压缩的数据,那么服务器发送的响应报文就是只能是没有经过压缩的原始数据。此种方式,违背了压缩的意愿,增加了网络带宽,同时,重新计算TCP校验和,也影响了系统的实时性;另一种方式是采用解压函数对相应报文进行解压,在解压过程中耗费的内存是压缩数据的两倍。

本文考虑到系统的实时,采取了上述的第二种方法,通过Linux的zlib库提供的解压缩函数对HTTP报文进行解压。

3.5 连接跟踪表

影响本系统性能的一个重要环节是,在截获到网络数据包时,如何快速地定位到其所属的网络连接,而Hash表高效的查找性能可以满足此要求。因此,模块启动后,生成一张Hash表,一个指针数组,phashnode hash_table[HASH_MAX];数组的每一个元素都指向一条链表,该链表上所有结点中saddr 字段后四位值相同,使用这样的Hash表加链表的结构来加快数据包的匹配,提高模块的实时性。

3.5.1 结点的建立

每当收到一个类型为GET或者POST类型的HTTP请求报文,且其要访问的URL不在白名单中,此时就要将此次连接的信息加入到连接跟踪表中,具体过程如下:

首先,取出数据包的Tuple4信息,计算出其Hash值为hash_num;然后,遍历hash_table[hash_num]链表,搜索链表中是否存在源地址,源端口号以及目的地址和目的端口号都相同的结点,有就根据请求行的相关信息填充该结点(即结点的维护),没有就新建一个结点并且填充相关信息。

3.5.2 结点的维护

由于一个网页所有内容由多个对象组成,可能有图片、有音频、有文档。还可能包含多个HTML文档。那么就需要知道什么时候一个对象传输完成,例如,当前TCP连接正在传输的对象一个图片,当图片传输完成以后,可能还需要传输一个HTML文挡。由于http协议支持2种工作方式,分别是非持久连接和持久连接[7],若是采用非持久连接,当图片传输完成以后,将断开TCP连接,然后再重新建立新的TCP连接来传送这个HTML文档;但是若采用持久连接的工作方式,那么在图片传输完成以后,建立好的TCP连接并不断开,而是接着使用这个连接来传输接下来的HTML文挡。这里就需要知道什么时候图片传输完成,要对记录传输图片时候的那个TCP连接进行一些清除操作,然后在用这个连接去分析处理接下来要传输的HTML文挡的相关信息。

本文使用了TCP 段头标志字段的PUSH字段,当TCP 头里面的PSH比特被设置的时候,就指示接收方应该立刻就数据提交给上层。因此可以把这个当成传输不同网页对象之间的界限。也就表示,当还原程序收到HTTP响应报文,如果TCP 头里面的PSH或FIN字段被设置的时候,就表明这次传输的HTML对象完成。此时首先将还原出的数据报文存入到文件中,同时跟新URL白名单。然后,删除此次连接在链接跟踪表中的表项,回收系统资源。

3.5.3 结点的删除

结点的删除有两处,其一,对每一个HTTP响应报文,如果收到TCP 段头标志字段的PUSH或FIN字段被设置的时候,就表示本次TCP连接将要结束,因此删除对应的结点。其二,由于某些连接可能不会正常结束,因此在每个结点中都有一个timer_count(初始值为0)字段,每过一定的时间间隔(默认3分钟)对其加一,当该值超过一定的值(默认是2)时,那么认为该连接超时,从Hash表中删除对应的结点。

4 实验设计与分析

4.1 实验环境

由于本系统是用于实时环境中的一个应用系统,为了验证系统的性能,在实验室允许的环境下,设计了以下的实验环境,用于测试系统的实时性能和还原的准确率。在学校的一个局域网内,把还原模块配合网关一起运行,PC1(IP:193.169.0.2)通过网关(IP:192.168.148.221),再经校园网访问互联网。PC1上安装LoadRunner8.0[8]该测试工具来模拟多用户并发访问互联网,测试实时还原模块的性能,如图3所示。

4.2 实验设计

为了测试还原系统的实时性,本文通过测试系统的响应时间和网页还原准确率两个性能参数。

实时还原模块IP、URL白名单分别在不启用还原模块和启用还原模块的这两种情况下,使用LoadRunner进行了以下四组实验。

第一组:设定LoadRunner的虚拟用户为100个,同时访问若干个网站,例如:30个访问新浪,20个访问雅虎,10个访问学校主页等等。

第二组:设定LoadRunner的虚拟用户为300个,同时访问若干个的网站。

第三组:设定LoadRunner的虚拟用户为500个,同时访问若干个的网站。

第四组:设定LoadRunner的虚拟用户为500个,同时访问若干个的网站。

第五组:设定LoadRunner的虚拟用户为1000个,同时访问若干个的网站。

实验以用户的平均响应时间和正确还原网页数作为系统评价指标,结果如下:

第一组在不启用还原和启用还原模块时,用户的平均响应时间分别为2.623秒和3.105秒;第二组分别为4.075秒和5.493秒;第三组分别为6.753秒和8.856秒;第四组分别为11.362秒和19.969秒;第五组分别为18.611秒和35.843,如图4所示。

在测试网页还原准确率试验中,先自己用程序将1000个网页及其URL下载到本地机器上,然后设置LoadRunner中访问的URL为所下载的URL,测试还原系统还原网页准确率。其定义如下:

网页还原准确率=正确还原的网页数/访问网页数

其中正确还原的网页数为还原系统保存下来且和已下载的网页一致的网页,访问网页数为每组实验中设定的虚拟用户数(每个用户访问一个网站)。

在启动还原模块后,各组中正确还原的网页个数分别是:97、287、469、637、838个,网页还原准确率如图5所示。

4.3 实验分析

从实时性实验结果可以看出,当内部网络的并发用户数小于500时,网络还原模块对客户的响应时间影响有限,尤其是在小于300时,几乎对用户的Web浏览是无影响的。在并发用户高于500,达到1000时,还原系统对Web浏览的实时性影响急剧增加。据分析有以下两个原因:

(1) 网关主机性能有限,当内网并发数过高时,网关因转发不及时,而出现丢包现象,从而造成系统的平均响应时间升高。

(2) 还原系统利用Netfilter IPQueue 机制,在用户空间构运行。在出现大量并发用户访问时,会有大量的数据包要从内核空间同时传送到用户空间,此时会有丢包现象,从而造成了部分请求的响应时间延长。

从图5中的实验结果中可以看出,在并发用户低于700的实验组中,还原系统的平均正确率在91%以上,而在并发用户数达到1000个时,准确率低于90%。经过对系统过程的详细分析,发现造成还原结果出错的原因有:

(1) 部分网站在传送网页文本信息的最后一个数据包时,不设置TCP包头中的push字段。因此不能判断数据传送的结束,也就造成了网页还原的错误。已经使用了为每个连接设置定时器的方法来解决。

(2) 由于IE有缓冲功能,对于最近访问过的且没有修改的网页,服务端将不会从新传送响应报文,此时,运行在网关位置的还原系统就不能获取浏览网页。可以通过为设置缓冲的方法来解决。

当内网并发用户过多时,系统会出现丢包现象,请求的客户端就会尝试多次的连接,因此造成了在还原系统中的哈希表中对于同一个网站的请求会出现多次(由于请求的客户端端口不同),从而造成部分连接无法加入还原系统的哈希表(还原系统根据机器的性能设置了哈希表项个数的最大值,当超过最大值时,还原系统将丢弃此次请求)。可以通过增大哈希表项的最大值来解决,也可通过为每个连接设置定时器的方法来解决。

整个实验可以看出,还原模块确实带来了一些延迟,但系统基本满足监控一个中小型网络的HTTP服务的要求,实验所用机器均为普通PC机器,如果放在专用服务器上,相信系统的性能还会有进一步提升的空间。

5 结 语

本文在Linux Netfilter 安全框架下,利用ip_queue机制设计并实现即时系统,实验表明本系统性能较稳定,能满足中小型局域网下对上网内容的监控。本文设计的系统可作为网页访问控制、非法网页过滤等系统的基础模块来运行,可考虑将还原模块程移入到内核中去,能更好地提高系统的性能。

参考文献

[1]费绍敏,龚晓峰,李宾,等.基于winpcap的网络监控系统的设计与实现[J].通信技术,2009,11(42):206-207,210.

[2]田伟,顾韵华,丁妮.网络行为监测与还原系统及关键技术研究[J].计算机工程与设计,2008,29(2):479-482.

[3]陈晓苏,邓硕,熊兵.基于HTTP111的WEB信息还原关键技术研究[J].电脑开发与应用,2007,4(20):48-49,67.

[4]万国根.面向内容的网络监控模型[D].电子科技大学,2005.

[5]James M.Libipq[EB/OL].http://www.cs.princeton.edu/~nakao/libipq.htm.

[6]史蒂文斯.TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议[M].胡谷雨,等译.机械工业出版社,2000.

[7]James F K,Keith W R.计算机网络[M].北京,2006:60.

谢绝误还原变相隐藏一键还原菜单 篇11

公司电脑安装的都是Windows 8系统,为了方便系统还原,我为每台电脑安装了一键还原,不过这样开机后就会出现一键还原菜单,很多同事在开机时经常会不小心选择了这一项,导致数据丢失。有没有方法可以在不影响一键还原的前提下隐藏开机菜单显示的一键还原项呢?(题号:20150702)

解题思路

如果隐藏了一键还原菜单,会导致以后真正想要还原时的不便。这里可以进行变相的“隐藏”,就是把一键还原菜单移到界面的最底部,从而减少误选的几率。大家知道Windows 7是字符式(Windows 8称之为传统启动界面)启动界面,界面下方有一个“内存测试”组件,按Tab键定位到该组件后才能启动。因此我们只要将一键还原菜单移动到该项的后面,就可以起到一定的保护作用。

解题方法

首先将Windows 8启动界面恢复为传统启动界面,这可以借助“Bootswitch”来实现,启动该应用后点击左侧窗格的图标,这样重启后即可切换到字符式启动界面(图1)。

进入系统后,以管理员身份启动命令提示符,输入“bcdedit”,然后查看电脑一键还原的启动参数。比如笔者电脑上使用的是grldr.mbr作为启动文件,现在记住它的“device”(启动文件所在驱动器路径)、“path”(启动文件路径)这两个参数的值(图2),然后继续在命令提示符中输入下列命令(图3):

bcdedit /create {e6b02aae-2b2d-4a27-a94c-b125bfc0fc9a} /d Windows 一键还原(慎用)/application bootsector

bcdedit /set {e6b02aae-2b2d-4a27-a94c-b125bfc0fc9a} path \grldr.mbr

bcdedit /set {e6b02aae-2b2d-4a27-a94c-b125bfc0fc9a} device partition=c:

bcdedit /toolsdisplayorder {e6b02aae-2b2d-4a27-a94c-b125bfc0fc9a} /addlast

命令解释:

“/d Windows 一键还原(慎用)”是在系统的BCD菜单中添加名为“Windows 一键还原(慎用)”的新启动菜单(名称可以任意设置),剩余的“path \”和“device”参数则要和前面查看的一键还原的菜单一致。

“bcdedit /toolsdisplayorder”参数表示将启动菜单添加到多重启动界面的工具菜单下,这样自行添加的菜单会和系统原来的内存诊断一起排列。

完成上述操作后,输入“bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}”将原来的一键还原菜单删除。现在重启电脑,开机后在启动菜单下的“工具”栏就可以看到新增了一个“Windows 一键还原(慎用)”的菜单,默认情况下上下键无法进行选择,只有按Tab键才可以定位到该菜单进行还原,这就有效避免了误操作的发生(图4)。

还原系统 篇12

1 计算机系统中的软件还原技术及应用

1.1 软件还原技术介绍

软件还原技术, 顾名思义就是在无需额外添加任何硬件的情况下, 利用还原软件即可实现对系统的维护性的还原, 让硬盘上的部分或全部分区恢复先前的内容。常见的软件还原方式有基于GHOST的镜像备份与还原, 纯驱动程序保护与还原, 以及功能更多、类似硬件还原卡的软还原软件。软件还原实现相对简单, 功能比较单一, 安全等级也低一些。

1.2 软件还原技术在计算机操作系统维护中的应用

随着计算机技术的不断开发研究, 市场中出现了多种计算机系统的软件还原技术产品。其中在此应用领域有最广泛影响力的是GHOST。GHOST工作原理是先将硬盘分区表信息和硬盘数据打包成镜像备份保存, 当系统损坏需要快速恢复还原的时候, 先恢复硬盘分区表信息然后再恢复硬盘上的数据, 从而保证还原后系统正常引导启动。GHOST支持单机还原和网络多播克隆两种还原两种方式。GHOST多播克隆通过网络将计算机局域网内的某一台计算机作为服务终端, 把在母机生成的GHOST镜像系统, 还原恢复至其他的客户端计算机上, 同时支持客户端IP和计算机名称统一编辑修改。这在机器众多、集中放置的公共计算机机房显得十分实用。需要注意的是, GHOST母盘镜像系统如果克隆还原在不同品牌、不同硬件配置的计算机客户端上可能出现无法正常启动或者蓝屏等兼容性问题。

冰点还原也是一款具有较大知名度的还原软件。冰点还原以纯驱动的形式进入操作系统的内核模块中, 通过争夺南桥芯片的I0控制权来实现还原。当Windows启动加载驱动的时候, 冰点还原也以某种方式触发启动, 拦截硬盘驱动并加载自己的驱动, 从而拿到I0控制器的控制权, 同时也控制了对硬盘的任何写入操作, 达到恢复还原目的。由于只是纯驱动的还原方式, 冰点还原实现简单, 功能单一, 只支持对硬盘的还原保护以及开放不保护等基本功能。

另一款在计算机用户中普遍使用的软件还原产品是还原精灵。这也是我们前文提到的一款典型的、功能原理类似硬件还原卡的软还原软件。还原精灵在安装时, 把启动还原的代码写到硬盘上, 用自己的引导程序代替标准的引导记录, 这样原来硬盘上的引导扇区 (MBR, 主引导记录) 就被改变了, 当硬盘启动时, 系统就首先加载还原精灵的主引导程序中代码, 进而接管了对硬盘进行读写操作的INT 13中断。在激活还原模式下, 当我们向硬盘写入数据时, 其实是写入还原精灵自己定义的一段连续的空磁盘空间, 即写到了备份的FAT表中, 并没有真正修改硬盘中的FAT。当计算机重启后这些写操作内容都不再存在, 系统还原到之前的状态。还原精灵简单易用, 功能丰富, 除了支持基本的硬盘还原与开放功能外, 也具备转储功能 (又叫更新硬盘数据) ;可自行监测受损的系统程序并修复还原;对计算机硬盘主引导区实时保护, 受到破坏自动重启复原。但由于程序常驻内存, 需占用一定的系统资源。当前市面上还有其他的软件还原产品, 这里不一一列举, 但其工作原理、功能均可从上述三种产品找到相似相通之处。

2 计算机系统中的硬件还原技术及应用

2.1 硬件还原技术介绍

硬件还原技术指的是将能够还原操作系统的程序固定存储在计算机的特定芯片上, 或者是以插接卡的形式来实现系统还原保护等各种功能的技术。常见的计算机系统还原卡产品有传统的主板集成型与独立网卡型。其中, 主板集成型的计算机系统还原产品通常供大型的计算机厂商使用, 计算机厂商将计算机还原系统芯片集成在计算机主板上, 实现对系统的保护与还原等基本功能。独立网卡型是将计算机系统还原程序写入ROM存储芯片并集成在以太网卡上, 通常做成PCI扩展卡。这类还原卡功能丰富, 支持多种可选还原保护方式, 支持转储 (又叫更新硬盘数据) 以及局域网内批量计算机系统还原克隆等。近些年市面上出现了基于新一代技术的还原卡 (通常是PCI-E扩展卡) , 不再集成网卡, 板卡通过数据总线与硬盘直接连接, 物理上接管硬盘的写入, 安全性进一步增强, 最新版本无须再安装底层驱动。

2.2 硬件还原技术在计算机操作系统维护中的应用

虽然目前市面上的硬件还原卡种类繁多, 但是按照工作原理其实分为两大类。第一类为前文提到的主板集成型 (联想或HP部分机型提供此功能) 和独立网卡型 (如增霸卡、海光蓝卡、小哨兵还原卡、噢易还原卡等, 产品形式是一个PCI扩展卡) , 其工作原理都是类似的:当计算机启动时, 存储在PCI扩展卡ROM芯片中的还原代码先加载并得到控制权 (PCI设备启动时间比存储设备早) , 然后接管BIOS上的INT 13中断, 之后其对硬盘的保护性读写原理与前文提到的某类软还原软件类似。这类还原卡由于还原程序启动时间更早, 无需修改硬盘的引导区, 相比之下更加安全, 但是还需要在操作系统之上提供过滤驱动程序来实现还原算法的运转, 这给操作系统之上其他恶意软件提供可乘之机。在这里我们不得不提一下机器狗病毒, 它的原理就是绕过还原驱动, 从更底层的硬盘驱动直接访问硬盘。所以无论是软还原软件还是硬件还原卡都无法躲过机器狗的攻击, 以至于我们看到还原产品厂家推出了驱动级防火墙, 来拦截不明身份的驱动程序的加载, 从而防范机器狗病毒对硬盘的访问。

第二类新型还原卡 (通常是PCI-E扩展卡) , 跟传统还原卡在原理上已经有了很大的不同, 不依靠Boot ROM来取得控制权了, 而是总线硬件直接获得控制权。表1是两代还原卡的参数上一些对比:

硬件还原卡广泛应用于学校计算机实验室、图书馆和网吧等公共机房环境, 对于维护公共领域使用的计算机提供很大便利, 除了支持各种还原保护方式, 也具备网络批量拷贝系统以及颇具实用性的增量拷贝 (只单独传输变化数据部分) 、变量拷贝、差异拷贝等新功能。

3 结语

本文只是对计算机操作系统维护中还原技术及其应用做简单介绍, 计算机还原技术还在不断发展和创新, 需我们不断的钻研和开发, 不断地完善和改进, 封堵各种安全漏洞, 提高稳定性和兼容性, 让还原技术在计算机系统维护和管理中发挥更重要作用。

摘要:随着科技的发展, 计算机技术的应用范围不断扩大, 在各行各业得到了广泛使用并发挥着重要作用。而在计算机的使用过程中, 操作系统损坏或异常, 是多见而又棘手的问题。为了快速解决计算机系统故障问题, 使计算机系统恢复正常运行, 灵活运用计算机操作系统还原技术常常能取得事半功倍的效果。本文针对计算机操作系统中的还原技术及其具体应用进行了简要的分析, 以期能对广大的计算机用户提供技术支持和参考。

关键词:计算机操作系统,维护,还原技术,应用

参考文献

[1]沈亚钧.还原技术在计算机操作系统维护中的应用[J].科技情报开发与经济, 2011.

上一篇:夹心层下一篇:聘期考核