首页 > 范文大全 > 正文

基于Android―x86的windows恢复系统研究与设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Android―x86的windows恢复系统研究与设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:当计算机系统遇到到用户错误操作、硬件故障、被黑客或病毒攻击,造成数据丢失或系统损坏时,通过数据恢复技术可将用户数据恢复正常或者使系统正常运行,从而减小用户损失。提出基于android-x86windows恢复系统设计,通过双系统启动的方式实现系统恢复功能,从而有效与问题源进行隔离,且在恢复过程中不需借助其它媒介。测试表明,该方法能够有效恢复Windows系统。

关键词:Andorid-x86;Windows;数据恢复;恢复系统;Wimlib

DOIDOI:10.11907/rjdk.161639

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2016)009006504

作者简介作者简介:陈一璋(1991-),男,北京人,北京工业大学计算机学院硕士研究生,研究方向为操作系统、计算机信息安全;(1969-),女,辽宁沈阳人,博士,北京工业大学计算机学院教授、博士生导师,研究方向为操作系统、可信计算;陈渝(1972-),男,广东湛江人,博士,清华大学计算机科学与技术系副教授,研究方向为操作系统、计算机信息安全。

0引言

随着信息技术的快速发展,信息安全问题越来越受到广泛关注。据IDC统计,当前数据存储量正以每年超过50%的速度增长[12]。当遇错误操作、硬件故障、被黑客或病毒攻击等情况时,面临数据丢失的风险。

数据恢复在国外已经30余年的实践,仅北美地区拥有的数据修复公司便超过400家,其中包括Ontrack、CBL等知名公司。目前,中国数据恢复产业还处于发展阶段。据相关数据统计,中国电脑用户已经超过2亿,数据恢复市场潜力巨大。

针对Windows系统,目前已有一些数据恢复工具,如EasyRecover、Recover、Disk Recover、Wimlib等,其不足之处在于无法通过系统本身进行数据恢复,需要借助光盘、USB等相关存储工具。本文开发基于Android-x86平台的Windows恢复系统,可恢复用户备份的磁盘数据,将不能启动的操作系统恢复到正常状态。相关恢复镜像可以保存在andorid-x86系统中或者通过网络进行下载,Android-x86系统作为一个辅助系统,方便用户使用。

1国内外相关工作

数据恢复可分为硬件恢复和软件恢复两大类[3],如图1所示。

硬件恢复分为以下3种方式:固件修复、盘片读取以及硬件替代[4]。软件恢复包括系统级恢复和文件级恢复。系统级恢复指系统无法正常启动时,通过软件对系统进行修复,从而使系统恢复正常,恢复数据。文件级恢复只是恢复某个损坏的文件。本文恢复系统是一个系统级恢复软件。

常见的数据或系统恢复软件主要有:

(1)EasyRecovery[5]。EasyRecovery是由Ontrack公司研发的一款数据恢复工具,它通过模式识别的方式找回硬盘上不同位置的文件碎片,并进行整合。在内存中建立虚拟文件系统,列出所有文件目录。即使硬盘分区以及相关维护信息非常少,也可以高效恢复。

(2)FinalData[6]。FinalData可以运行在不同系统平台上,如Windows、Linux。其可以对数据、MBR、引导扇区等进行恢复,恢复完全删除的数据文件以及目录,还能对引导扇区中的内容以及通过快速格式化删除的数据内容进行恢复。

(3)WinHex[7]。WinHex是一款针对数据恢复的磁盘编辑器工具,可以修改Hex和ASCII码,还能对磁盘磁区进行编辑,对文件进行分析对比,可以作为一个手工修复数据的工具,在ZDNet Software Library上获得了五星的最高评价。

(4)DISM。DISM的全称是Deployment Image Service and Management Tool,是一款在Windows7和Windows Server 2008R2引入的工具,能够完成系统安装。它的特点在于可对镜像进行加载和卸载,在镜像中搜索已安装的设备驱动。

(5)ImageX。ImageX是一个命令行工具,通过它可以创建、修改以及使用Windows磁盘镜像(WIM格式)[8],它是一个免费的Windows自动安装集合。从Windows Vista开始,可以用来完成Windows安装,对磁盘分区进行映像捕获,并修改和使用磁盘映像,以快速部署Windows系统。它还支持一些新功能,如分离镜像文件以及通过最新的LZX压缩算法[9]完成WIM文件捕获。

总体来讲,上述这些工具都可以对数据或者系统进行恢复,但不足之处在于当系统无法正常启动时不能使用,需借助光盘、USB等存储工具。

双系统目前逐渐被人们所接受,即在一台计算机上安装不同的操作系统,当一个系统不能正常运行时,可以启动另一个系统。本文开发一个基于Android-x86的Windows恢复系统。Android是一个开放源代码的操作系统,而Android-x86是一个开源项目,在x86平台上可以使用Android操作系统。该操作系统基于安卓开源项目[10](Android Open Source Project ),并且修改一些组件来允许Android运行在x86的架构上,比如kernel和HALs层。目前,Andorid-x86已成为一个较为稳定的桌面操作系统。相关工具和技术如下:

(1)rEFInd。随着基于EFI或UEFI的电脑用户的增多,配置EFI boot loader的需求也越来越大,特别是在有多个操作系统的设备上,如何启动操作系统成为关键。EFI电脑的启动方式不同于传统的BIOS启动,启动方式更加灵活,并且从理论上要比BIOS启动容易配置。不足之处在于目前针对EFI的文档并不多,大多数文档还是以BIOS为主,使得启动基于EFI的系统相对较复杂。