备份与还原Windows操作系统的方法

文档序号:9489348阅读:648来源:国知局
备份与还原Windows操作系统的方法
【技术领域】
[0001]本发明涉及Windows操作系统的备份与还原技术,特别涉及一种利用FreeBSD技术备份与还原Windows操作系统的方法。
【背景技术】
[0002](一)Windows操作系统的备份与还原
常见的Windows操作系统的备份与还原技术主要有两种:一种是Windows操作系统自带的“系统还原”技术,另一种是基于Ghost的各种“一键Ghost”技术。
[0003]Windows自带的“系统还原”技术有严重的先天缺陷。因为使用“系统还原”的前提是能够正常启动Windows系统,所以一旦Windows系统自身无法正常启动(例如某些关键文件被破坏),这项技术也就失效了。
[0004]所有的“一键Ghost”在本质上都由如下三个部分组成:
1.一个虚拟光盘镜像(iso文件)或虚拟软盘镜像(img文件)。其中包含了独立的Windows或DOS环境以及Ghost工具。
[0005]2."GRUB4D0S"弓丨导管理器。由于"GRUB4D0S"弓丨导管理器支持一种独特的〃磁盘仿真〃功能,可以将iso文件或img文件作为虚拟光盘或虚拟软盘启动,从而为“一键Ghost”提供了至关重要的独立Windows或DOS环境,而其他引导管理器都不具备〃磁盘仿真〃功能,因此所有的“一键Ghost”都无一例外的使用了 "GRUB4D0S"引导管理器。
[0006]3.一个用来保存备份文件的NTFS或FAT文件系统。通常是C盘之外的其他磁盘分区(一般默认D盘)。
[0007]“一键Ghost”通过在一个独立的Windows或DOS环境中运行Ghost程序,不再依赖于电脑上原有的Windows系统,巧妙的避开了“系统还原”技术的先天性缺陷。因此,“一键Ghost”在实践中得到了广泛的应用。但是这种技术仍然存在一些无法克服的缺点:
1.安全性不佳。一方面,由于“一键Ghost”必须在Windows环境中安装,所以其自身(iso或img文件)只能安装在NTFS或FAT文件系统上(一般默认C盘),另一方面,由于Ghost程序也需要在Windows或DOS环境中运行,所以备份文件也只能存储在NTFS或FAT文件系统上(一般默认D盘)。因此在Windows正常使用的过程中,“一键Ghost”自身(iso或img文件)与备份文件(gho文件)都有可能被误删除或者被恶意程序破坏。虽然在实践中,各种“一键Ghost ”都会将这些文件加上隐藏属性,但是依然不能从根本上杜绝这种风险。从根本上说,所有基于Windows或DOS系统的备份与还原技术,都存在这个缺点。
[0008]2.数据压缩技术不理想。Ghost在备份时使用了 1993年发明的deflate压缩算法,这种压缩算法重在节约CPU资源,但是压缩效果比较差。随着CPU性能的突飞猛进,应该使用一种压缩率更高、更能充分利用现今强大CPU性能的压缩算法。同时由于Ghost仅使用单线程压缩,因此也不能充分利用现今多核CPU的并行计算能力。
[0009]3.智能化程度低,不适合大规模场景下的使用。“一键Ghost”是面向个人用户设计的产品,并未考虑规模较大的企业环境,主要问题在于备份文件与目标机器之间的匹配问题。假设某公司有1000台电脑,维护人员在给这1000台电脑进行Ghost备份时必须明确的区分每台电脑的备份文件(通常是使用不同的文件名)。而在还原时又要根据每台电脑的标识(例如资产编号),找到与这台电脑匹配的备份文件,然后将它们还原到对应的电脑上。由于数量巨大,靠人工手动匹配,是很容易出错的,所以缺乏自动化的匹配机制使得维护人员的工作量与错误率大大增加。
[0010]4.不支持最新的UEFI技术规范。这个问题的根源并不在Ghost本身,而是在于各种“一键Ghost”所使用的〃GRUB4D0S〃引导管理器。由于〃GRUB4D0S〃引导管理器自身并不支持UEFI技术规范,所以无法在UEFI平台上启动,而各种“一键Ghost”又必须依赖于"GRUB4D0S"所独有的〃磁盘仿真〃功能,从而间接造成了各种“一键Ghost”在事实上无法在纯UEFI平台上工作的冏境。进一步深入来说,"GRUB4D0S"所独有的〃磁盘仿真〃功能其实依赖的是16位x86实模式B1S所提供的直接中断调用功能,而UEFI规范并不支持古老的16位x86实模式,所以自然也就不支持直接中断调用功能。因此"GRUB4D0S"所独有的〃磁盘仿真〃功能从根本上说,是不可能移植到UEFI平台的。由于B1S正逐渐被UEFI取代,并且很多最新的主板已经不再兼容传统的B1S模式,所以各种“一键Ghost”的适应性正在不断降低。
[0011]5.Ghost原生英文界面,对中文用户不友好。
[0012](二)FreeBSD操作系统的中f显示
首先简要介绍一下FreeBSD内核在控制台上显示字符的原理。
[0013]FreeBSD控制台有两种:文本模式控制台与图形模式控制台。
[0014]文本模式控制台只能显示VGA显卡内嵌的256个字符,且屏幕大小固定为80x25个字符。当内核想要显示一个字符的时候,只需将字符的代码(1字节)和属性(1字节)写入字符缓冲区的相应地址即可。换句话说,在文本模式下,FreeBSD内核只能告诉显卡〃以XX属性(例如黑底白字)显示代码为XX的字符(例如’A’)",而不能决定字符在屏幕上的形状(例如是Fixed字体还是Courier字体),更不能显示VGA显卡内嵌的256个字符以外的其他字符。
[0015]图形模式控制台在FreeBSD内核中是通过帧缓冲模块实现的。通过帧缓冲模块,FreeBSD内核可以直接操作帧缓冲设备(也就是屏幕的抽象),进而在屏幕上显示任意形状的图像。换句话说,在图形模式下,屏幕被抽象为一段内存(帧缓冲区),FreeBSD内核通过控制帧缓冲区的内容,即可精确的控制屏幕上的每一个像素。因此,为了在图形模式控制台上显示字符,FreeBSD内核需要首先将字符转换为位图,然后再将位图写入帧缓冲区,即可将字符(位图)呈现于屏幕。
[0016]为了将字符转化为位图,FreeBSD内核内嵌了点阵字体,而字体实际上是一个二维点阵的数组。具体说来,每个字符都是一个8x16像素的二维点阵,有笔画的像素对应的bit为〃1〃,无笔画的像素对应的bit为〃0〃,这样就将字符(也就是位图)数字化了。
[0017]显然,想要显示复杂的中文,只能使用图形模式控制台。
[0018]然而由于FreeBSD内核的图形模式控制台存在设计上的缺陷(在【具体实施方式】部分有详细的说明),现实的实际情况是,FreeBSD操作系统的内核并不支持直接在控制台上显示中文。如果想要在控制台上显示中文,必须额外使用中文外挂程序,例如zhcon或fbterm。但使用外挂程序有如下缺点: 1.需要额外的用户空间程序,且依赖关系复杂,不适合用于嵌入式系统。嵌入式系统希望软件结构越简单越好,最好是除操作系统内核外,再外加一个用户空间程序即可。但是为了显示中文,不但需要额外加上中文外挂程序,还需要加上许多外挂程序运行时所需要的函数库以及中文字体。这显然增加了系统的复杂性。
[0019]2.可能会与其他用户空间程序冲突,兼容性不佳。因为中文外挂程序需要占用帧缓冲设备,因此会与同样使用帧缓冲设备的其他程序(例如w3m)发生冲突,从而造成兼容性故障。
[0020]要想从根本上解决上述两个缺点,必须将中文的显示支持移入到内核空间中。

【发明内容】

[0021]针对上述技术中存在的不足之处,本发明提供一种结构简单、操作方便的备份与还原Windows操作系统的方法。
[0022]为了达到上述目的,本发明一种备份与还原Windows操作系统的方法,包括以下控制步骤:
S1、FreeBSD内核中文化:向FreeBSD内核中添加中文字体,并修改FreeBSD内核中的字体获取函数,以实现内核级的中文显示支持;
其中,S1的FreeBSD内核中文化处理具体包括以下步骤:
511、嵌入中文字体:向内核中添加中文点阵字体,将一个汉字劈为左右两个8X16像素的二维点阵,从而让每半个汉字等价于一个西文字符;
512、分配双倍内存:保持内核中原有的所有数据结构与变量定义不变,特别是用于保
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1