fzwwh
驱动牛犊
驱动牛犊
  • 注册日期2002-02-26
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1628回复:5

请教问题

楼主#
更多 发布于:2002-04-29 14:49
我想把自己的一段应用程序加在WIN9X的启动画面之前。具体要完成的是,我装有两块都是MASTER方式的硬盘(当然,同一时刻只能有一个硬盘启动工作,我做了一个硬件控制电路用来控制它们),电脑开机自检后,我想先跳出我的程序画面用于选择启动硬盘,选择之后即出现WIN9X的启动画面,之后正常。
我可以作的是:
通过修改MSDOS.SYS、AUTOEXEC.BAT,我可以作到WIN9X画面不出现,系统启动时只有自己的程序画面。但我真正意图是WIN9X启动界面也要出现,只不过严格控制在应用程序之后。(顺便提一点,WIN98第一版通过修改MSDOS.SYS、AUTOEXEC.BAT可以作到,但第二版会先瞬间弹出启动界面,再运行应用程序。所以我想从根本上解决这个问题。)
我目前的想法是:
1、 通过接管主引导程序来实现。此方法涉及主引导,我尚未有类似编程经验,不敢轻易动手。
2、 通过修改IO.SYS文件来实现。因为系统是在主引导过后,调用IO.SYS时才出现WIN9X启动画面,并且启动画面的LOGO.SYS文件就是在IO.SYS中指定的。修改IO.SYS文件比修改主引导应该更合适,但我不知如何修改IO.SYS,增加我的应用程序部分。

  我请教了清华的一个朋友,他又请教了他的一个朋友,得知这是一个典型的静态VXD程序,但如何具体实现,尚不知道。现请教各位高手,我应如何做?谢了!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-29 16:25
你还是修改MBR的引导程序吧!MBR程序也没什么的!就是启动的时候判断一下哪个是引导分区,然后把引导分区的BOOT程序加载,就是把该分区的第一扇读进内存!然后把控制权交给它,不过要注意一下的是加载的时候的物理地址要对就可以了!并且MBR程序也小,就那么512字节,并且其中有很多字节也不是程序的字节!
lyabcd
驱动大牛
驱动大牛
  • 注册日期2001-08-09
  • 最后登录2015-10-01
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-02 11:26
具体讲讲
datongguandian@sina.com
Supermi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-20
  • 最后登录2014-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-03 12:15
为什么不看看LINUX的BOOTSEC。S(好象是吧,记不清名字了)。这个启动代码是用来放在MBR来引导操作系统的,不是很难,你只要在它基础上改一改就好了。
asmsys
驱动老牛
驱动老牛
  • 注册日期2002-03-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望17点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-05 14:25
在NT下试试。
fzwwh
驱动牛犊
驱动牛犊
  • 注册日期2002-02-26
  • 最后登录2002-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-09 15:03
NT免谈,在NT下用不着这么费神。
游客

返回顶部