计算机存储装置的可修改分区引导记录的制作方法

文档序号:6414487阅读:191来源:国知局
专利名称:计算机存储装置的可修改分区引导记录的制作方法
本公开内容一般地涉及计算机,较具体地涉及计算机存储装置的分区引导记录,该记录的类型可以动态地改变,例如从不可识别引导记录改变成可识别引导记录。
在含有一个或多个存储装置例如硬驱的计算机中,这些存储装置常常被分成一些不同的分区,使某些数据或程序可以存储在不同的分区上。例如,在一种使用由华盛顿州Redmond市的MicrosoftCorporation(微软公司)所提供的Microsoft DOS,Windows(视窗)、或Windows95操作系统的计算机中,单个硬驱可能被分成一个例如用来存储操作系统代码的分区和另一个例如用来存储应用型或维护型程序的分区。在下面的讨论中,为了简明,将仅说明使用DOS的情形,但应该理解,DOS只是上述各个操作系统和许多其他操作系统的一种代表。
这种应用或维护型程序的一个例子是电子启封("EBTS")程序。EBTS程序常用来强制对另一个程序实施软件许可协议。为了实现EBTS程序,需生成一个第一分区作为应用分区和存储EBTS程序。还要生成一个第二分区作为基础分区并存储那个受软件许可协议限制的程序。起初,应用分区被标为“激活”,使计算机首先访问该应用分区。当许可协议被接受时,再把基础分区标为激活,而以后计算机将首先访问该基础分区。
然而,上述过程将带来一些问题。其中之一是,有可能不希望用户在其正常的计算机操作中去访问应用分区。这可能是因为用户可以访问到一些太有力的维护和应用程序,从而会使用户容易丢失其硬驱上的数据、重新配置计算机,或者做出最好不应由用户做出的事情。因此,一种解决是在正常情况下不让操作系统“看见”应用分区。这可以通过把该应用分区的一个“分区类型码”设定成一个操作系统不可识别的值来实现。诸如硬驱等存储装置的构形和处理在Mark Minasi的著作“THE HARD DISK SURVIVAL GUIDE(硬盘生存指导)”(SYBEX,INC.,1991)中有所说明,该书在此引用作为参考。
不过,这又引起了另一个问题。在本例中,起初应用分区被标为激活的,从而当计算机起动时它将只看见该应用分区。在应用分区中,计算机可能要运行如EBTS程序这样的维护或应用程序。然而,在能够运行EBTS程序之前,计算机必须首先从激活分区内安装操作系统代码。在本例中,计算机至少要安装两个DOS系统文件IO.SYS和MSDOS.SYM.。IO.SYS系统文件检验激活分区的分区类型码以确保这个分区类型是它能够识别的。由于实际情况不是这样,所以IO.SYS将遇到一个错误,从而相应地发出一个出错消息。结果就不能执行EBTS程序。
因此,为计算机存储装置提供了一种可修改的分区引导记录。在一个实施例中,一个计算机含有一个用来安装和运行引导码和操作系统代码的处理器。一个可被该处理器访问的存储装置至少含有两个分区第一分区起初是激活的并具有操作系统不能识别的类型,第二分区起初是不激活的。
当计算机引导起动时,处理器将访问起初是第一分区的激活分区。一旦该激活分区被访问,其中的软件将指导处理器把激活分区的类型转变成一种“可见”的类型,即操作系统可识别的类型。因此,当操作系统被安装时,它将可识别激活分区的类型,从而不会遇到错误。一旦已安装了操作系统,另外的软件将指导处理器把激活分区的类型转变回不可见类型。
由于现在已安装了操作系统,所以处理器将可执行其它任务。例如,处理器可以执行EBTS程序,提示用户接受关于存储在第二分区中的一个软件的软件许可协议。如果用户接受了软件许可协议,则处理器将把第二分区指定为激活的。
所得到的一个技术优点是,当把第二分区指定为激活之后,第一分区将不再能容易地被一般用户访问。
得到的另一个技术优点是,在用户接触到第二分区之前,就可以执行和完成像EBTS程序这样的程序,从而用户对于第二分区的程序的“用户经历”不会受到中断干扰。


