创建可引导分区的方法

文档序号:6605514阅读:662来源:国知局
专利名称:创建可引导分区的方法
技术领域
本发明涉及在一种操作系统中创建另一种操作系统可引导分区的方法,尤其涉及一种在Linux下创建FAT或FAT32格式的可引导DOS系统的分区,属于计算机技术领域。
背景技术
操作系统是各种计算机应用软件运行的平台。一般来说,只要操作系统可以支持一台计算机的硬件设备,在同一台计算机上是可以运行多种操作系统的。但是在安装操作系统时,各种操作系统都需要在计算机的存储设备上建立与之相应的文件系统,并且存放必要的数据,这样才能从存储设备引导该操作系统。这些操作系统引导所需的必要数据需要由该操作系统的安装程序在安装过程中生成,或者由支持这种文件系统的其它操作系统写入。
在目前应用最普遍的IBMPC兼容计算机中,主流的操作系统有DOS,Windows系列和Linux系列。DOS系统支持的文件系统为FAT和FAT32。Windows 95和Windows NT支持FAT,Windows 95 osr2、Windows 98、Windows2000和Windows XP支持FAT32,Windows NT、Windows 2000和Windows XP支持NTFS。Linux支持的文件系统较多,除完全支持Linux特有的ext2文件系统外,还可以读写和创建FAT、FAT32文件系统,读取NTFS文件系统。
但是,Linux下创建的FAT和FAT32文件系统只能用来存放文件,不能用来引导DOS或Windows系统。而在某些应用中,恰恰需要在Linux环境中需要创建一个可引导的FAT或FAT32分区,用来启动DOS,运行DOS下的软件。如果此台计算机的硬盘上没有安装DOS或Windows系统,则只能以其它介质如软盘或光盘启动DOS环境,在DOS环境下通过系统命令创建可引导分区。这种方法不但繁琐,而且还需要其它介质资源,在对系统自动程度要求高的应用中是无法满足要求的。

发明内容
本发明的主要目的是针对现有技术的不足是提供一种创建可引导分区的方法,在Linux下可直接创建FAT或FAT 32格式的可引导DOS系统的分区,用来启动DOS,运行DOS下的软件。
本发明的目的是这样实现的,至少包括如下步骤步骤1.获取主引导记录及引导扇区,保存为文件;步骤2.对指定硬盘进行分区和格式化;步骤3.读取指定硬盘的主引导记录及引导扇区;步骤4.根据指定硬盘的主引导记录及引导扇区的内容,修正步骤1中保存的主引导记录及引导扇区;步骤5.将修正后的主引导记录及引导扇区写入指定硬盘;步骤6.将系统文件复制到分区上,结束。
所述步骤1的主引导记录及引导扇区从已经用DOS系统分区格式化好的硬盘上读取,读取后保存为数据文件,供以后步骤使用。
所述步骤2的对指定硬盘进行分区和格式化,可以通过Linux系统命令进行,分区必须为指定硬盘的第一分区。
所述步骤4的修正主引导记录及引导扇区,至少包括首先判断数据格式,即判断是否为FAT32格式;如果是,则分别读取FAT32引导扇区,及FAT32引导扇区文件到缓冲区,用缓冲区中FAT32引导扇区对缓冲区中的FAT32引导扇区文件的内容进行修正;
如果不是,则对FAT引导扇区的内容进行修正,分别读取FAT引导扇区,及FAT引导扇区文件到缓冲区,用缓冲区中FAT引导扇区对缓冲区中的FAT引导扇区文件的内容进行修正。
所述步骤6的将系统文件复制到分区上,是在新创建的分区上写入DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM。
本发明实现了在Linux下直接创建可引导DOS系统的FAT和FAT32分区,一方面简化了用户的手工操作,另一方面解决了需要自动执行此功能的系统面临的无法创建可引导分区的问题。


