中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-01 18:40
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,249 会员排行
DOS开发编程 & 发展交流 (开发室) » 问一个关于系统重新引导的问题。
可打印版本  992 / 1
第1楼 zhgwbzhd 发表于 2006-04-03 11:31
高级用户 发帖 187 积分 506
问一个关于系统重新引导的问题。
我现在做了一个小东西。
C盘安装了2000,FAT32格式。D盘安装了dos(Win98盘格式化了一下)。
MBR是从C盘的win2000启动。
通过修改C盘的引导扇区的引导代码。
目前可以这样实现:
第一种情况:在引导代码中修改MBR的分区表信息,让D盘成为自举。并读取D盘的引导扇区(标准的)到7c00处,并跳转到7c00处。此时dos可以正常启动。
第二种情况:在引导代码中直接读取C盘的引导扇区(标准的)到7c00处,并跳转到7c00处,此时2000可以正常启动。
但是我想实现第三种情况,目前不可以,高人给指点一下。
首先在C盘的引导代码种修改MBR的分区表信息,让dos启动。(类似第一种情况)
在dos下更改MBR和C盘的引导扇区,让其读取自己标准的扇区。(类似第二种情况)
之后利用中断19重新引导MBR,让其从dos可以直接跳转到2000启动。
我得现象是死机。
第2楼 DOSforever 发表于 2006-04-11 14:50
金牌会员 发帖 2,239 积分 4,639
可能你自认为已经把问题描述清楚了。但我看得还很累,没完全看明白。

按照我的理解你是不是这样:

1、你的分区状况:
C盘为第一个主分区,D盘为第二个主分区,没有扩展分区

2、你想达到的目的是实现多重启动 MS-DOS 7.1 和 Win2000

MBR是从C盘的win2000启动。

这句话我认为你的表述有问题,是先读取MBR然后才是启动C盘的Win2000,而不是相反。

3、然后你再想用你自己修改过的C盘的分区引导扇区中的代码反过来再修改MBR中的自举标志,使得第二个主分区标记为可引导,从而启动 DOS。如果不修改则启动 Win2000。对不对?

4、你现在想实现的是在启动 DOS 后不重新启动机器的情况下启动 Win2000

首先让我们搞明白你的这些状况和用意,然后再作进一步讨论。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023