图1是能实现一个实施例的计算机的方框图。
图2是图1计算机的硬驱的布局图。
图3是一个由图1计算机运行的例行程序的流程图。
参见图1,代号10代表一个含有一些部件的计算机,这些部件至少包括一个处理器12、一个主存储器14、一个盘式驱动器16、以及一个用户界面18,如键盘或鼠标。每个部件都可以通过图示的总线20与处理器12进行通信。在本例中,该计算机是一个运行MicrosoftDOS的个人计算机。然而应该理解,计算机10及其各示例性的部件仅仅是本技术领域所熟知和了解的许多种计算机的一个代表,而DOS仅仅是许多不同操作系统的一个代表。
参见图2,盘式驱动器16被分成三个不同的分区一个主引导记录30、一个应用分区32和一个基础分区34。位在主引导记录30中的是引导指令代码40和一个主分区表42。该主分区表含有分别代表分区32和分区34的代码。应该理解,主引导记录30还含有用来引导起动计算机10和定义硬盘16的其他分区的通常代码。
应用分区32含有一个引导记录50和一个或几个软件,其中包括一个含有许可证协议的EBTS程序52。在正常操作中,应用分区32仅在例如用户第一次运行计算机等特殊情况下使用。基础分区34也含有一个引导记录60和一个或多个软件,例如受EBTS程序52的许可证协议制约的程序62。在正常操作中,基础分区34将能容易地被用户访问。本实施例的目的是要求用户在被允许访问程序62之前接受EBTS程序52的许可证协议条款。
参见图3,一个例行程序100用来让用户在接受了EBTS程序52的许可协议后可以访问程序62。当计算机10从工厂发运时,应用分区32原来被标为激活的(因此基础分区34是不激活的)。此外,应用分区32的分区类型被设定为DEh(h代表十六进制),而基础分区34的分区类型被设定为06h。在本优选实施例中,类型06是一个有效的分区类型码,但类型DE不是,因此不能被DOS识别。
在步骤110中,处理器12通过执行引导指令代码40进行引导。在步骤112,处理器12运行激活分区的引导记录,这里该记录是应用分区32的引导记录50。在步骤114中,引导记录50把它的分区类型改变成06h(即一个有效类型),并正确地改写(write out)主分区表42。在步骤116中,安装IO.SYS(DOS操作系统代码的一部分)。当安装IO.SYS时,它将“看见”分区类型06h,于是执行操作系统起动处理。在步骤118中,当操作系统起动处理完成时,运行EBTS程序52。在步骤120中,EBTS程序52把它的分区类型改变成DEh(即一个无效类型),并正确地改写主分区表142。在步骤122中,EBTS程序52在用户界面18上提示用户,询问他是否接受许可协议。
如果用户表示接受,例如在用户界面18上选择任选项“接受”,则处理进至步骤124。在步骤124,基础分区34被标为激活(因此应用分区32不激活),并且计算机10重新进行引导。然而,如果用户没有表示接受,则处理进至步骤126。在步骤126,通知用户不可以访问程序62,然后例行程序100停止。或者,也可以再次提示用户,或进一步向他提供关于许可协议的另外信息。
其结果是,当计算机10重新进行引导时,就可以访问基础分区34和运行程序62。另外,如果在基础分区34上安装一个例如MicrosoftWindows的操作系统,则由于EBTS程序52已经完成,所以用户的“视窗经历”也不会被EBTS程序阻断。再有,应用分区32可以含有另外一些不应轻易被用户访问的程序,例如维护和诊断程序。不过,一个技术人员可以重新激活应用分区,并由此访问维护和诊断程序。
虽然已示出并说明了本发明的一些示例性实施例,但希望在上述公开内容中留有修改、改变和替换的余地,并且在某些情形中,可以只采用本发明的一些特征而不相应地采用其他特征。例如,硬盘16可以用磁带驱动器、光学存储装置、或其他类型的存储装置替代。再有,可以在所示的实施例中添加一些另外的缓存器、驱动器、延时电路和其他电路而不会改变本发明的范畴。所以,应该广义地并以符合本发明范畴的方式来理解所附的权利要求。
权利要求
1.一种计算机,它包括至少一个处理器,用于安装和运行引导码和操作码;至少一个可被该处理器访问的存储装置,该存储装置至少被分成两个分区,第一分区起初是被指定为激活的,并具有不能被操作码识别的类型;并且,其中,当处理器运行引导码且第一分区为激活时,该处理器将运行一个类型改变例行程序;以及其中的类型改变例行程序指令处理器把第一分区的类型转变成一个操作码可识别的类型,使得该操作码在被运行时能识别第一分区。
2.根据权利要求1的计算机,其中的类型改变例行程序存储在存储装置的第一分区中。
3.根据权利要求1的计算机,其中的操作码存储在存储装置的第一分区中。
4.根据权利要求1的计算机,其中当操作码已能识别第一分区后,类型改变例行程序将指令处理器把第一分区的类型转变成一个操作码不可识别的类型。
5.根据权利要求4的计算机,它还包括一个存储在存储装置的第一分区中的程序;并且其中如果用户以一个预定方式与该程序相互作用时,类型改变例行程序将把第二分区指定为激活的。
6.根据权利要求5的计算机,其中的程序是一个关于第二分区内的许可限制软件的电子启封程序。
7.根据权利要求5的计算机,它还包括一个连接在处理器上的用户界面,并且其中的用户相互作用是通过该用户界面接收的。
8.根据权利要求1的计算机,其中的存储装置还含有一个主分区表,用于存储第一分区的类型。
9.根据权利要求4的计算机,它还包括一个存储在存储装置的第二分区中的程序;并且如果用户以一个预定方式与类型改变例行程序相互作用时,类型改变例行程序将指令把第二分区指定为激活的,使用户可以访问该程序。
10.根据权利要求9的计算机,其中如果用户没有以一个预定方式与类型改变例行程序相互作用,则类型改变例行程序将不会指令把第二分区指定为激活的,从而用户不可以访问该程序。
11.一种用来在一个含有一个用于运行操作系统的处理器和可被该处理器访问的存储装置的计算机中控制对该存储器上的软件的访问的方法,该方法包括(a)在计算机被引导起动之前(ⅰ)把存储装置分成至少两个分区,其中的第一分区是激活的;(ⅱ)把软件存储在第二分区中;(ⅲ)给第二分区设定一个不可见的类型;以及(b)当计算机被引导起动时(ⅰ)让处理器访问激活分区;(ⅱ)给激活分区重新设定一个可见的类型;(ⅲ)安装操作系统;(ⅳ)把激活分区转变回到不可见类型;(ⅴ)判断软件是否可被访问;(ⅵ)如果软件可被访问,则指定第二分区为激活的。
12.根据权利要求11的方法,其中的步骤(b)(v)是这样执行的提示用户接受一个软件许可证协议,并判断用户是否以一个预定方式应答了这个提示。
13.根据权利要求11的方法,其中的存储装置含有一个主分区表,用于存储第一分区的类型。
14.根据权利要求11的方法,其中的存储装置含有引导码,用于引导该计算机。
15.根据权利要求11的方法,其中的步骤(a)还包括(ⅳ)至少把操作系统的一部分存储在第一分区中。
16.根据权利要求11的方法,其中的步骤(a)还包括(ⅳ)至少把操作系统的一部分存储在第二分区中。
17.一种用来在一个含有一个运行操作系统的处理器和一个可被该处理器访问的、至少被分成两个分区且第一分区是激活的并具有不可识别的类型而第二分区中含有一段软件的存储装置的计算机中,让用户可对该软件进行受控制的访问的系统,该系统包括用来使处理器能够访问激活分区的装置;用来在处理器安装操作系统之前把激活分区的类型转变成可被操作系统识别的类型的装置;用来安装操作系统的装置;用来在安装了操作系统之后把激活分区的类型转变回到不可识别类型的装置;用来判断用户是否可以访问这段软件的装置;用来在响应于用户可以访问这段软件的判定时把第二分区指定为激活的装置。
18.根据权利要求17的系统,其中的判断装置提示用户接受一个软件许可证协议,并判断用户是否按一个预定方式应答了该提示。
19.根据权利要求17的系统,其中的存储装置含有一个主分区表,用于存储第一分区的类型。
20.根据权利要求17的系统,其中的至少一部分操作系统是存储在第一分区中的。
21.根据权利要求17的系统,其中的至少一部分操作系统是存储在第二分区中的。
全文摘要
一种计算机,包括至少一个处理器,用于安装和运行引导码和操作码;至少一个可被该处理器访问的存储装置,该存储装置至少被分成两个分区,第一分区起初是被指定为激活的,并具有不能被操作码识别的类型;其中,当处理器运行引导码且第一分区为激活时,该处理器将运行一个类型改变例行程序;以及其中的类型改变例行程序指令处理器把第一分区的类型转变成一个操作码可识别的类型,使得该操作码在被运行时能识别第一分区。
文档编号G06F9/06GK1215863SQ9812015
公开日1999年5月5日 申请日期1998年10月13日 优先权日1997年10月15日
发明者艾伦·E·贝利茨 申请人:戴尔美国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1