中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 12:18
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 哪位朋友研究过再次引导计算机启动? 查看 1,222 回复 9
楼 主 哪位朋友研究过再次引导计算机启动? 发表于 2007-06-18 00:36 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
比如先让计算机启动到自己的OS,在这里里面有控制界面。输入密码正确之后,再让计算机启动到自己的操作系统。
原来俺使用int19,但是再很多机器上都不能使用。死机呀。
不知道有没有其他的什么更好的办法呀!
2 发表于 2007-06-18 22:24 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
高手呀,指点一下吧。
3 发表于 2007-06-27 18:27 ·  中国 山东 聊城 电信
系统支持
★★★
积分 1,011
发帖 435
注册 2007-02-08 00:00
19年会员
UID 78999
性别 男
状态 离线
这就是相当于GDLDR LILO之类的东西 可以参考Aero实现。反汇编一下
4 发表于 2007-07-25 19:50 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
  如果在实模式下,而又没有其他TSR程序(或者说中断向量表没被修改过),可以通过INT19H重新载入MBR启动,或者用GRUB载入其他系统,如果中断向量表被改过则很有可能死机,你只好通过JMP FAR FFFF:0000完全重新启动。
  在保护模式下,由于内存访问模式不再是段:偏移量,而是平坦模式,上述可能无效或导致不可预知的后果。
5 发表于 2007-07-26 16:37 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
在实模式下,我是不是可以先把中断向量表保存到其他位置,在准备重启时,
把中断向量表恢复一下,之后把MBR读到7c00处,再跳到7c00处执行。
也就是模拟一下刚刚启动的时刻。

不过,可惜的是,恢复中断向量表时就死机了。
不知道哪位高手告诉俺可能的原因在哪里呢??

十万个敬意送给你们呀!
6 发表于 2007-07-26 18:44 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
把MBR读到7c00处,已经覆盖了DOS重要的数据区,然后你又恢复了DOS一大堆中断,不死机才怪呢!中断向量只是一个指针,它指向的内容很多都被破坏了,你再恢复它有啥用?想弄开机密码你可以用BIOS密码,也可以用GRLDR内置密码,你这样到处乱改重要内存区的内容不是故意整死机吗?
7 发表于 2007-07-26 23:18 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
首先是可以读MBR到7c00处的,这个时候不会引起死机。
就是在恢复中断向量表时,死机。
我猜测的原因是,可能DOS用到了他的一些中断,我在恢复时造成他们死机。

可是我怎么才可以不引起它死机呢??
8 发表于 2007-07-27 01:25 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
你处理方法就有点象只备份分区表,切把整个硬盘的内容全清除了,你说这种情况,你即使恢复分区表能启动吗?你酱紫想不死机基本上不太可能。对于有TSR驻留(特别是挂接键盘、定时中断的程序)的情况下,用GRUB重新载入系统都会死机。
9 发表于 2007-07-27 01:30 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
另外,你一乱修改中断向量表,不要说是调用DOS了,定时中断及一些挂在定时中断上的DOS中断马上就飞了。建议你多看看TSR的编写及DOS的内存调度机制这些方面的资料。

[ Last edited by netwinxp on 2007-7-27 at 01:36 AM ]
10 发表于 2007-07-28 01:13 ·  中国 北京 昌平区 联通
高级用户
★★
积分 506
发帖 187
注册 2005-12-04 22:41
20年会员
UID 46500
性别 男
状态 离线
谢谢呀,我现在正在学习这个方面呢。所以呢还是确实有很多不了解的地方。
不过还是谢谢了。
论坛跳转: