win2000启动菜单实现windows全家福( 三 )


由于这一步我们是在只读模式下做的,不会对硬盘做任何修改,所以操作是安全的 。

三:增添win2000启动菜单

这一步对于已经有了win2000启动菜单的朋友可以不做 。
增添win2000启动菜单也可以用diskedit,方法是找一台装有win2000的机器(不过要求是对方的计算机的C盘同你的C盘格式相同,即fat16对fat16;fat32对fat32)用diskedit备分下它的dos引导记录,然后复制下3EH到1FH间的数据(采用fat16时),如果是fat32则复制5AH到1FH间的数据,覆盖掉你c盘主引导记录的相应部分 。
此法有一定的危险性 。做错时可能造成你的机器启动不了,所以我不推荐 。如果想试试的朋友在做了错误的操作后使硬盘启动不了的话,可以用你的启动盘启动,然后sys c:就可以复原 。
方法二就是用bootpart来操作这一步骤 。很简单,在dos下执行
bootpart winnt boot:c:
四:对逻辑分区的启动文件做最后修改
执行完步骤三后,重启机器我们已经能够顺利启动win2000,win95和软盘启动了 。但一执行win98,winme就会报错并退回菜单 。这是因为win2000不支持从逻辑盘启动系统所造成的 。所以,我们现在就进入本文最关键的部分,修改win98.bin和wimme.bin使win2000支持从逻辑盘启动 。
dos下进入diskedit,按alt t选择其下的configuration(配置),按空格键将第一个选项read only取消,然后按TAB选save 。(放心,我们只是对文件作16进制改写操作,即使改错了也没有危险 。)
选择drive c:,按alt B键读取C盘引导记录,记下big total number of sectors的值,同样,再选drive d:,按alt B读取D盘引导记录,也记下big total number of sectors的值 。注意,记录此值时你得先确保special hiddle secters的值是63才能做,如果不是请先退出并用sys传送系统到d盘和e盘 。
为说明清楚,我现在假设你的这两个值如下:
c: big total number of sectors= 1959867;
d: big toral number of sectors= 4482072
我们来做个计算:1959867 63*2=1959993,转成16进制=1DE839,改过游戏的朋友可能都会知道,微机上记录这此数据总是低位在前,高位在后,所以此值我们下面填入win98.bin时该为:39 E8 1D,具体位置是win98.bin的1CH处,原值是3F 00 00,请用diskedit调入win98.bin并做此修改 。
当然,你也可以算出此值后用其它的16进制编辑器修改 。比如用你们常用的修改游戏的工具uledit32来做这步工作 。
winme.bin的修改与上面的修改有所不同,应该加上前面的所有sys分区后的big toral mumber of sectors的值 。所以,winme.bin的这个值=1959867 4482072 63*2=6442065=624C51H,修改时在winme.bin的1CH处填入51 4C 62

五:修改完成后,我们来做最后的设置工作以启动逻辑盘D和E的win98、winme进入windos,将D盘、E盘的系统文件msdos.sys,command.com更名为msdos.98,command.98(D盘)、msdos.me、command.me(E盘),并拷贝到系统的根目录 。为便于切换,请不要设置这些文件的只读,隐藏属性 。对于msdos.sys这个文件,还要修改其中的相应盘符,换成你现在你的win98和winme的安装盘符 。由于相对简单,就不举例了 。

(1)在c:盘根目录下建autoexec.98,autoexec.me两个文件,内容如下:
c:autoexec.98
@echo off
set windir=d:windows
set winbootdir=d:windows
set comspect=d:windowscommand.com
set path=d:windows;d:windowscommand
set temp=d:windowstemp
set tmp=d:windowstemp
del c:err
;这是作为以后防止重复执行变换文件加的,请在你的所有autoexec.bat文件中加入此行,c盘没有autoexec.bat也请建一个,并加入这一行 。
autoexec.me的修改仿此进行 。如果你有config.sys也请做类似乎修改 。
(2)在安装的各个系统的桌面上建立以下切换文件的快捷方式