图1是本发明所述方法的原理框图;图2是本发明所述方法一个实施例的的流程图。
具体实施例方式
常用的MSDOS7.0操作系统从硬盘引导的步骤如下计算机的只读存储器(ROM)中存放的基本输入输出系统(BIOS)对系统进行初始化;BIOS读取位于硬盘0柱面,0磁头,1扇区的主引导记录(MBR);执行主引导记录,主引导记录中的引导程序读取位于系统分区最开始位置的引导扇区;执行引导扇区上的引导程序,引导程序在分区上查找并读取系统内核IO.SYS;执行内核文件IO.SYS,它将读取配置文件MSDOS.SYS和命令解释器COMMAND.COM,完成引导过程。
从上述步骤可知,操作系统从硬盘上引导的必要条件是
在硬盘引导扇区上存在正确的主引导记录;在操作系统分区上存在正确的引导扇区;在操作系统分区上存在正确的系统文件。
只要满足这些条件,创建出的FAT或FAT32分区就应该是可引导的。
但是创建可引导的分区时,并不能简单地将固定的数据写入指定位置。因为主引导记录中还存放有硬盘分区表,DOS操作系统在引导扇区中存放有磁盘参数表,这些数据都是在创建分区和格式化分区的过程中生成的,直接写入固定的数据将破坏这些参数,使得系统无法工作。所以必须在写入数据前对数据进行必要修改,才能创建正确的分区。
图2是本发明一个实施例的的流程图,通过以下步骤实现在Linux下创建FAT或FAT32格式的可引导分区。
步骤1.获取主引导记录和引导扇区。主引导记录和引导扇区可以从已经用DOS系统分区格式化好的硬盘上读取,读取后保存为数据文件,供以后步骤使用。主引导记录为一个扇区,长度为512字节;FAT格式的引导扇区为一个扇区,长度为512字节;FAT32格式的引导扇区为3个扇区,长度为1536字节。
步骤2.对指定硬盘进行分区。分区可以通过Linux的系统命令进行,分区必须为指定硬盘的第一分区,FAT分区的长度不能超过2047M,FAT32分区的长度没有限制。将新创建的分区指定为活动(Active)。
步骤3.格式化新创建的分区,可能通过Linux系统命令进行。
步骤4.读取指定硬盘上开始于0柱面0磁头1扇区的1个扇区(主引导记录),存入长度为512字节的缓冲区1。
步骤5.读取步骤1中保存的主引导记录文件,存入长度为512字节的缓冲区2。
步骤6.将缓冲区1中0×1be位置开始,长度为64字节的分区表内容写入缓冲区2,开始位置为0×1be处。
步骤7.将缓冲区2的内容写入主引导扇区,即指定硬盘上开始于0柱面0磁头1扇区的一个扇区。
步骤8.判断是否为FAT32格式分区,如果是,转步骤13;如果不是,则说明为FAT格式分区,执行步骤9;步骤9.从主引导扇区(指定硬盘0柱面1磁头1扇区位置)的1个扇区读取FAT引导扇区,存入长度为512字节的缓冲区1;步骤10.读取步骤1中保存的FAT引导扇区,存入长度为512字节的缓冲区2;步骤11.因为缓冲区2中的磁盘参数不是根据指定磁盘生成的,所以有必要根据缓冲区1中的数据,对缓冲区2中的数据进行修正。将缓冲区1中0×0b位置开始的长度为43字节的数据(磁盘参数表)写入缓冲区2,开始位置为0×0b处。将缓冲区2中0×1c开始的4字节整数(代表隐藏扇区数)置为与0×18开始的2字节整数(每磁道扇区数)相等的数值。将缓冲区2中0×24位置的1字节(驱动器号)置为0×80(代表第一块硬盘)。
步骤12.将缓冲区2的内容写入FAT引导扇区(指定硬盘0柱面0磁头1扇区的一个扇区),跳转到步骤17;步骤13.读取FAT32引导扇区(指定硬盘0柱面1磁头1扇区开始的3个扇区),存入长度为1536字节的缓冲区3;步骤14.读取步骤1中保存的FAT32引导扇区,存入长度为1536字节的缓冲区4;步骤15.因为缓冲区4中的磁盘参数不是根据指定磁盘生成的,所以有必要根据缓冲区3中的数据,对缓冲区4中的数据进行修正。将缓冲区3中0×0b位置开始的长度为71字节的数据(磁盘参数表)写入缓冲区4,开始位置为0×0b处。将缓冲区3中0×200位置开始的长度为512字节的数据(FAT32数据)写入缓冲区4,开始位置为0×200处。将缓冲区4中0×1c开始的4字节整数(代表隐藏扇区数)置为与0×18开始的2字节整数(每磁道扇区数)相等的数值。将缓冲区4中0×40位置的1字节(驱动器号)置为0×80(代表第一块硬盘)。
步骤16.将缓冲区4的内容写入FAT32引导扇区(指定硬盘0柱面0磁头1扇区开始的3个扇区);步骤17.将系统文件复制到分区上,即在新创建的分区上写入DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM,然后结束。
此时计算机可以从新创建的硬盘分区上直接引导DOS系统,并执行DOS下的各种程序。
在即将推出的万全服务器导航软件中应用了本发明。本发明的软件完全建立在一张光盘上,通过光盘启动,自动引导光盘上的Linux环境,并在该环境下对服务器进行配置,使得服务器可以自动完成Windows NT或Windows 2000的安装。其中对服务器硬盘进行分区和格式化部分使用了本发明,在服务器的硬盘上创建一个可引导DOS的FAT或FAT32分区,并预置操作系统安装所需文件。之后取出光盘,由服务器自行启动,服务器从该分区引导DOS系统,自动执行预置的操作系统安装程序,完成Windows NT或Windows 2000的安装。
最后所应说明的是以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种创建可引导分区的方法,其特征在于至少包括,步骤1.获取主引导记录及引导扇区,保存为文件;步骤2.对指定硬盘进行分区和格式化;步骤3.读取指定硬盘的主引导记录及引导扇区;步骤4.根据指定硬盘的主引导记录及引导扇区的内容,修正步骤1中保存的主引导记录及引导扇区;步骤5.将修正后的主引导记录及引导扇区写入指定硬盘;步骤6.将系统文件复制到分区上,结束。
2.根据权利要求1所述的创建可引导分区的方法,其特征在于所述步骤1的主引导记录及引导扇区从已经用DOS系统分区格式化好的硬盘上读取,读取后保存为数据文件,供以后步骤使用。
3.根据权利要求1所述的创建可引导分区的方法,其特征在于所述步骤2的对指定硬盘进行分区和格式化,可以通过Linux系统命令进行,分区必须为指定硬盘的第一分区。
4.根据权利要求1所述的创建可引导分区的方法,其特征在于所述步骤4的修正主引导记录及引导扇区,至少包括首先判断数据格式,即判断是否为FAT32格式;如果是,则分别读取FAT32引导扇区,及FAT32引导扇区文件到缓冲区,用缓冲区中FAT32引导扇区对缓冲区中的FAT32引导扇区文件的内容进行修正;如果不是,则对FAT引导扇区的内容进行修正,分别读取FAT引导扇区,及FAT引导扇区文件到缓冲区,用缓冲区中FAT引导扇区对缓冲区中的FAT引导扇区文件的内容进行修正。
5.根据权利要求1所述的创建可引导分区的方法,其特征在于所述步骤6的将系统文件复制到分区上,是在新创建的分区上写入DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM。
全文摘要
一种创建可引导分区的方法,至少包括,步骤1、获取主引导记录及引导扇区,保存为文件;步骤2、对指定硬盘进行分区和格式化;步骤3、读取指定硬盘的主引导记录及引导扇区;步骤4、根据指定硬盘的主引导记录及引导扇区的内容,修正步骤1中保存的主引导记录及引导扇区;步骤5、将修正后的主引导记录及引导扇区写入指定硬盘;步骤6、将系统文件复制到分区上,结束。本发明实现了在Linux下直接创建可引导DOS系统的FAT和FAT32分区,一方面简化了用户的手工操作,另一方面解决了需要自动执行此功能的系统面临的无法创建可引导分区的问题。
文档编号G06F9/445GK1512349SQ0215949
公开日2004年7月14日 申请日期2002年12月31日 优先权日2002年12月31日
发明者陆宽, 邵苏毅, 柯妍, 陆 宽 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1