LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1147|回复: 4

如何让Windows“重新启动”直接执行MBR

[复制链接]
发表于 2004-7-13 10:18:36 | 显示全部楼层 |阅读模式
Windows正常的重启肯定是要进行BIOS自检,然后读取MBR,此时就进入grub(当然是有grub的情况下),我现在不希望Windows“重启”进行BIOS自检,也就是直接将某些设置配置为已经开始读取MBR状态。
不知这样做是否可行?请赐教。万分感谢。
发表于 2004-7-21 16:21:00 | 显示全部楼层
感觉好像层次不同,应该不可以吧。你指的是给BIOS作一个简单的屏蔽还是真正的跳过BIOS自检?
发表于 2004-8-5 14:52:54 | 显示全部楼层
按住shift?算不算
发表于 2004-8-5 18:26:25 | 显示全部楼层

回复: 如何让Windows“重新启动”直接执行MBR

最初由 jamesxuruo 发表
Windows正常的重启肯定是要进行BIOS自检,然后读取MBR,此时就进入grub(当然是有grub的情况下),我现在不希望Windows“重启”进行BIOS自检,也就是直接将某些设置配置为已经开始读取MBR状态。
不知这样做是否可行?请赐教。万分感谢。

重启分为软重启和硬重启。

硬重启

Intel的IBM PC上i386芯片是遵循Intel与IBM共同制定的Boot协议的。

1. PC机的复位线和系统中的所有部件相连,包括CPU的RESET引脚

2. 系统上电开机时,主板电源系统发送低电平的"ower Good"信号,该信号送到复位接口电路的#RES端,产生时钟同步的复位正脉冲信号RESET,该脉冲发送到上面提及的复位线上,经由CPU的RESET引脚被CPU采集到,当正脉冲从1返回0时(下降沿),CPU启动内部初始化程序,初始化完成后进入实地址模式,其中CS:IP寄存器的状态是CS=F000H,IP=0000FFF0H;显然,CPU自初始化完毕后,系统的真正启动才开始,那么,也决定了第一条指令的地址为CS:IP=F000:FFF0H=FFFF0H单元。

3. 与此同时,IBM开机协议规定,RESET时,BIOS ROM被加载到F0000H~FFFFFH,几乎所有BIOS在FFFF0H的指令为JMP BINI,这个BINI就是BIOS启动程序的首地址了

4. 结合2,3两点,PC机开机后的第一个程序就是BIOS启动程序了,这个启动程序的执行流程分为二步:
  I.   POST(Power On Self Test)
  II.  按BIOS设置好的顺序逐一尝试加载启动媒体(硬盘,光驱,软驱,USB盘)的启动程序。对于我们常用的硬盘,则把0面,0道,1扇区的内容(512字节),也就是我们说的MBR加载到0000:7C00H单元开始的区域

软重启
按下Ctrl+Alt+Del,产生INT 19h中断,直接进行上面提及的4.II步,也就是说,软重启跳过了POST!

无论是哪种操作系统,它们所谓的重启都是软重启,都跳过了POST!
发表于 2004-8-6 09:44:41 | 显示全部楼层
楼主想做什么?双win9x启动?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表