中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何确定系统的启动模式? 上一主题 | 下一主题
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『楼 主』:  如何确定系统的启动模式?

To All:

    我正在做一个批处理程序,其中需要确定最近一次的系统启动模式是以下
           1,冷启动
           2,热启动
           3,复位启动
    等三种模式中的一种。请问用何种途径可以解决?   
     
            




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2003-4-1 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mys
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 2 楼』:  

问题是,这三种启动模式在计算机的那里留下了记录信息?
实际上,这三种启动模式并不会在计算机内部留下任何有差异的记录信息。因此不可能对这三种模式进行判断。



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2003-4-2 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 3 楼』:  

To mys:

    应该有所区别。

    据说热启动与冷启动的区别,是热启动时不会再重新校验内存,当然可能二者都会将内存清零,但至少说明二者所引用的BIOS的程序入口是不同的,而且前者没有加电的过程,我想知道有没有什么硬件端口或CMOS芯片可以记录这些不同。





※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2003-4-4 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
LanE
银牌会员




积分 1833
发帖 648
注册 2002-11-8
状态 离线
『第 4 楼』:  

我记得好象是在内存的某个位置作了记号,但是由于程序运行的时候回读写内存,所以不太可能的。

2003-4-4 00:00
查看资料  发送邮件  发短消息 网志  OICQ (9367907)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 5 楼』:  

终于找到判断的方法了。用一个叫作OnBoot的软件就可以轻易解决问题了。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2003-5-3 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
LanE
银牌会员




积分 1833
发帖 648
注册 2002-11-8
状态 离线
『第 6 楼』:  

老大发上来吧

2003-5-3 00:00
查看资料  发送邮件  发短消息 网志  OICQ (9367907)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 7 楼』:  

Re Wengier:

    我前一段时间找到过onboot,可经过在我原来的avi的386笔记本上测试,它将热启和冷启均认为是冷启,是机型的问题吗?那台本没有复位键,ami的bios。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-2-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re Wengier:

    终于找到一点资料,在内存低地址处的BIOS通讯区存在一个标记字:

    0040:0072 处的双字节内容在复位或冷启时,为0000h,在CAD热启时为1234h。

    不过我怀疑在WINDOWS的保护模式下,此处是否可以直接存取。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-2-5 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
walu
高级用户




积分 916
发帖 201
注册 2003-5-4
状态 离线
『第 9 楼』:  

究竟怎样解决的,willsort能说说吗?
还有版主介绍的onboot这个软件我试了一下,但不知怎样用,版主能教教吗?
我是这样用的:
onboot warm goto ok

k
echo ok!

但当热启动时,竟然不会跳到OK处显示OK

2004-2-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
笑傲江湖
初级用户

鹰击长空


积分 271
发帖 61
注册 2003-8-20
状态 离线
『第 10 楼』:  

楼上讲的没错,

在BIOS数据区有这样一个标记字:
0040:0072 word 复位或冷启时,为0000h;
在热启时为1234h;
这部份为BIOS数据区,不会被其它程式占用。

   




适合的,就是最好的!
DOS,永远的初恋情人。
2004-2-20 00:00
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
allan^
初级用户




积分 110
发帖 5
注册 2004-3-23
状态 离线
『第 11 楼』:  

也有可能是4321h,或者是0064h,这里还是稍微有点区别的。

40:72h 的地方,
0000h  cold boot 检查内存,所有内存内容丢失。
1234h  warm boot 忽略内存检查,所有内存内容可能丢失。
4321h  warm boot 忽略内存检查,RAM保持不变。
0064h  BIOS 循环测试

另外,大多数notebook的BIOS都会提供一个记录,叫做Powerlog,这个LOG有一个,到两个BYTE,是写在EEPROM里的,他记载了前几次开机的情况。当中就会是冷启动,还是热启动,是正常关机还是非正常关机,甚至是不是WINDOWS关机都可以知道。比如DELL的机器就都会有这个LOG。

2004-3-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 12 楼』:  

Re allan^:

    请问,你所说的这些,是不是与BIOS的版本有很大关系?比较老的机型(比如我提到的AVI386或者其他386级别的台式机)上有没有相关的记录或者字节内容。

    另外,我用DEBUG实际观测了一下不同情况下42:70的字节内容,共实验了三台不同机型的机器,包括两台笔记本和两台台式机。每次都是进入WINDOWS的DOS实模式,发现无论冷启,热启,复位启其内容均为0000,请问是何原因?

    最后,想问一下allan^兄,可以在什么地方找到详细的相关资料?不胜感谢!




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-3-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
allan^
初级用户




积分 110
发帖 5
注册 2004-3-23
状态 离线
『第 13 楼』:  

POWER LOG的确和BIOS的关系很大,老的BIOS应该是不支持的。

另外,在BDA(BIOS DATA AREA)中的42:70的改写,是在实模式下有效,而不是WINDOWS的Vx86模式下的,WINDOWS下已经不用这个地方了。
建议你用纯DOS环境,比如DOS6.22来验证。

关于BDA的部分,在Frank van Gilluwe写的The Undocumented PC(PC技术内幕)有讲解。至于POWERLOG,我想在目前市面上的书籍里应该不会有提到。

2004-3-24 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 14 楼』:  

Re allan^:

    很抱歉,前段时间一直很忙,没有及时回复。

    你说的纯DOS环境应该是指不加载EMM386的实模式DOS环境吧?我会回去试试,希望有效。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-4-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: