ko20010214
版主
积分 7294
发帖 1628
注册 2002-10-16
状态 离线
|
『楼 主』:
关于WIN98DOS盘的启动画面问题....[转帖]
发信人: DrumMania (-*BLISS*-鼓舞飞扬-), 信区: DOS
标 题: [合集] 关于WIN98DOS盘的启动画面问题....
发信站: BBS 水木清华站 (Sun Jun 8 01:50:09 2003), 站内
☆─────────────────────────────────────☆
planets (我是早起的乌鸦,虫子快过来。) 于 (Thu Jun 5 08:18:31 2003) 提到:
有什么办法把那个启动画面去掉?不是进行WIN98操作系统.
在WIN98下做的DOS启动盘在启动时总有一个启动画面,就是那个
WIN98的蓝天白云画面,通过什么办法可以让它不显示那个画面?
望各位大侠指点.....
☆─────────────────────────────────────☆
NDD (Null Data Detected) 于 (Thu Jun 5 15:52:59 2003) 提到:
SEE 2060
有一些工具可以改变那个画面
似乎前面我有文章讲了的
你把启动画面改成’黑面‘就可以了
☆─────────────────────────────────────☆
planets (我是早起的乌鸦,虫子快过来。) 于 (Thu Jun 5 16:29:21 2003) 提到:
因为我在AUTOEXEC.BAT中启动一个
DOS下执行命令,把系统引导到另外一外
操作系统VXWORKS,所以不存在该程序返回DOS
系统的情况, 所以在用AUTOEXEC.BAT
自动执行这个命令时, 那个启动画面一直存在,
而实际上已经启动到另外的那个操作系统下面,
(因为我后来先进入DOS下,手动执行那个DOS
命令,确实可以进入另外的操作系统)
不知道如果用DOS6.22的话,会不会存在
相同的问题.黑屏我也不想要啊, 我是想让它显示出
程序自动执行的情况.
☆─────────────────────────────────────☆
NDD (Null Data Detected) 于 (Thu Jun 5 16:36:35 2003) 提到:
改MSDOS。SYS
的BOOTLOGO域
☆─────────────────────────────────────☆
JiLiu (紀柳~~短天扇) 于 (Fri Jun 6 17:06:17 2003) 提到:
我记得没有啊
那张图片也100多k那
放在软盘上多浪费呀
98的启动盘肯定没有
☆─────────────────────────────────────☆
ko20010214 (ko20010214) 于 (Sat Jun 7 13:08:43 2003) 提到:
有关IO.sys的问题和logo.sys的问题可以到联合DOS论坛的启动盘区去看看。
首先,在win98的启动盘里是没有logo.sys这个启动图片的。
其次,在默认的win98的启动盘里(指启动软盘)由于msods.sys只有0字节或6字节或
9字节,它不会让win98启动软盘在启动时加载启动图片。
第三,win98的启动图片(默认的那张蓝天白云)以压缩的形式存放在IO.SYS里。
第四,要让你的启动过程中不出现启动画面,只要在msdos.sys中修改
logo=1这一行为logo=0就可以了。
第五,win98的启动图片(默认的那张蓝天白云)以压缩的形式存放在IO.SYS里,是可
以删除的。具体请看wengier的帖子:大好消息:IO.SYS已被正式“减肥”为123KB
现在正式宣布:经过我的一番研究和实践,经过去掉LOGO和修改文件头信息的方法
,现已正式将MS-DOS 7.10的IO.SYS“减肥”为123KB(125,960字节),以减少高
达100K的磁盘空间占用。经过试验证明,它不仅能在硬盘中启动,而且能在软盘中
启动了!以后大家已可以正式将它放在自己的启动盘中了,
具体帖子内容请看:
http://www2.zzu.edu.cn/ie/newdos/dispbbs.
asp?BoardID=11&id=1916&replyID=10074
☆─────────────────────────────────────☆
cassette (盒式录音带) 于 (Sat Jun 7 17:59:05 2003) 提到:
修改IO.SYS这个牛!
不知道win98在启动的过程中以INT 21/AH=4B "执行"了IO.SYS
那一步是干什么的?
☆─────────────────────────────────────☆
Su33 (海侧卫) 于 (Sat Jun 7 23:23:36 2003) 提到:
试验了一下,的确在IO.SYS里面存在压缩的LOGO图像。
初步工作将这个文件切短,可以去除Logo, 目前没有发现问题, win98
也启动了。
我的系统是 win98 SE, IO.SYS 大小224150字节,分析文件结构:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 00006B96H 224,150 bytes
DOS Load Size: 00006B96H 224,150 bytes
MZ EXE header size: 2EA0H 190,976 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
注意到系统启动过程中这个文件作为EXE被运行了一次,作用我估计是
跟windows有一些关系的。如果修改了EXE文件头,让运行出错,则win98会
给出警告(不过系统还是能运行)
因为系统的代码实际上包含在“文件头”部分,把后面的Program切掉
不影响启动。
然后用soft-ice跟踪win98的启动,拦截INT 21H, 发现了有一步AH=3D
打开"\LOGO.SYS",这里就跟logo相关了。打开失败以后,屏幕就切换到了
图形模式。
再次跟踪,拦截INT 10H, 发现一个AH=1A调用,不知道干啥的。随后
有一个84E4:9D27的地方CALL A000,像个比较大的过程,跟进去很长都没出来。
分析怀疑这是一个解压缩的子程序。完了以后后面似乎有一串文件格式检查
的指令。
必须看IO.SYS是怎么载入内存的,于是再次用INT 13拦截跟踪。当AH=2
和AH=42时候中断。找到一个读入次数比较多的地方在9000:0660. 然后重新
跟踪,记录这里的每次读写位置,大小。大致可以看出是按照顺序读取的。
再跟踪,记下“解压”部分的源数据和输出数据的地址,分别是DS=1E51
和ES=0221段,从SI=DI=0000开始的。为了检验假设,用一个BMP做成logo.sys
放在C:\下面启动,发现文件被读入的位置也是在DS=0221段。
再跟踪,设置断点为向 1E51:0000 DWORD 写的时候中断。 在9000段某处
停下了。东西是被先读到9000段再写到1E51段上去的。跟前面记录的读盘对照,
大约是吻合的。
于是再设置断点到 84E4:9D27, 记录下1E51:0000开始的十几个数据。回到
DOS, 用QVIEW打开文件,搜索这些字符。在offset 1E610H的地方找到了。
用汇编模式从那里往后翻到尾,大概没什么程序代码,都是乱的指令。于是将
文件从此处切断。
重新启动,成功。
现在IO.SYS变成124432字节,那段Program还没接上去。
☆─────────────────────────────────────☆
ko20010214 (方少) 于 (Sat Jun 7 23:39:09 2003) 提到:
看来你的DEBUG功底颇深啊。
的确,在IO。SYS里有一段是解压图形的代码。
如果能找出它是如何压缩和解压这个图形的话,
就可以把任意的logo.sys压缩后放进io.sys里,可以DIY出自己的开机画面
而不需要另加logo.sys,又浪费100多K的软盘容量了。
呵呵。。。压缩了的总比没压缩的小一点吧。
真的弄出一个这样的软件来,那真是功德无量啊。
加油!
☆─────────────────────────────────────☆
DrumMania (-*BLISS*-鼓舞飞扬-) 于 (Sat Jun 7 23:41:51 2003) 提到:
有这样的软件的!!我还用过
可惜我忘了名字了...
☆─────────────────────────────────────☆
Su33 (海侧卫) 于 (Sat Jun 7 23:42:56 2003) 提到:
从汇编代码推算压缩算法,实在太难。
要改变算法的话难度就在于改变代码。因为这是操作系统程序,
没有DOS环境,内存怎么规划的根本就不知道。否则的话可以自己把
解压后的东西压回去存储。
☆─────────────────────────────────────☆
AyuanX (水树::无知也有无知的快乐,可是我想要更多) 于 (Sun Jun 8 00:13:27 200
我觉得这个话题越来越有趣了,不错
☆─────────────────────────────────────☆
Su33 (海侧卫) 于 (Sun Jun 8 00:23:07 2003) 提到:
忽略了一个问题,文件被切短以后磁盘上的扇区内容还是没有变。
所以不能证明对于启动没有影响。 必须重新将文件copy处理看看。
☆─────────────────────────────────────☆
Su33 (海侧卫) 于 (Sun Jun 8 00:32:09 2003) 提到:
重写了这个文件, 启动成功!
下一步将Program加上去试试.
☆─────────────────────────────────────☆
Su33 (海侧卫) 于 (Sun Jun 8 01:12:24 2003) 提到:
将原文件尾部的 33174 个字节截取出来加到新生成的 IO.SYS文件后面,
然后修改EXE的文件头, 将重新计算的文件大小写进去, 文件头长度是文件长度
减去 33174 以后的大小。
最后的结果:
EXE file infomation utility, created by Felix Ge.
------ DOS MZ EXE file ------
File checksum: 0000H
Minimal Extra Memory: 0362H 13,856 bytes
Maximum Extra Memory: FFFFH 1,048,560 bytes
Initial CS:IP 07F3:0010
Initial SS:SP 0835:0080
Relocation counts: 0000H 0 entry
Relocation table entry: 001EH 30(dec)
Overlay number: 0000H
File length: 000067A6H 157,606 bytes
DOS Load Size: 000067A6H 157,606 bytes
MZ EXE header size: 1E61H 124,432 bytes
Image(Program) size: 33,174 bytes
Extra bytes(Overlay): 0 bytes
在没有弄清楚那段EXE代码究竟是干什么之前还是不轻易去掉。当然
如果只是用作DOS启动盘,那33174个字节还是可以省的了。
☆─────────────────────────────────────☆
ko20010214 (方少) 于 (Sun Jun 8 01:20:59 2003) 提到:
您说的软件是制作logo.sys的吧?
把一般的BMP做成logo.sys,然后放在根目录中,就可以得到个性化的
LOGO了。
但这里说的是把logo.sys按IO.SYS里的压缩格式压缩到IO.SYS里去。
有这样的软件吗?
【 在 DrumMania (-*BLISS*-鼓舞飞扬-) 的大作中提到: 】
: 有这样的软件的!!我还用过
: 可惜我忘了名字了...
☆─────────────────────────────────────☆
ko20010214 (方少) 于 (Sun Jun 8 01:23:46 2003) 提到:
这个压缩据说是dblspace的压缩方式。
可是dblspace的压缩方式是啥样的我也不知道。
在联合DOS论坛的启动盘和logo区里有这方面的讨论,可以参考一下。
虽然没有什么结果。呵呵。。。
【 在 Su33 (海侧卫) 的大作中提到: 】
: 从汇编代码推算压缩算法,实在太难。
|
ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
|
|